2017-01-01 71 views
0

我已經完成了JSP和Servlet的代碼。當證書不匹配時,我想在JSP頁面中顯示錯誤消息。我已經在servlet中編寫代碼,但它不能正確顯示在jsp頁面中。我想在密碼文本框下方顯示錯誤消息。如果有任何可用的例子,請讓我知道這將是一個很大的幫助。JSP和Servlet服務器端驗證

的index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
     <title>Login Application</title> 
    </head> 
    <body> 
     <form action="loginServlet" method="post"> 
     User Login 
     <br> 
     User ID 
     <input type="text" name="username" > 
     <br><br> 
     Password 
     <input type="password" name="userpass"><br> 
     &nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="Login" > 
     </form> 
    </body> 
</html> 

LoginServlet.java

package com.test.servlets; 
import java.io.IOException; 
import java.io.PrintWriter; 
import javax.servlet.RequestDispatcher; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.http.HttpSession; 
import com.amzi.dao.LoginDao; 

public class LoginServlet extends HttpServlet{ 

    private static final long serialVersionUID = 1L; 

    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"); 

     HttpSession session = request.getSession(false); 
     if(session!=null) 
     session.setAttribute("name", n); 

     if(LoginDao.validate(n, p)){ 
      RequestDispatcher rd=request.getRequestDispatcher("welcome.jsp"); 
      rd.forward(request,response); 
     } 
     else{ 
      out.print("Wrong Credentials"); 
      RequestDispatcher rd=request.getRequestDispatcher("index.jsp"); 

      rd.include(request,response); 


     } 

     out.close(); 
    } 
} 

這裏是我的代碼,請更正。

+0

LoginDao.validate()是否經過測試?這很可能是罪魁禍首 – GurV

回答

0

而不是寫出out.print ....將錯誤設置爲請求屬性,並在您的index.jsp中使用${requestAttributeKey}訪問請求屬性,其中requestAttributeKey是請求屬性的關鍵字。