2016-03-29 22 views
1

Hata 404'ü alıyorum: İstenen kaynak mevcut değil.Servlet yanıt gönderme yönlendirme hatası

<?xml version="1.0" encoding="UTF-8"?> 
<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_3_1.xsd" 
     version="3.1"> 
    <servlet> 
     <servlet-name>servlet</servlet-name> 
     <servlet-class>controller.Servlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>servlet</servlet-name> 
     <url-pattern>/login</url-pattern> 
    </servlet-mapping> 
</web-app> 

servlet:

[@WebServlet(name = "controller.Servlet") 
public class Servlet extends HttpServlet { 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     String id = request.getParameter("id"); 
     String password = request.getParameter("password"); 

     if (LoginService.authentication(id, password)) { 
      response.sendRedirect("succes.jsp"); 
     } else { 
      response.sendRedirect("index.jsp"); 
     } 
     return; 
    }][1] 

index.jsp dosyası:

<%@ page contentType="text/html;charset=UTF-8" language="java" %> 
<html> 
<head> 
    <title>Login Page</title> 
</head> 
<body> 
<form action="/login" method="post"> 
    Username: <input type="text" name="id" > 
    <br> 
    Password: <input type="password" name="password"> 
    <br> 
    <input type="submit" value="submit"> 
</form> 
</body> 
</html> 

Bu xml

: Ben burada yanlış olduğunu anlamaya olamaz succes.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %> 
<html> 
<head> 
    <title>Login Succesfully</title> 
</head> 
<body> 
    <h1>Login succesfully</h1> 
</body> 
</html> 

Ve bu klasör yapısı şöyledir: http://i.stack.imgur.com/ZGMH4.png

cevap

0

Güncelleme web.xml:

<servlet> 
      <servlet-name>controller.Servlet</servlet-name> 
      <servlet-class>com..Servlet(replace with your servlet class namespace)</servlet-class> 
    </servlet> 

Alternatif böyle @WebServlet içinde urlPatterns tanımlayabilir ve web.xml''deki gelen servlet tanımı ve URL desenlerini kaldırabilirsiniz:

@WebServlet(name="controller.Servlet", urlPatterns={"/login"}) 
public class Servlet extends HttpServlet{ 
....... 
} 

web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<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_3_1.xsd" 
     version="3.1"> 

</web-app> 
+0

Başka bir sorun, WEB-INF/succes.jsp dosyasına yönlendirmeye çalıştığıdır. – rickz