浏览 4453 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-29
最常见的地方是错误的使用request.getSession()函数,通常在action中检查是否有某个变量/标记存放在session中。这个场景中可能出现没有session存在的情况,正常的判断应该是这样: private boolean ifFlagExistInSession(HttpServletRequest request) { HttpSession session = request.getSession(false); if (session != null) { if (session.getAttribute("flagName") != null) { return true; } } return false; } 而下面的写法,则可能会生成一个新的不在我们意图之外的session: private boolean ifFlagExistInSession(HttpServletRequest request) { HttpSession session = request.getSession(); // a new session created if no session exists if (session.getAttribute("flagName") != null) { return true; } return false; } 注意request.getSession() 等同于 request.getSession(true),除非我们确认session一定存在或者sesson不存在时明确有创建session的需要,否则请尽量使用request.getSession(false)。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |