Erro no tomcat (404)

E aí pessoal, blz?
Comprei um livro JAVA PARA WEB, COM SERVLETS, JSP E EJB e no primeiro exemplo já deu m… Segui direitinho o livro, mas n consigo fazer o exemplo funcionar. Já dei uma olhada aqui no forum e em outros, mas não consegui resolver o meu problema.
estrutura do tomcat:
|myApp->WEB-INF->classes. O arquivo web.xml fica dentro da pasta web-inf.
Alguém sabe ou tem idéia do q seja?
obs: o tomcat está ok.

TestingServlet

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

public class TestingServlet extends HttpServlet {

  public void doGet(HttpServletRequest request, 
    HttpServletResponse response) 
    throws ServletException, IOException {
    
    PrintWriter out = response.getWriter();
    out.println("<HTML>");
    out.println("<HEAD>");
    out.println("<TITLE>Servlet Testing</TITLE>");
    out.println("</HEAD>");
    out.println("<BODY>");
    out.println("Welcome to the Servlet Testing Center");
    out.println("</BODY>");
    out.println("</HTML>");
  }
}

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>Testing</servlet-name> <!-- nome do servlet dentro do web.xml -->
    <servlet-class>TestingServlet</servlet-class> <!-- nome da classe do servlet -->
  </servlet>
</web-app>

kardon

[size=“11”]
[color=“red”]

  • Editado: Lembre-se de usar BBCode em seus códigos para mantê-los identados e mais legíveis para outros usuários - Matheus[/color][/size] :joia:

Olá kardun,

Por favor poste o erro que apareceu!

[]'s

HTTP Status 404 - /myApp/servlet/Testing

type Status report

message /myApp/servlet/Testing

description The requested resource (/myApp/servlet/Testing) is not available.
Apache Tomcat/5.0.28

kardon

Resolvido…
:lol:
kardon

Aconteceu exatamente a mesma coisa comigo, mas não consegui resolver ainda.

Alguem pode me dar uma luz? Já fiz de tudo! :sad:

Abs,

MisterJava

Eu sei q este post já tem quase um ano, mas estive a fazer o mesmo exemplo q aqui esta a ser indicado e por isso vou colocar a minha solução para esse erro.

Fiz tudo exactamente como neste tópico, com a pequena diferença do ficheiro web.xml q fiz da seguinte forma:

[code]<?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>Testing</servlet-name>
<servlet-class>TestingServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Testing</servlet-name>
<url-pattern>/servlet/Testing</url-pattern >
</servlet-mapping>
</web-app>
[/code]

Para correr o servlet usei o seguinte URL:

http&#58;//localhost&#58;8080/myApp/servlet/Testing

Estou a usar o Apache Tomcat 5.5.9.

Só uma observação:

Este erro acontece porque em versões mais atualizadas dos Container é necessário que faça a declaração tanto do servlet quanto do servlet-mapping.

Livros como Java para Web diz que servlets podem ser acessados informando o pacote e a classe, de fato está certo mas apenas em versões anteriores, no tomcat se eu não me engano abaixo da versão 4.1

:okok: