Erro em servlet

8 respostas
F

PessoAll,
estou usando o tomcat 5.0.25. Seguindo uns passos aqui, escrevi um HelloWorld. Adicionei chamando de myapp, fiz o xml e compilei numa boa. Mas na hora de chamar o coitado ele apresenta o error:

HTTP Status 404 - /myapp/servlet/teste

type Status report

message /myapp/servlet/teste

description The requested resource (/myapp/servlet/teste) is not available.

Apache Tomcat/5.0.25

Segundo o manager do tomcat, o aplicativo esta em execução, mas não vejo o resultado do mesmo. Vai o conteúdo do 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>teste</servlet-name>

<servlet-class>TestingServelt</servlet-class>

</servlet>

</web-app>

Chamo o seguinte url:
http://localhost:8080/myapp/servlet/teste ou
http://localhost:8080/myapp/servlet/TestingServlet

8 Respostas

D

opa!
blz?

no seu web.xml ta faltando as tag de mapping…

tenta assim:

&lt;web-app&gt; 

   &lt;servlet&gt; 
        &lt;servlet-name&gt;teste&lt;/servlet-name&gt; 
        &lt;servlet-class&gt;TestingServelt&lt;/servlet-class&gt; 
   &lt;/servlet&gt; 

    &lt;servlet-mapping&gt;
        &lt;servlet-name&gt;teste&lt;/servlet-name&gt;
        &lt;url-pattern&gt;/TestingServlet&lt;/url-pattern&gt;
    &lt;/servlet-mapping&gt;


&lt;/web-app&gt;

pra acessar use o caminho:
http://localhost:8080/myapp/teste

bele?
depois posta pra agente saber se deu certo!

flw!

F

Não funcionou! :cry:

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class TestingServlet extends HttpServlet &#123;
	public void doGet &#40;HttpServletRequest request, HttpServletResponse response&#41; throws ServletException, IOException &#123;
		PrintWriter out = response.getWriter&#40;&#41;;
		out.println&#40;"&lt;html&gt;"&#41;;
		out.println&#40;"&lt;head&gt;"&#41;;
		out.println&#40;"&lt;title&gt;Teste de primeiro Servlet&lt;/title&gt;"&#41;;
		out.println&#40;"&lt;/head&gt;"&#41;;
		out.println&#40;"&lt;body&gt;"&#41;;
		out.println&#40;"Seja bem vindo ao meu primeiro trabalho J2EE!"&#41;;
		out.println&#40;"&lt;/body&gt;"&#41;;
		out.println&#40;"&lt;/html&gt;"&#41;;
	&#125;
&#125;

Agora ficou um pouco diferente. Quando chamei exatamente o url que vc me passou, apareceu o mesmo error. Quando eu passei o url com o nome da classe foi parar nisto aqui! http://localhost:8080/myapp/TestingServlet.
Há, eu tanto parei e comecei o servlet como o toncat inteiro. Mesmo erro nos dois!

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 TestingServelt or a class it depends on

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

org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

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

org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)

org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)

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

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

root cause

java.lang.ClassNotFoundException: TestingServelt

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:117)

org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

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

org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)

org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)

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

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

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

Apache Tomcat/5.0.25

J

Amigo, pelo que vejo do seu código faltou apenas

out.close&#40;&#41;

para fechar o PrintWriter e enviar a saída ao Browser.

Abraços.

F
Parece brincadeira. Agora sei. Eu troquei duas letras de posição e foi isto que causou o problema no xml.

Há, não era no código. Testei sem o out.close();

Devia ser:

<servlet-class>TestingServlet</servlet-class>

Estava:

<servlet-class>TestingServelt</servlet-class>

Pergunta. Se funcionou com esta url:

<a href="http://localhost:8080/myapp/TestingServlet" class="onebox" target="_blank">http://localhost:8080/myapp/TestingServlet</a>

No mapeamento que fiz não deveria funcionar também o:

<a href="http://localhost:8080/myapp/teste" class="onebox" target="_blank">http://localhost:8080/myapp/teste</a>

?
J

Não. Pq vale o nome do <url-pattern>.

D

eaeee!

pra evitar essas coisas, eu sempre deixo tudo no mesmo nome… servlet-name, servlet-class, url-pattern… td com mesmo nome!

flw!

eltonk
<blockquote><div class="quote-author">“francisbh”:</div>Parece brincadeira. Agora sei. Eu troquei duas letras de posição e foi isto que causou o problema no xml.

Há, não era no código. Testei sem o out.close();

Devia ser:

<servlet-class>TestingServlet</servlet-class>

Estava:

<servlet-class>TestingServelt</servlet-class>

Pergunta. Se funcionou com esta url:

<a href="http://localhost:8080/myapp/TestingServlet" class="onebox" target="_blank">http://localhost:8080/myapp/TestingServlet</a>

No mapeamento que fiz não deveria funcionar também o:

<a href="http://localhost:8080/myapp/teste" class="onebox" target="_blank">http://localhost:8080/myapp/teste</a>

?</blockquote>
&lt;servlet-mapping&gt;
        &lt;servlet-name&gt;teste&lt;/servlet-name&gt;
        &lt;url-pattern&gt;/teste&lt;/url-pattern&gt;
    &lt;/servlet-mapping&gt;

Assim funcionaria do modo que vc esta falando…
[]'s

N

Vc colocou o .class em WEB-INF/classes?

Criado 5 de agosto de 2004
Ultima resposta 5 de ago. de 2004
Respostas 8
Participantes 5