Wrapper cannot find servlet class

4 respostas
A

Boa tarde galera, procurei em todo o forum e em outros lugares tambem mas nenhum dos resultados que encontrei me ajudaram.
Estou começando com desenvolvimento java web e me deparei com um erro numa servlet, sendo este o erro: "Wrapper cannot find servlet class". Já verifiquei varias vezes o caminho da classe declarada no mapeamento da servlet, já verifiquei o nome do pacote em que a servlet está inserida e aparentemente está tudo correto.
Agradeço se alguem puder me ajudar, vou postar os codigos abaixo:

Código da servlet:
package br.com.agenda.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.com.agenda.dao.ContatoDAO;
import br.com.agenda.entity.Contato;

public class adicionaContatoServlet extends HttpServlet{
	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		PrintWriter out = response.getWriter();
		String nome = request.getParameter("nome");
		String email = request.getParameter("email");
		String endereco = request.getParameter("endereco");
		String datatxt = request.getParameter("dataNascimento");
		Calendar dataNascimento = null;
		try{
			Date data = new SimpleDateFormat("dd/MM/yyyy").parse(datatxt);
			dataNascimento = Calendar.getInstance();
			dataNascimento.setTime(data);
		}catch(Exception e){
			e.printStackTrace();
			out.println("Erro de conversao de data");
		}

		Contato contato = new Contato(nome, email, endereco, dataNascimento);
		ContatoDAO dao = new ContatoDAO();
		dao.insereContato(contato);

		out.println("<html>");
		out.println("<body>");
		out.println("Contato"+contato.getNome()+" adicionado com sucesso!");
		out.println("</body>");
		out.println("</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_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<display-name>Agenda</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
		<servlet>
		<servlet-name>adicionaContato</servlet-name>
		<servlet-class>br.com.agenda.servlet.adicionaContatoServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>adicionaContato</servlet-name>
		<url-pattern>/adicionaContato</url-pattern>
	</servlet-mapping>
</web-app>
Pagina html que chama a servlet:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<form action="adicionaContato">
		Nome: <input type="text" name="nome" /><br /> 
		E-mail: <input type="text" name="email" /><br /> 
		Endereço: <input type="text" name="endereco" /><br /> 
		Data de Nascimento: <input type="text" name="dataNascimento" /><br /> 
		<input type="submit" value="Gravar" />
	</form>
</body>
</html>
o log do erro é este:
java.lang.ClassNotFoundException: br.com.agenda.servlet.adicionaContatoServlet
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1083)
	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
	at java.lang.Thread.run(Unknown Source)
15:06:04,215 ERROR [[adicionaContato]] Allocate exception for servlet adicionaContato
java.lang.ClassNotFoundException: br.com.agenda.servlet.adicionaContatoServlet
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1083)
	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
	at java.lang.Thread.run(Unknown Source)
sei que este erro é causado por nao encontrar a classe declarada, mas já verifiquei varias vezes a nomeclatura e declaração do pacote e da classe da servlet. Agradeço a ajuda de quem puder. Att, Ulisses

4 Respostas

L

Qual servidor vc está utilizando(jboss, tomcat, etc…)? Já deu um clean no projeto e restartou o servidor?

A

Estou utilizando o JBoss versao 4.2.5, ja removi o servidor e add ele varias vezes, refiz o deploy da aplicação tambem…

A

Alguem tem alguma ideia??

A

Nenhuma ideia pessoal??

Criado 28 de novembro de 2012
Ultima resposta 10 de dez. de 2012
Respostas 4
Participantes 2