Avant la demande de servlet pour jsp

J'ai une petite demande (formulaire HTML, servlet contrôleur et des fichiers jsp) et j'essaie de comprendre pourquoi je ne peut pas suivre la demande de servlet pour des fichiers jsp.

le problème, c'est après la soumission, de l'html, a montré jusqu'à "l'État HTTP 404"

Flux d'Application:

  1. soumettre à partir de html.
  2. contrôleur obtenir le nom de code html.
  3. contrôleur censés se déplacer à la demande pour des fichiers jsp.

merci!

de la hiérarchie du projet:
http://s23.postimg.org/kgt7r7lwb/Capture.jpg

main.html:

<html>
<title>Coupons categories</title>
<body>
  <h1 align="center">Coupons categories</h1>
  <form method="GET" action="Controller">
    Select category 
    Type:
    <select name="type" size=1>
      <option value="restaurants">Restaurants</option>
      <option value="electrics">Electrics</option>
      <option value="hotels">Hotels</option>
    </select>
    <br><br>
      <input type="Submit">
   </form>
</body>
<html>

controller.java:

   @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //PrintWriter out = response.getWriter();
        //out.write(request.getPathInfo());

        String path = request.getParameter("type");
        if(path.equals("electrics"))
        {
            request.setAttribute("timestamp", new Date());
            RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/view/electrics.jsp");
            dispatcher.forward(request, response);
        }
        else if(path.equals("hotels"))
        {
            request.setAttribute("timestamp", new Date());
            RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/view/hotels.jsp");
            dispatcher.forward(request, response);          
        }
        else if(path.equals("restaurants"))
        {
            request.setAttribute("timestamp", new Date());
            RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/view/restaurants.jsp");
            dispatcher.forward(request, response);          
        }
    }

électrique.jsp:

<%@ page language="java" contentType="text/html; charset=windows-1255"
    pageEncoding="windows-1255"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255">
<title>Insert title here</title>
</head>
<body>
    <h2>products list...</h2>
    <%
    Object ob = request.getAttribute("timestamp");
    out.println(ob);
    %>
</body>
</html>

web.xml:

    <description>
      CouponsServer
    </description>
    <display-name>Controller for CouponsServer</display-name>

    <servlet>
      <servlet-name>Controller</servlet-name>
      <servlet-class>uses.server.Controller</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>Controller</servlet-name>
        <url-pattern>/Controller</url-pattern>
    </servlet-mapping>


</web-app>

mise à jour:
Probablement la problème est dans le controller.java.
Quand j'ai essayer le code suivant, j'ai eu de Statut HTTP 500.
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        PrintWriter out = response.getWriter();
        out.write(request.getPathInfo());
    }
Si le paramètre de chemin sur getRequestDispatcher est absolue, elle est toujours par rapport à la servlet contexte (déployer nom de l'application). Est/vue " annuaire un premier niveau de répertoire de l'application? Vous pouvez également utiliser un chemin relatif avec getRequestDispatcher qui est relatif aux Servlets chemin d'accès actuel.
dossier dans WebContet. vous pouvez voir la hiérarchie: s23.postimg.org/kgt7r7lwb/Capture.jpg
N'problème apparaît lorsque vous déplacez main.html de view à WebContent?
oui, encore apparaître.
veuillez voir mon montage dans la question ci-dessus.

OriginalL'auteur Itay Avraham | 2014-02-01