Problema com servlet

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

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?

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

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

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!

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.