码迷,mamicode.com
首页 > 其他好文 > 详细

服务端验证的问题处理

时间:2020-02-14 16:24:38      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:服务   pre   rda   ram   比较   getname   体验   list集合   nbsp   

在使用服务端验证的时候,因为各种需求的不同,可以用作一下的几个处理。

 

1、使用sql语句的验证

  就是在写sql语句的时候,进行用户名和密码的匹配查询。如:where name = ? and password = ?。在客户端请求时,在servlet层获取用户名和密码参数。并调用该方法,如果返回有值,则验证通过。反之,不通过。

  通过这种方法。在客户端提示页面错误信息的时候,可能体验感不是太好。因为不能准确的提示用户,是用户名输入错误,还是密码输入错误。

//获取请求的用户名和参数
String name = req.getParameter("name");
String password = req.getParameter("password");

//方法类
UserDao userDao = new UserDao();

//通过sql验证
List<User> user = userDao.findUser(name,password);

//判断
if(user.size() > 0){// 验证通过
    //通过:跳转页面
}else{// 验证不通过
    //提示:用户名或密码错误
}

 

2、使用List集合存储后台数据信息,再进行验证

  写sql语句的时候是获取后台所有的数据信息。如:select * from 表。在客户端请求时,在servlet层获取用户名和密码参数。并遍历List集合,把List中的用户名和密码与servlet获取到的参数进行比较验证。

  通过这种方法。在验证后处理页面的跳转信息的时候。很难去处理。

  下面的方法进行处理后,可以使用户界面出现错误是得到较好的体验。

//获取请求的参数
String name = req.getParameter("name");
String password = req.getParameter("password");

//方法类
UserDao userDao = new UserDao();
// 获取后台所有的用户信息 sql语句:select * from user List<User> findAllUser = userDao.findAllUser(); //把List<User>集合中的用户名和密码单独抽离封装成一个集合 List<String> collectName = findAllUser.stream().map(User::getName).collect(Collectors.toList()); List<String> collectPassword = findAllUser.stream().map(User::getPassword).collect(Collectors.toList()); //进行验证 if (collectName.contains(name)) {// 验证用户名 if (collectPassword.contains(password)) {// 验证密码 //验证通过 } else {       //验证不通过,提示用户:密码错误 } } else { //验证不通过,提示用户:用户名错误 }

 

 

  

服务端验证的问题处理

标签:服务   pre   rda   ram   比较   getname   体验   list集合   nbsp   

原文地址:https://www.cnblogs.com/huangcan1688/p/12307587.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!