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:
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.javaimport 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());
}
}
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;
}
}
<?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>
<?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? :?
