我想使用Dao 模式来控制对 Web Session 的访问。
我的想法是使用一个 DAO 控制 Session 中的所有元素,如果有人想获得例如他必须写这样的电子邮件的电子邮件:
sessionDAO.getEmail();
或者
UserData userData = sessionDAO.getUserData();
userData.getEmail();
为了将电子邮件放入会话中,我想做:
public void setEmail(String email){
ServletRequestAttributes requestAttributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
HttpSession session = requestAttributes.getRequest().getSession();
session.setAttribute(SessionDAO.EMAIL,email);
}
通过这种方式,我总是可以检查我的会话中的值。我不希望任何人都可以这样做:
request.setAttribute("email", "example@gmail.com");
因为例如在我的代码的其他部分,有人可以重复代码,因为他不知道电子邮件已经在 Session 中。
这里很好地使用了 DAO 模式吗?