2014-02-07 99 views
0

我是servlet的新手,使用eclipse製作我的第一個servlet。我製作了Index.html,Login.java和WelcomeServlet.java。但每當我試圖訪問使用瀏覽器顯示404錯誤

localhost:8080/ServletExample/ 

它顯示404 error.Here是代碼..

的Index.html

<form action="Login" method="post"> 
Name:<input type="text" name="userName"/><br/> 
Password:<input type="password" name="userPass"/><br/> 
<input type="submit" value="login"/> 
</form> 

Login.java

public class Login extends HttpServlet { 

    public void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 

     response.setContentType("text/html"); 
     PrintWriter out = response.getWriter(); 

     String n=request.getParameter("userName"); 
     String p=request.getParameter("userPass"); 

     if(p.equals("servlet")) { 
      RequestDispatcher rd=request.getRequestDispatcher("WelcomeServlet"); 
      rd.forward(request, response); 
     } else { 
      out.print("Sorry UserName or Password Error!"); 
      RequestDispatcher rd=request.getRequestDispatcher("/index.html"); 
      rd.include(request, response); 
     } 
    } 
} 

WelcomeServlet.java

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

public class WelcomeServlet extends HttpServlet { 

    public void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 

     response.setContentType("text/html"); 
     PrintWriter out = response.getWriter(); 

     String n=request.getParameter("userName"); 
     out.print("Welcome "+n); 
    } 
} 

的web.xml

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

<web-app> 
    <servlet> 
     <servlet-name>Login</servlet-name> 
     <servlet-class>Login</servlet-class> 
    </servlet> 
    <servlet> 
     <servlet-name>WelcomeServlet</servlet-name> 
     <servlet-class>WelcomeServlet</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>Login</servlet-name> 
     <url-pattern>/Login</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
     <servlet-name>WelcomeServlet</servlet-name> 
     <url-pattern>/WelcomeServlet</url-pattern> 
    </servlet-mapping> 

    <welcome-file-list> 
     <welcome-file>index.html</welcome-file> 
    </welcome-file-list> 
</web-app> 
+1

爲什麼你WelcomeServlet設置包的名稱以'java.io'?在'servlet-class'屬性的web.xml中刪除它或設置完整的類名稱。 – user1516873

+0

聽起來像缺少servlet映射或上下文,點擊http:// localhost:8080/ServletExample/Login或http:// localhost:8080/ServletExample/WelcomeServlet,看看您是否可以得到回覆 – morgano

+0

謝謝,web.xml中有一個錯誤。我已糾正。謝謝你的提示。 – SPGuar

回答

0

你映射到 'WelcomeServlet' 而不是 'ServletExample'。

嘗試去到localhost:8080/WelcomeServlet

編輯:不應該有尾隨斜線,對不起!

+1

我相信你不打算在那個網址中輸入斜線 – Gimby

1

package java.io;

爲什麼你把這行放在WelcomeServlet.java中。

-2

確保你的項目名稱是ServletExample。

本地主機:8080/ServletExample/index.html的

相關問題