GARANTIR DESCONTO

Fórum Problema para rodar uma servlet no tomcat #564199

17/10/2016

0

Olá, estou utilizando o livro Use a cabeça Servlets e Jsp e estou tendo problemas no primeiro exemplo do capítulo 3.

Já tentei rodar a aplicação tanto no tomcat 6(recomendado pelo livro) e no tomcat 9 e sempre recebo HTTP Status 404 - /SelectBeer.do quando a página que contém o formulário me redireciona para a página que deveria conter a servlet.

Obs: A página que contém o formulário funciona corretamente.

Desde já agradeço.

Minha estrutura de diretórios é a seguinte: apache-tomcat-9.0.0.M10\\webapps\\Beer-V1\\WEB-INF\\classes\\com\\example\\web (local onde a servlet está)

Fiz a compilação da classe através do seguinte código: javac -classpath C:\\Users\\PC\\desktop\\apache-tomcat-9.0.0.M10\\lib\\servlet-api.jar; BeerSelect.java

Meu código web.xml está da seguinte forma e no diretório apache-tomcat-9.0.0.M10\\webapps\\Beer-V1\\WEB-INF:

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  version="4.0">

<servlet>
    <servlet-name>Ch3 Beer</servlet-name>
    <servlet-class>com.example.web.BeerSelect </servlet-class>
</servlet>

<servlet-maping>
    <servlet-name>Ch3 Beer</servlet-name>
    <url-pattern>/SelectBeer.do</url-pattern>
</servlet-maping>

</web-app>



O código do BeerSelect.java está assim:
package com.example.web;

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

public class BeerSelect extends HttpServlet{

    public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html");
        PrintWriter out = resp.getWriter();
        out.println("<html>");
        out.println("<body>");
        out.println("Beer Selection Advice <br>");
        String c = req.getParameter("color");
        out.println("<br> Got beer color" + c);
        out.println("</body>");
        out.println("</html>");
    }
}

O html está assim (diretório: \\apache-tomcat-9.0.0.M10\\webapps\\Beer-V1) :

<html>
<head>
</head>
<body>
    <form method="post"
          action="/SelectBeer.do">
    <p>Select beer characteristics</p>
    <p>Color:</p> 
        <select name="color" size="1">
            <option value="light">light</option>
            <option value="amber">amber</option>
            <option value="brown">brown</option>
            <option value="dark">dark</option>
        </select>
        <br>
        <br>
        <center>
            <input type="submit">
        </center>
    </form>    

</body>
</html>


Obrigado
Lucas Costa

Lucas Costa

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar