1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

HTTP Status 500 - pacote/PadraoServlet (wrong name: PadraoServlet)

Baixei o tomcat 8 do site oficial, instalei, configurei o que precisava tudo certinho, tenho algumas páginas executando e até Servlets que fazem consulta ao banco tudo funcionando certinho. O problema aconteceu quando fui testar colocar uma servlet (que estava junto com as outras no diretório classes do meu projeto) dentro de uma pasta (pacote). Ele não consegue reconhecer o caminho. e mostra esse erro: HTTP Status 500 - pacote/PadraoServlet (wrong name: PadraoServlet)

O meu diretório classes tem algumas servlets que funcionam corretamente, então resolvi fazer um teste e adicionar um diretório chamado pacote e colocar essa servlet dentro dele:

PadraoServlet.java

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

public class PadraoServlet extends HttpServlet{ 
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ 
        PrintWriter out = response.getWriter(); 
        out.println("Hello World"); 
    } 
}

Eu compilo ele corretamente e se colocar dentro do diretório classes funciona corretamente, mas se colocar dentro de classes/pacote não funciona mais.

Segue meu web.xml

<?xml version="1.0" encoding="UTF-8"?>

    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <servlet>
        <servlet-name>PadraoServlet</servlet-name>
        <servlet-class>pacote.PadraoServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>PadraoServlet</servlet-name>
        <url-pattern>/fabbio</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>CadastrarAluno</servlet-name>
        <servlet-class>ServletExemplo</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>CadastrarAluno</servlet-name>
        <url-pattern>/cadastrar</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>ListaAlunos</servlet-name>
        <servlet-class>ListarAlunos</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ListaAlunos</servlet-name>
        <url-pattern>/listar</url-pattern>
    </servlet-mapping>

    <!-- Configurando a página inicial do projeto -->
    <welcome-file-list>
            <welcome-file>index.html</welcome-file>
     </welcome-file-list>

     <!-- Configurando o pool de conexões -->
     <resource-ref>
         <!-- Nome do pool -->
         <res-ref-name>jdbc/tomcat</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
         <res-auth>Container</res-auth>
    </resource-ref>
</web-app>

Quando eu tiro a servlet do diretório pacote, também altero o web.xml de acordo. As outras servlets configuradas no web.xml funcionam.

  • Não é possível fazer esse mapeamento com annotations (@WebServlet())?

    marlles   13 de set de 2013
  • fiz esse processo todo manualmente sem utilizar IDE, (sei usar IDE, mas queria testar manualmente) queria aprender a fazer manualmente algumas coisas para entender melhor o conceito e como as coisas são executadas

    Fabbio Lima   13 de set de 2013
  • O mapeamento via anotação @WebServlet() funciona somente na Servlet API 3.0.

    Guilherme Passero   13 de set de 2013
  • Por favor, seja objetivo no título da sua dúvida.

    ViniGodoy   14 de set de 2013
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags web.xml tomcat servlets ou faça a sua própria pergunta.