ssm中实现登录管理
登录管理就是由用户在前端输入自己的用户名以及密码,前端传给后端,有后端逻辑判断该用户是否具备登陆的资格以及用户名和密码是否匹配,然后做出相应的回应传回前端,再由前端给用户展现相应的信息。
首先应该考虑的是传值的问题,需要前端传给后端的数据毫无疑问就是用户名和密码:
String username, String password
然后由后端做出相应的处理:
@RequestMapping("/dologin.do")
public String doLogin(String username, String password, HttpSession session){
UserInfo userInfo = userInfoService.doLogin(username);
if(userInfo != null){
if(userInfo.getPassword().equals(password)){
System.out.println("登陆成功!");
session.setAttribute("userInfo", userInfo);
return "main";
}else {
System.out.println("密码错误,请重新登录!");
session.setAttribute("message", "密码错误,请重新输入!");
return "../login";
}
}else{
System.out.println("用户不存在,请重新输入!");
session.setAttribute("message", "用户不存在,请重新输入!");
return "../login";
}
}
其中
UserInfo userInfo = userInfoService.doLogin(username);
用来调用后面的service层,service在调用dao层相应的接口和数据库做出相应的交互来查询存在数据库中的和用户输入的相同用户名的数据,然后再由后面的if-else语句来做出不同情况的判断。
当用户输入的用户名以及密码没有问题时,跳转到“main”页面。
当密码错误时,跳转到“login”页面并且在该页面上显示“密码错误,请重新登录!”。
当用户名匹配不到时,跳转到“login”页面,并且在该页面上显示“用户不存在,请重新输入!”。
总的来说,这个功能的实现,主要就是数据的传递以及在对数据库进行查询时的操作。