Jsp 如何使特定会话无效?
我想使我使用“httpsession”保存的几个特定会话无效。是否可以使所选会话无效并使其余会话保持活动状态?是的,只需调用Jsp 如何使特定会话无效?,jsp,servlets,Jsp,Servlets,我想使我使用“httpsession”保存的几个特定会话无效。是否可以使所选会话无效并使其余会话保持活动状态?是的,只需调用httpsession.invalidate()或httpsession.logout()(Servlet 3.0)。是的,只需调用httpsession.invalidate()或HttpSession.logout()(Servlet 3.0)。“EJP”解决方案非常适合当前会话。但是,如果您想使任何会话(基于指定的JSESSIONID)无效,下面是答案:“EJP”解决
httpsession.invalidate()
或httpsession.logout()
(Servlet 3.0)。是的,只需调用httpsession.invalidate()
或HttpSession.logout()
(Servlet 3.0)。“EJP”解决方案非常适合当前会话。但是,如果您想使任何会话(基于指定的JSESSIONID)无效,下面是答案:“EJP”解决方案非常适合当前会话。但是,如果您想使任何会话无效(基于指定的JSESSIONID),下面是答案:我已经编写了一个方法,可以使用给定的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。我编写了一个方法,该方法使用给定的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。在servlet/jsp中有两种方法可以使会话无效 1——session.invalidate() 2--会话.removeAttribute(“xyz”)
要使特定会话无效,我们使用第二个选项而不是xyz,您可以在其中放置任何会话名称在servlet/jsp中有两种方法使会话无效 1——session.invalidate() 2--会话.removeAttribute(“xyz”)
要使特定会话无效,我们使用第二个选项而不是xyz。您可以在其中输入任何会话名称我认为这是使特定会话无效的最好方法,但不能完全无效
session.invalidate();
及
我认为这是使特定会话无效的最好方法,而不是完全无效
session.invalidate();
及
您所选择的会话是什么意思?假设客户机具有名称、年龄和数字属性。假设我在会话中将这些属性保存为setsession(“名称”,名称)、setsession(“年龄”,年龄)、setsession(“数字”,数字)。那么,如何仅使名称会话无效,并使其余会话保持活动状态?您所说的选定会话是什么意思?假设客户机具有名称、年龄和编号属性。假设我已在会话中将这些属性保存为setsession(“name”,name)、setsession(“age”,age)、setsession(“number”,number)。那么,如何仅使名称会话无效,并使其余会话保持活动状态?您能告诉我如何执行吗?一两个月前我也有同样的问题。所以问题是:如何使不同会话中具有选定id(即“xyz”)的会话无效。获取会话,如链接中所示,然后调用我回答中提到的API之一。您能告诉我如何执行吗?一两个月前我也有同样的问题。因此,问题是:如何使不同会话中具有选定id(即“xyz”)的会话无效。获取会话,如链接中所示,然后调用我的答案中提到的API之一。您的答案特定于JBoss,而问题中没有提到JBoss-1您的答案是针对JBoss的,问题中没有提到JBoss-1它不会使相关客户端的所有会话无效吗?@chaodee不会,它会使您调用它的会话无效。当您想使整个会话无效时,它很有用。但假设我想从会话中删除特定的会话或变量,而不是什么。如果您有比session.removeAttribute(“xyz”)更好的方法,请不要解释。但请记住,我只想从会话而不是整个会话中删除变量。它不会使相关客户端的所有会话无效吗?@chaodee不,它会使您调用它的会话无效。当您想使整个会话无效时,它很有用。但假设我想从会话中删除特定的会话或变量,而不是什么。如果您有比session.removeAttribute(“xyz”)更好的方法,请不要解释。但请记住,我只想从会话中删除变量,而不是整个会话。(2)是胡说八道。会话的属性不是会话。(2)是无意义的。会话的属性不是会话。