[JSP] 利用Servlet对用户名和密码进行服务器端验证
2011-08-03 11:11
579 查看
利用Servlet对用户名和密码进行服务器端验证
校验规则:
1. 用户名只能为数字/字母/英文点号(.), 且不能由数字开始, 至少4位
2. 密码不能由全部重复的字符组成, 不能由连续的数字组成(123456/654321), 至少6位
代码如下:
校验规则:
1. 用户名只能为数字/字母/英文点号(.), 且不能由数字开始, 至少4位
2. 密码不能由全部重复的字符组成, 不能由连续的数字组成(123456/654321), 至少6位
代码如下:
package com.shy; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; publicclass ProcessServlet extends HttpServlet { protectedvoid Process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=UTF-8"); String username = request.getParameter("username"); String password = request.getParameter("password"); boolean flag =true; //将出借的信息写入 errorList中 List<String> errorList =new ArrayList<String>(); //判断用户名不能为空 if(null==username ||"".equals(username)) { errorList.add("用户名不能为空"); } //判断用户不用小于4位 elseif(username.length()<4) { errorList.add("用户名不能小于4位"); } //判断用户名第一位不能为数字 elseif(Character.isDigit(username.charAt(0))) { errorList.add("用户名首字母不能为数字"); } //判断用户名只能为字母数字以及(.) 英文逗点" for(int i=0;i<username.length();i++) { char c = username.charAt(i); if((c>='a'&&c<='z')||(c>='A'&&c<='Z')||(Character.isDigit(c))||(c=='.')) { continue; } else { errorList.add("用户名只能为字母数字以及(.) 英文逗点"); } } //判断密码不能小于6位 if(password.length() <6) { errorList.add("密码长度不能小于6位"); } //判断密码不能由全部重复的字符组成 for(int j=0;j<password.length()-1;j++) { if(password.charAt(j)!=password.charAt(j+1)) { continue; } else { errorList.add("密码不能由全部重复字符组成"); } } //判断密码是不是全由数字组成 for(int i=0;i<password.length();i++) { char c = password.charAt(i); if(Character.isDigit(c)) { continue; } else { flag=false; } } //如果密码全由数字组成,判断他是否为连续字符 if(flag) { for(int k=0;k<password.length()-1;k++) { if((int)password.charAt(k) +1!= (int)password.charAt(k+1)) { continue; } else { errorList.add("不能由连续的数字组成(123456)"); } } } //如果密码全由数字组成,判断他是否为连续字符 if(flag) { for(int k=0;k< password.length()-1;k++) { if((int)password.charAt(k)-1!= (int)password.charAt(k+1)) { continue; } else { errorList.add("不能由连续的数字组成(123456)"); } } } if(errorList.isEmpty()) { request.setAttribute("username", username); request.setAttribute("password", password); request.getRequestDispatcher("javaservletsuccess.jsp").forward(request,response); } else { request.setAttribute("error", errorList); request.getRequestDispatcher("javaservleterror.jsp").forward(request,response); } } @Override protectedvoid doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Process(req,resp); } @Override protectedvoid doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Process(req,resp); } }
相关文章推荐
- [JSP] 利用JavaScript来用户名和密码进行客户端的验证
- 利用SQLite数据库进行用户名、密码的注册和登录验证
- 【JSP页面】利用数据库中的表格中的数据实现验证用户名和密码
- 【JSP中servlet】单纯利用servlet写一个用户名密码判断页面
- 使用JSP Servlet和Ajax实现简单的注册页面的用户名密码验证
- 利用Servlet和jsp实现客户端与服务器端的用户登录信息验证
- 利用JSP+JS+CSS+Servlet实现用户登录,保存用户名密码功能
- 利用js进行表单验证:判断用户名和密码非空
- VC SQL 登录对话框数据库对用户名和密码进行验证代码!
- 【Tech】单点登录系统CAS服务器端搭建及实现用户名密码由MYSQL数据库验证
- jsp 用户名、密码验证
- 在jsp界面实现对表单用户名、密码不能为空的验证代码
- 1 完成登录页面(到记事本文件进行密码和用户名的验证)。 2 完成 用户注册页面(将注册信息显示在本页面 div 中)。
- html表单 提交时对用户名和密码进行验证
- IIS 下网站提示输入用户名密码进行身份验证解决方法
- easyUI(四) -- SpringMVC+MyBatis怎么验证用户名和密码进行登录
- JSP使用Servlet过滤器进行身份验证的方法
- ubuntu git利用ssh进行push(无需用户名&&密码)
- jsp注册页面,Ajax实现验证用户名是否存在,密码是否一致,当不存在时,注册按钮变成灰色。
- MVC设计模式(jsp提交表单到servlet进行验证)