简单的服务端登录注册校验

前端校验
前面,我们实现了一个前端界面校验(可点击上面链接查看)
但是一个项目,单有前端校验还是不行的
如果直接在链接上通过Servlet访问,还是可能存在没有校验的情况出现
所以还需要在服务端进行校验
下面,就以注册为例,实现一个服务端校验

		StringBuffer sb=new StringBuffer(); //设置一个字符缓冲区
		if(username==null||"".equals(username.trim())) {
			sb.append("用户不能为空!"); //将要显示的内容存入字符缓冲区
		}
		if(password==null||"".equals(password.trim())) {
			sb.append("密码不能为空!");
		}
		if(password_confirm==null||"".equals(password_confirm.trim())) {
			sb.append("密码不能为空!");
		}else {
			if(!password_confirm.equals(password)) {
				sb.append("两次密码输入不一致");
			}
		}
		if(realname==null||"".equals(realname.trim())) {
			sb.append("真实姓名不能为空!");
		}
		if(cardtype==null||"".equals(cardtype)) {
			sb.append("证件类型不能为空!");
		}
		if(cardcode==null||"".equals(cardcode.trim())) {
			sb.append("证件号不能为空!");
		}
		
		//判断字符缓冲区是否有内容,当字符缓冲区有内容的时候,说明有某个地方没有通过验证
		if(sb.length()>0) {
			try {
				request.setAttribute("mess", sb.toString()); //设置在界面显示
				request.getRequestDispatcher("register.jsp").forward(request, response); //验证不通过,返回原界面
			} catch (ServletException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		}else {
			//判断用户名是否与数据库中的内容重复,重复说明该用户名已存在
			if(UsersService.getInstance().isExists(username)) {
				try {
					request.setAttribute("mess", "用户名不能重复!!");
					request.getRequestDispatcher("register.jsp").forward(request, response);
				} catch (ServletException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}else {
				//如果验证没问题,跳转到登录界面
				Users users=new Users(username,password,realname,sex,Integer.parseInt(cardtype),cardcode,Integer.parseInt(usertype),content);
				
				UsersService usersService=UsersService.getInstance();
				usersService.register(users);
				
				try {
					request.getRequestDispatcher("login.jsp").forward(request, response);
				} catch (ServletException | IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值