Servlet - mapeamento - basico

Pessoal,

Meu JSP, que chama o servlet está dentro de

Meu servlet está dentro de:

Estou mapeando o servlet no Web.xml:

<servlet>
      <servlet-name>ServletUsuario</servlet-name>
      <servlet-class>com.kubic.servlet.ServletUsuario</servlet-class>
   </servlet>
   <servlet-mapping>
      <servlet-name>ServletUsuario</servlet-name>
      <url-pattern>/ServletUsuario</url-pattern>
   </servlet-mapping>

Estou chamando via JSP:

<form name="frmUsuarioLogin" action="/ServletUsuario" method="post">

e está aparecendo a seguinte mensagem de 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 com.kubic.servlet.ServletUsuario or a class it depends on
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
	org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
	org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
	org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
	java.lang.Thread.run(Thread.java:534)

root cause

java.lang.ClassNotFoundException: com.kubic.servlet.ServletUsuario
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1340)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
	org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
	org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
	org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
	java.lang.Thread.run(Thread.java:534)

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

Alguém pode me ajudar ?

Vc precisa colocar o .class no seguinte diretório:

WEB-INF/classes/pacotes....

certo?

no seu caso ficaria:

WEB-INF/classes/com/kubic/servlet/ServletUsuario.class

falou

ela já estava lá, então eu apaguei manualmente via eclipse …

eu reiniciei o tomcat, mas ele não gerou o .class automaticamente…

:?: o que eu posso fazer/configurar no eclipse/tomcat para resolver isso,e ele gerar o .class ?

Obrigado.

/*** Editado ***/
No Eclipse!
Clica em :

project
Depois em Clean..
Selecione o seu projeto, que ele irá dar um build all

caso vc não queria fazer dessa fora
Clique em :

Project.
desmarque o Build automatically
de um build all

O Tomcat não faz o deploy de suas classes!
Talvez vc tenha se confundido… pois o TomCat gera um arquivo .java apartir do seu JSP, e depois ele o compila, mas ele não compila as suas classes :wink:

bacana, consegui gerar os .class automaticamente …

mas … continuo com o 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 com.kubic.servlet.ServletUsuario or a class it depends on
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
	org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
	org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
	org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
	java.lang.Thread.run(Thread.java:534)


root cause 

java.lang.ClassNotFoundException: com.kubic.servlet.ServletUsuario
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1340)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
	org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
	org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
	org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
	java.lang.Thread.run(Thread.java:534)


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


--------------------------------------------------------------------------------

Apache Tomcat/5.0.28

:?: O que eu tenho que colocar no classpath a mais ?
Eu já coloque o seguinte no classpath:

.;%JAVA_HOME%\lib;C:\java\tomcat\common\lib\jsp-api.jar;C:\java\tomcat\common\lib\servlet-api.jar

Manda o caminho onde está o seu .class

resolveu ! obrigado ! :slight_smile:

O que resolveu? Posta a solução ai por favor… estou com o mesmo problema

A solução para esse caso é importar as bibliotecas do tomcat.

Botão direito no projeto/ menu properties
Java Build Path
aba Libraries
Add External Jars
Jsp-api.jar
servlet-api.jar

Shelson,

Da próxima vez coloque a solução

Eu estava com o mesmo problema, resolvi colocando o pacote.servlet no do web.xml. :stuck_out_tongue: