gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 05:34:22 26 4
gpt4 key购买 nike

我参加了一个 JSP 类(class),我们了解到在使用 HttpSession 之前,我们应该始终删除它的所有属性。所以我的一位同学问 - “我们在使用完 HttpSession 后永久删除它怎么样?”

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

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

谢谢!

最佳答案

I took a JSP class and we learnt that we should always remove all the attributes of the HttpSession before we use it.

如果您的意思是手动使用 removeAttribute() 对每个可以通过 getAttributeNames() 获取的属性,那么这真的没有意义。我不确定是类(class)/导师不好还是您误解了类(class)/导师。


So one of my classmate asked - "How about we delete the HttpSession permanently after we've done using it?"

是的,您可以通过使其无效来“删除”它。

session.invalidate();
response.sendRedirect("login.jsp");

任何后续请求都将强制服务器创建一个新 session 。顺便说一句,重定向不是必需的,但如果您想在全新的 session 中呈现 View ,则重定向是强制性的。

另见:

关于servlets - 我可以在 servlet 中手动删除 HttpSession 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8216790/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com