Problemas com tomcat servlets: web.xml

6 respostas
E

Olá, estou tentando fazer funcionar um servlet e estou tendo o seguinte problema.
Quero que o tomcat execute o arquivo HelloWorldExample.class que se encontra dentro do diretório webapps/directorio/WEB-INF/classes.

Meu arquivo WEB-INF/web.xml:
<?xml version=“1.0” encoding=“ISO-8859-1” ?>
<!DOCTYPE web-app
PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN”
http://java.sun.com/dtd/web-app_2_3.dtd”>

<web-app>

<servlet>

<servlet-name>HelloWorldExample</servlet-name>

<servlet-class>HelloWorldExample</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>HelloWorldExample</servlet-name>

<url-pattern>/servlet/HelloWorldExample</url-pattern>

</servlet-mapping>

</web-app>

Quando eu tento rodar a aplicação no browser no endereço http://localhost/directorio/servlet/HelloWorldExample , aparece 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

java.util.MissingResourceException: Can’t find bundle for base name LocalStrings, locale en_US

at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:804)

at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:773)

at java.util.ResourceBundle.getBundle(ResourceBundle.java:538)

at HelloWorldExample.doGet(HelloWorldExample.java:24)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)

at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:324)

at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:395)

at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:673)

at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:615)

at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:786)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)

at java.lang.Thread.run(Thread.java:534)

Apache Tomcat/4.1.30

Se alguém puder me ajudar eu agradeço.

[ ]'s
Everton Thomaz

6 Respostas

E

Tente digitar no seu browser o seguinte

http://localhost:8080/directorio/servlet/HelloWorldExample

E

Continua com o mesmo erro na porta 8080, acontece que estou utilizando o Apache junto com o Tomcat, por isso não coloquei a porta.
O apache está linkado com o Tomcat na porta 80.

D

como esta a sua estrutura de pacotes…
pq ali no web.xml vc declarou assim:

&lt;servlet-name&gt;HelloWorldExample&lt;/servlet-name&gt; 
&lt;servlet-class&gt;HelloWorldExample&lt;/servlet-class&gt;

por exemplo se o HelloWorldExample estiver dentro do pacote geral…vc deve declarar assim:

&lt;servlet-class&gt;geral.HelloWorldExample&lt;/servlet-class&gt;

vc estah conseguindo estartar sua aplicacao???

E

Verifique a sua estrutura de pacotes, do jeito que está o seu web.xml
a sua classe não pode pertencer a pacote algum, caso a sua classe pertencer a um pacote você deve editar o seu web.xml para o seguinte

<web-app>

<servlet>

<servlet-name>HelloWorldExample</servlet-name>

<servlet-class>pacote.HelloWorldExample</servlet-class>

</servlet>

<servlet-mapping>
<servlet-name>HelloWorldExample</servlet-name>
<url-pattern>/servlet/HelloWorldExample</url-pattern>
</servlet-mapping>

</web-app>

E

Com a ajuda de um amigo, consegui identificar o erro e estou repassando a todos…

O erro estava no arquivo .class compilado… ou seja, o código java estava incorreto.
O arquivo web.xml estava correto e quando ele chamava o servlet aparecia os erros descritos acima… ele encontrava o arquivo .class mas não entendia ele pq estava incorreto.

obrigado a todos pela ajuda.
Everton Thomaz

M

comigo está acontecendo a mesma coisa o que devo fazer

Criado 7 de julho de 2004
Ultima resposta 8 de jul. de 2004
Respostas 6
Participantes 4