Problema Mapear Servlet contino em Pacote no Tomcat

2 respostas
L

Minha classe é a seguinte:

/*

  • Created on 03/06/2004
    */
    package javaWeb.cap1;
import javax.servlet.<em>;

import javax.servlet.http.</em>;

import <a href="http://java.io">java.io</a>.*;

/**

  • @author Paulo Marcelo
    */
    public class TestingServlet extends HttpServlet {

    /* (non-Javadoc)

    • @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
      
      */
      
      public void doGet(HttpServletRequest resquest, 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("");
      
      out.println(“Welcome to the Servlet Testing Center”);
      
      out.println("");
      
      out.println("</HTML>");		
      
      }	
      
      }
      

Como voçes podem ver ela está no pacote “cap1” que está no pacote “javaWeb” compilado está classe eu coloquei ela
dentro da pasta classes do meu WEB-INF e configurei meu web.xml desse jeito:

<?xml version=“1.0” encoding=“ISO-8859-1”?>

<!DOCTYPE web-app

PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN”

“<a href="http://java.sun.com/dtd/web-app_2_3.dtd">http://java.sun.com/dtd/web-app_2_3.dtd</a>”>

<web-app>

<servlet>

<servlet-name>Testing</servlet-name>

<servlet-class>javaWeb.cap1.TestingServlet</servlet-class>

</servlet>

</web-app>

Dentro de classes tenho uma pasta “javaWeb” e dentro desta tenho outras pasta “cap1” e dentro desta tenho meu servlet.

Porém quando eu digito no browser “http://localhost:8080/myApp/servlet/Testing” não funciona.

Como eu faço mapear minhas classes para que mantendo esta estrutura de pastas dentro da pasta classes funcione
corretamente ? notem que a minha classe esta em pacotes.

Desde já agradeço.

2 Respostas

LecaDF

1º - Primeiro o problema pode está acontecendo porque as vezes esqueceste de descomentar a servlet Invoker do tomcat e o mapeamento dela também, definidos no arquivo web.xml do servidor.
2º a chamada para a servlet seria http://localhost:8080/myApp/servlet/javaWeb.cap1.TestingServlet e não como está fazendo.
Se quiseres pode definir um mapping(url-pattern) no arquivo web.xml da aplicação.
assim:

<servlet-mapping>
<servlet-name>Testing</servlet-name>
/servlet/Testing
</servlet-mapping>

feito isto poderás chama-la assim:
http://localhost:8080/myApp/servlet/Testing

Sucesso,
Alessandro

L

Alessandro,

Muito obrigado pela sua juda, o mapeamento do invoker ainda etava comentado, por isso não estava funcionando, so desconmentei e quando digitei “http://localhost:8080/myApp/servlet/Testing” já funcionou nem precisou mapear no meu web.xml

Criado 3 de junho de 2004
Ultima resposta 4 de jun. de 2004
Respostas 2
Participantes 2