Problema com servlet

5 respostas
thiago.limma

Pessoal,

estou fazendo uma aplicaçao e, ao tentar gravar os dados no bd, tenho o seguinte erro.

HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Wrapper cannot find servlet class br.com.docelia.DoceLia.controller.ServletBD or a class it depends on

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)

org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)

org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)

org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

java.lang.Thread.run(Unknown Source)

root cause

java.lang.ClassNotFoundException: br.com.docelia.DoceLia.controller.ServletBD

org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)

org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)

org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)

org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)

org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

java.lang.Thread.run(Unknown Source)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.


Apache Tomcat/6.0.14

Alguém pode me ajudar?

Abraços

5 Respostas

ze_kiefa

O Tomcat (o Java implicitamente) não encontrou a classe br.com.docelia.DoceLia.controller.ServletBD no contexto.

java.lang.ClassNotFoundException: br.com.docelia.DoceLia.controller.ServletBD

Você compilou essa classe ou ela está em uma API separada que você esqueceu de colocar no classpath (/lib) do projeto?

thiago.limma

Olha, eu criei a servlet normalmente. Na jsp fiz a chamada para essa servlet e ela está cadastrada no web.xml

ze_kiefa

Poste o web.xml e o trecho do JSP em que você chama a Servlet.

thiago.limma

Trecho do xml

ServletBD ServletBD br.com.docelia.DoceLia.controller.ServletBD ServletBD /ServletBD

Trecho do jsp

P.S - Como eu faço para postar um screen aqui no forum?

Valeu!

ze_kiefa

A princípio está correto, apenas detacando dois detalhes:

  1. nomes de pacotes, por convenção, devem ser escritos em caixa baixa para serem diferenciados das classes;
  2. no JSP você precisa chamar <form action="/ServletBD">, com a barra no início, de acordo com o definido no web.xml.

Descartando qualquer problema de referência do web.xml com a classe em específico (ServletBD), eu ainda creio que seja algo relacionado a não compilação desta classe.

Você verificou na pasta de compilados (geralmente /classes) se o arquivo ServletBD realmente está lá?

PS: não sei.

Criado 24 de maio de 2008
Ultima resposta 24 de mai. de 2008
Respostas 5
Participantes 2