当前位置: 首页 > 面试题库 >

Servlet会话无效

乐城
2023-03-14
问题内容

我在2个不同的服务器中有2个应用程序-Tomcat(基本上是.WAR文件)和jBoss中的EAR。

EAR是可重用的应用程序,在这里我将对用户进行身份验证并将控件发送回Tomcat上的应用程序。进行身份验证时,我正在jBoss应用程序上创建一个会话对象。

当我将控件发送回Tomcat上的应用程序时,我将询问用户是否要注销身份验证应用程序。如果用户按下“是”按钮,我将不得不从身份验证应用中注销该用户

问题

1)我读到筛选器是使会话无效的最佳方法。就我而言,由于身份验证应用程序打算供超过1个用户使用,过滤器将如何知道它需要使哪个会话无效?

2)我是否应该将在jBoss应用程序中创建的会话ID传递给Tomcat应用程序,以便在用户决定退出时-
我需要将相同的会话ID传递回jBoss应用程序,以使过滤器失效?


问题答案:

您不需要过滤器。一个简单的Servlet可以做到:

public LogoutServlet extends HttpServlet {
    @Override
    public void doGet(...) {
       request.getSession().invalidate();
    }
}

然后将此servlet映射到/lougoutin
web.xml,每当用户要注销时,都应将其发送到http://youhost/yourapp/logout

如果要在他已经使用过Tomcat服务器时将其注销,则需要重定向回JBoss服务器以使该会话无效。

请注意,request.getSession()获取 当前 会话-即属于发出请求的用户的会话。您的servlet容器(服务器)将为您处理此问题。



 类似资料:
  • 我有一个使用servlet会话属性显示div的问题 我有一个“result.jsp”页面。在jsp中,我有一个“生成URL”链接、一个空的输入文本字段和一个“addThis”div。链接“生成URL”调用jquery ajax方法“utilComp()”,它调用一个设置会话属性“saveLink”、返回一个值并填充空文本字段的servlet。 如果属性会话“saveLink”为空(因为尚未单击生成

  • 因此,我尝试使用JSF托管bean上的方法访问HttpSession的属性 但是我得到了一个 为什么啊? 在我的一个会话bean被销毁之前,我需要访问该会话打开的外部服务的连接列表,它们当然存储在会话属性对象上。 我该怎么做?

  • 本文向大家介绍Servlet会话技术基础解析,包括了Servlet会话技术基础解析的使用技巧和注意事项,需要的朋友参考一下 一、cookie 1、设置cookie,内容为时间 2、获得cookie信息 二、session(getSession()——>session30分钟未使用) 1、设置session 2、得到session 3、session配置,配置时间 4、session摧毁 5、使用地

  • org.openqa.selenium.NoSuchSessionException:会话ID为空。在调用退出()后使用WebDriver?构建信息:版本:“3.141.59”,修订版:“e82be7d358”,时间:“2018-11-14T08:17:03”系统信息:主机:“DESKTOP-NLBMRCD”,IP:“192.168.1.15”,os.name:“Windows 10”,os.ar

  • 问题内容: 我正在研究的一个项目使用Spring 2.5和JPA,并将Hibernate用作提供程序。 我的DAO类扩展了JpaDaoSupport,因此我使用getJpaTemplate()方法获取了JpaTemplate。 后端数据库可以通过我的应用程序或第三方应用程序进行更改。 当第三方应用程序更改数据库(主要是配置数据更改)时,我需要为应用程序的用户提供一种使所有JPA会话无效并重新加载新

  • 需要一些帮助!!我对Drools中的有状态和无状态会话没有清晰的理解。我正在努力理解这一点,所以尝试了一个例子。 我在drools6.5版本上使用有状态和无状态会话测试了下面的drl,在这两种情况下都得到了相同的输出。根据我对无状态会话的理解,它应该只执行第一条规则,当应用程序对象在第一条规则中被修改时,第二条规则不应该被激活(“有效期”)。附加源代码。感谢您在这方面的帮助。