2017-10-09 4 views
0

J'utilise donc l'annotation (pas web.xml). Mon servlet ressemble à ceci (très simple, si les types d'utilisateurs FooUser et FooLast sous la forme, il montre welcome.jspLe servlet ne peut pas accéder au fichier .jsp à l'intérieur de WEB-INF

réoriente Sinon à la même page Login.jsp.

@WebServlet("/ServletLogin") 
public class ServletLogin extends HttpServlet { 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     if(request.getParameter("Username").equals("FooUser") && request.getParameter("Lastname").equals("FooLast")) { 
      RequestDispatcher rd=request.getRequestDispatcher("/WEB-INF/Welcome.jsp"); 
      rd.forward(request,response); 
     } 
     else { 
      RequestDispatcher rd=request.getRequestDispatcher("Login.jsp"); 
      rd.forward(request,response); 
     } 
    } 
} 

Et mon login. jsp ressemble à ce

<!DOCTYPE html> 
<html lang="en"> 
<body class="login"> 
    <div> 
     <form action="ServletLogin" method="post"> 
      <h1>Login Form</h1> 
      <div> 
       <input type="text" class="form-control" placeholder="Username" 
        name="Username" required="" /> 
      </div> 
      <div> 
       <input type="password" class="form-control" placeholder="Password" 
        name="Password" required="" /> 
      </div> 
      <div> 
       <input class="btn btn-info" type="submit" value="Log in" /> 
      </div> 
     </form> 
    </div> 
    </div> 
    </div> 
</body> 
</html> 

Répondre

0

Retirez le début slash:

RequestDispatcher rd=request.getRequestDispatcher("WEB-INF/Welcome.jsp"); 

ou essayer :

RequestDispatcher rd=request.getRequestDispatcher("../WEB-INF/Welcome.jsp"); 

ou essayez obtenir d'abord le contexte:

RequestDispatcher rd=getServletContext().getRequestDispatcher("WEB-INF/Welcome.jsp");