使用JavaScript与Servlet实现客户端与服务器端验证

来源:互联网 发布:qrcode.js免费下载 编辑:程序博客网 时间:2024/05/17 03:04

下面写一个注册页面

 

 register.jsp,主要用JS进行验证

Js代码  收藏代码
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <html>  
  3.     <head>  
  4.         <script type="text/javascript">  
  5.             function validate(){  
  6.                 //通过id来取值   
  7.                 var username = document.getElementById("username1");  
  8.                 var password = document.getElementById("password1");  
  9.                 var repassword = document.getElementById("repassword1");  
  10.                   
  11.                 /*通过名称来取值,不过返回的是数组,只取数组中的第一个值 
  12.                   var username = document.getElementsByName("username")[0]; 
  13.                   var password = document.getElementsByName("password")[0]; 
  14.                   var repassword = document.getElementsByName("repassword")[0];*/  
  15.                   
  16.                 /*或通过getElementsByTagName来取值,同样,它返回的也是一个数组 
  17.                 var inputs = document.getElementsByTagName("input"); 
  18.                 for(var i =0;i<inputs.length;i++){ 
  19.                     alert(inputs[i].value); 
  20.                 }*/  
  21.                 //用户名不能为空  
  22.                 if(username.value == ""){  
  23.                     alert("username can't be null!");  
  24.                     return false;  
  25.                 }  
  26.                 //密码长度不能少于6  
  27.                 if(password.value.length < 6 || repassword.value.length < 6 ){  
  28.                     alert("password'length can't less than 6");  
  29.                     return false;   
  30.                 }  
  31.                 //密码不相同  
  32.                 if(password.value != repassword.value){  
  33.                     alert("password not same!");  
  34.                     return false;  
  35.                 }  
  36.                   
  37.             }  
  38.         </script>  
  39.     </head>  
  40.   <body>  
  41.     <!-- <form action="ValidateServlet" onsubmit="return validate()">  -->  
  42.     <form action="ValidateServlet">  
  43.         username:<input type="text" name="username" id="username1"><br>  
  44.         password:<input type="password" name="password" id="password1"><br>  
  45.         repassword:<input type="password" name="repassword" id="repassword1"><br>  
  46.         <input type="submit" value="submit">  
  47.     </form>  
  48.   </body>  
  49. </html>  

 

ValidateServlet.java 在后台进行验证

Java代码  收藏代码
  1. package com.kingdee.servlet;  
  2.   
  3. import java.io.IOException;  
  4. import java.util.ArrayList;  
  5. import java.util.List;  
  6. import javax.servlet.ServletException;  
  7. import javax.servlet.http.HttpServlet;  
  8. import javax.servlet.http.HttpServletRequest;  
  9. import javax.servlet.http.HttpServletResponse;  
  10.   
  11. public class ValidateServlet extends HttpServlet {  
  12.   
  13.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  14.             throws ServletException, IOException {  
  15.         String username = request.getParameter("username");  
  16.         String password = request.getParameter("password");  
  17.         String repassword = request.getParameter("repassword");  
  18.         List<String> list = new ArrayList<String>();  
  19.           
  20.         if(username == null || "".equals(username)){  
  21.             list.add("username can't be null");  
  22.         }  
  23.         if(password.length() <6 || repassword.length() <6){  
  24.             list.add("password can't less than 6");  
  25.         }  
  26.         if(!password.equals(repassword)){  
  27.             list.add("password not same");  
  28.         }  
  29.         if(list.isEmpty()){  
  30.             request.setAttribute("username", username);  
  31.             request.setAttribute("password", password);  
  32.             request.setAttribute("repassword", repassword);  
  33.             request.getRequestDispatcher("success.jsp").forward(request, response);  
  34.         }else{  
  35.             request.setAttribute("error", list);  
  36.             request.getRequestDispatcher("error.jsp").forward(request, response);;  
  37.         }  
  38.     }  
  39.   
  40.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  41.             throws ServletException, IOException {  
  42.         super.doPost(request, response);  
  43.     }  
  44.   
  45. }  

 

success.jsp

Html代码  收藏代码
  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>  
  2. <html>  
  3.   <body>  
  4.     <%  
  5.         String username = (String)request.getAttribute("username");  
  6.         String password = (String)request.getAttribute("password");  
  7.         String repassword = (String)request.getAttribute("repassword");  
  8.      %>  
  9.      username:<%=username %><br>  
  10.      password:<%=password %><br>  
  11.      repassword:<%=repassword %>  
  12.   </body>  
  13. </html>  

 

error.jsp

Html代码  收藏代码
  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>  
  2.   
  3. <html>  
  4.   <body>  
  5.      <%  
  6.         List<String> list = (List<String>)request.getAttribute("error");  
  7.      %>  
  8.      <h1>Register Failed!</h1>  
  9.      <%  
  10.         for(String str:list){  
  11.             out.println(str+"<br>");  
  12.         }  
  13.       %>  
  14.   </body>  
  15. </html>  

 


0 0
原创粉丝点击