标签:服务 pre rda ram 比较 getname 体验 list集合 nbsp
在使用服务端验证的时候,因为各种需求的不同,可以用作一下的几个处理。
就是在写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{// 验证不通过 //提示:用户名或密码错误 }
写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