Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Servlets 我可以在servlet中手动删除HttpSession吗?_Servlets_Httpsession - Fatal编程技术网

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

Servlets 我可以在servlet中手动删除HttpSession吗?,servlets,httpsession,Servlets,Httpsession,我学习了一门JSP课程,我们了解到在使用HttpSession之前应该删除它的所有属性。因此,我的一位同学问道:“我们在使用完HttpSession之后永久删除它怎么样?” 所以,我的问题是“可以删除HttpSession吗?” 据我目前所知。。。。HttpSession由servlet容器创建,与HttpServletRequest和HttpServletResponse相同。我们通过HttpServletRequest获得它,但是我们不能手动删除它。相反,我们可以设置超时来结束会话。因为我们

我学习了一门JSP课程,我们了解到在使用HttpSession之前应该删除它的所有属性。因此,我的一位同学问道:“我们在使用完HttpSession之后永久删除它怎么样?”

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

据我目前所知。。。。HttpSession由servlet容器创建,与HttpServletRequest和HttpServletResponse相同。我们通过HttpServletRequest获得它,但是我们不能手动删除它。相反,我们可以设置超时来结束会话。因为我们不能删除它,所以我们需要确保在使用它之前清理会话。我说得对吗

谢谢

我学习了一门JSP课程,我们了解到在使用HttpSession之前应该删除它的所有属性

如果手动使用
removeAttribute()
来处理通过
getAttributeNames()
可以获得的每个属性,那么这就毫无意义了。我不确定是课程/导师不好,还是你误解了课程/导师


因此,我的一位同学问道:“我们在使用完HttpSession之后永久删除它怎么样?”

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

session.invalidate();
response.sendRedirect("login.jsp");
任何后续请求都将强制服务器创建新会话。顺便说一下,重定向不是必需的,但是如果您想在新的会话中呈现视图,则必须进行重定向

另见:

老师很棒。是我弄糊涂了。非常感谢您的澄清。