一开始我不知道保存为类对象的session可以取出来转换为这个类对象。让我花了很多时间。

存session:

    参数必须写:HttpServletRequest request

实体类:

public class UserLoginDTO {
	@NotNull(message = "用户名不能为空。") 
	private String userId;
	@NotNull(message = "密码不能为空。")
	private String passWord;
}

 

public class LoginUser {
	private String userID;
	private String userName;
}

 存session:

public String login(HttpServletRequest request, @Valid @ModelAttribute UserLoginDTO userLoginDTO, Model model) {
               LoginUser loginUser = employeeService.userLogin(userLoginDTO);
			HttpSession httpSession = request.getSession();  //返回当前reqeust中的HttpSession,当前reqeust中的HttpSession 为null,就创建一个新的Session,否则返回null
			httpSession.setAttribute("loginUser", loginUser);//设置loginUser
			return "";
		}

	}

获取session:

public String init(HttpServletRequest request,Model model) {
		HttpSession httpSession = request.getSession();
		Object loginUser =httpSession.getAttribute("loginUser");// 获取刚才存入的session
		LoginUser lUser=(LoginUser) loginUser;//将Object对象转换为LoginUser对象。
		String employeeId= lUser.getUserId();
		System.out.println(employeeId); // 输出来看一下是不是自己想要的
	 
		return "";
	} 

与本文相关知识点有关的文档,有疑惑可以试着看一下:

标题:对request.getSession(false)的理解(附程序员常疏忽的一个漏洞):http://blog.csdn.net/xxd851116/archive/2009/06/25/4296866.aspx

 

posted on 2020-09-30 14:43  爱吃玉米的tutu  阅读(549)  评论(0编辑  收藏  举报