我可以在servlet中手动删除HttpSession吗?

Jay*_*cee 2 servlets httpsession

我接受了一个JSP类,我们了解到在使用之前我们应该总是删除HttpSession的所有属性.所以我的一位同学问道 - "我们在使用它之后永久删除HttpSession怎么样?"

所以,我的问题是"可以删除HttpSession吗?"

从我到目前为止的理解...... HttpSession是由servlet容器创建的,与HttpServletRequest和HttpServletResponse相同.我们通过HttpServletRequest获取它,但是我们不能手动删除它.相反,我们可以设置超时以使会话结束.由于我们无法删除它,因此我们需要确保在使用之前清理会话.我对么?

谢谢!

Bal*_*usC 15

我接受了一个JSP类,我们了解到在使用之前我们应该总是删除HttpSession的所有属性.

如果你的意思是通过手动使用removeAttribute()可以获得的每个属性getAttributeNames(),那么这实际上没有意义.我不确定这是不好的课程/导师,还是你误解了课程/导师.


所以我的一位同学问道 - "我们在使用它之后永久删除HttpSession怎么样?"

是的,您可以通过使其无效来"删除"它.

session.invalidate();
response.sendRedirect("login.jsp");
Run Code Online (Sandbox Code Playgroud)

任何后续请求都将强制服务器创建新会话.重定向不是必需的,但如果您想在全新的会话中呈现视图,则必须使用重定向.

也可以看看: