我接受了一个JSP类,我们了解到在使用之前我们应该总是删除HttpSession的所有属性。所以我的一位同学问道 - “我们在使用它之后永久删除HttpSession怎么样?”
所以,我的问题是“可以删除HttpSession吗?”
据我所知到目前为止...... HttpSession由servlet容器创建,与HttpServletRequest和HttpServletResponse相同。我们通过HttpServletRequest获取它,但我们无法手动删除它。相反,我们可以设置超时以使会话结束。由于我们无法删除它,因此我们需要确保在使用之前清理会话。我是对的吗?
谢谢!
答案 0 :(得分:15)
我参加了一个JSP课程,我们了解到在使用之前我们应该总是删除HttpSession的所有属性。
如果你的意思是通过removeAttribute()
为getAttributeNames()
可以获得的每个属性手动使用session.invalidate();
response.sendRedirect("login.jsp");
,那么这就没有意义了。我不确定这是不好的课程/导师,还是你误解了课程/导师。
所以我的一位同学问道 - “我们在使用HttpSession之后永久删除了HttpSession怎么样?”
是的,您可以通过使其无效来“删除”它。
{{1}}
任何后续请求都会强制服务器创建新会话。重定向不是必需的,但如果您想在全新的会话中呈现视图,则必须使用重定向。