public ResponseVO<User> loginMethod(String uname, String upwd, String uyzm, HttpServletRequest request){
String yzmSession=(String) request.getSession().getAttribute("yzmSession");
if(!yzmSession.equals(uyzm)){
throw new UserLoginException("验证码错误!");
}
User user=userService.loginMethod(uname,upwd);
request.getSession().setAttribute("user",user);
return new ResponseVO<User>(200,"登录成功!",user);
}
request.getSession().getAttribute("yzmSession")
请问这一行的详细意思是什么?为什么用这几个词?(尽量详细些)
前端保存数据的有三个对象,从小到大为为request,session,applicationContext,这里的getSession就是拿到那个保存数据的session对象,而后面的getattribute就相当于你自己写的类里面的get,代表从这个对象中取值。传入的参数字符串是map里的key,因为前端数据基本全是用json格式保存,而json是一种典型的键值对 key value结构
request.getSession()表示从当前request中获取session,如果获取不到session,则会自动创建一个session,并返回新创建的session;如果获取到,则直接返回。
request.getSession().getAttribute("yzmSession")就相当于是从session中获取名为yzmSession的对象