Problemas ao enviar o formulário para a Servlet

2 respostas
gustavo_mb

Olá pessoal!
Eu estava a fazer um pequeno CRUD web, para relembrar os conceitos de servlet. Porém, me deparo com o seguinte erro, ao enviar o formulário:

Console
Fev 19, 2012 1:06:37 PM org.apache.catalina.core.ApplicationContext log
Informações: Marking servlet CadastrarUsuarioServlet as unavailable
Fev 19, 2012 1:06:37 PM org.apache.catalina.core.StandardWrapperValve invoke
Grave: Allocate exception for servlet CadastrarUsuarioServlet
java.lang.ClassNotFoundException: br.com.crudweb.model.Usuario
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
	at br.com.crudweb.servlet.CadastrarUsuarioServlet.<init>(CadastrarUsuarioServlet.java:15)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at java.lang.Class.newInstance0(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:125)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1136)
	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:857)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

Fev 19, 2012 1:07:28 PM org.apache.catalina.core.StandardContext reload
Informações: Reloading Context with name [/CRUD_Web] has started
Fev 19, 2012 1:07:29 PM org.apache.catalina.core.StandardContext reload
Informações: Reloading Context with name [/CRUD_Web] is completed

Abaixo, como está o meu código:

CadastrarUsuariosServlet.java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.com.crudweb.model.Usuario;


@SuppressWarnings("serial")
public class CadastrarUsuarioServlet extends HttpServlet {
       
	
	
	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		this.service(request, response);
	}

	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		this.service(request, response);
	}

	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		Usuario usuario = new Usuario();
		usuario.setNome(request.getParameter("nome"));
		usuario.setEmail(request.getParameter("email"));
		usuario.setSenha(request.getParameter("senha"));
		System.out.println(usuario.getNome());
	}
}
Usuario.java
package br.com.crudweb.model;

public class Usuario {

	private long id;
	private String nome;
	private String email;
	private String senha;

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

}
cadastro.jsp
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>Cadastro de Usuários</title>
	</head>
	<body>
	
		<form action = "cadastro" method = "post">
		
			Nome: <br />
			<input type = "text" name = "nome" /><br />
			E-mail:<br />
			<input type = "text" name = "email" /><br />
			Senha:<br />
			<input type = "password" name = "senha" /><br />
			
			<input type="submit" value = "Cadastrar!" />
		</form>
		
	</body>
</html>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>CRUD_Web</display-name>
  
  <welcome-file-list>
    <welcome-file>cadastro.jsp</welcome-file>   
  </welcome-file-list>
  
  <servlet>
  	<servlet-name>CadastrarUsuarioServlet</servlet-name>
  	<servlet-class>br.com.crudweb.servlet.CadastrarUsuarioServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>CadastrarUsuarioServlet</servlet-name>
  	<url-pattern>/cadastro</url-pattern>
  </servlet-mapping>
  
</web-app>

Não consegui identificar o problema até agora. O que está errado? :?

2 Respostas

gustavo_mb

Ninguém pra ajudar? :?

Ultimamente, todas as dúvidas que posto no fórum ficam sem resposta. :frowning:

gustavo_mb

Ninguém??? :shock:

Meu problema é com o TomCat 6, todas as tentativas estão dando o erro postado no tópico(ou não localiza as páginas/servlets). Usando o @WebServlet no TomCat 7 consegui rodar minhas aplicações. Mas acredito que não estou mapeando errado o web.xml no 6. E estou precisando descobrir o motivo, pra upar o projeto em um host free que dá suporte apenas a versão 6 do TomCat.

Criado 19 de fevereiro de 2012
Ultima resposta 21 de fev. de 2012
Respostas 2
Participantes 1