我想使我使用“httpsession”保存的几个特定会话无效。是否可以使选定的会话无效并保持剩余的会话有效?
问问题
3510 次
5 回答
2
是的,只需调用HttpSession.invalidate()
或HttpSession.logout()
(Servlet 3.0)。
于 2013-08-27T07:35:57.703 回答
1
有两种方法可以使 servlet/jsp 中的会话无效
1--session.invalidate();
2--session.removeAttribute("xyz");
为了使特定会话无效,我们使用第二个选项而不是 xyz 您将任何会话名称放在那里
于 2014-07-15T06:53:10.407 回答
1
我认为这是使特定会话不完全无效的最佳方法
session.invalidate();
和
session.removeAttribute("username");
于 2015-05-03T15:47:31.993 回答
0
我编写了一个方法,该方法使用给定的 sessionID 使会话无效:
public void expireSessionWithId(String sessionID)
{
try {
MBeanServer server = java.lang.management.ManagementFactory.getPlatformMBeanServer();
ObjectName objectName=new ObjectName("jboss.web:type=Manager,path=/test,host=default-host");
// declare signature of the parameter
String[] sig = { "java.lang.String"};
// declare parameter
Object[] opArgs1 = { sessionID };
// call the method
String value = (String) server.invoke(objectName, "expireSession",
opArgs1, sig);
System.out.println(value);
} catch (MalformedObjectNameException e) {
//handle the exception
} catch (InstanceNotFoundException e) {
//handle the exception
} catch (ReflectionException e) {
//handle the exception
} catch (MBeanException e) {
//handle the exception
}
}
我正在研究 JBoss-7.1.1.Final。我的应用程序被称为“test”,因此上下文根为“/test”。您应该使用应用程序的名称创建 objectName。
于 2013-08-27T13:26:44.757 回答
-1
'EJP' 解决方案非常适合当前会话。但是,如果您想使任何会话无效(基于指定的 JSESSIONID),答案是:如何以编程方式使所选会话无效?
于 2013-08-27T08:26:06.267 回答