java - 具有 url 别名的空 session

标签 java servlets jboss

jboss 5.1 我有一个应用程序(war)部署到代理服务器。
我将注销 servlet 放在 jboss 部署目录中,并将其映射到 server/default/deployers/jbossweb-deployer/web.xml 中,以便任何已部署的应用程序都可以使用它。 我们希望用户能够使用基本网址访问该网站:

http://ourAwesomeSite/

对比 war 名称:

http://ourAwesomeSite/ourAwesomeApp.home.seam

为此,我将其添加到了deploy/ROOT.war/index.html:

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/ourAwesomeApp"/>

但是现在我的注销 servlet 不再正常工作。

在doGet方法中, session 始终为空,因此我无法使 session 无效。用户注销后,他们当前的 session 不会失效,之后登录的任何人(除非浏览器关闭)都会获得前一个用户的 session 。 注销Servlet:

    public void doGet(HttpServletRequest request,  HttpServletResponse response) throws java.io.IOException, 
                ServletException {
            System.out.println("**********************  logout servlet");

            HttpSession session = request.getSession(false);
// session is always null
            if (!this.isSessionInvalid(request) && session != null) {
                System.out.println("invalidating user session ... maybe");
                session.invalidate();

            }
            System.out.println("redirecting to SSO logout");
            response.sendRedirect("https://ssologoutpage/logout.html");

        }

server/default/deployers/jbossweb-deployer/web.xml 条目和映射:

<servlet>
      <servlet-name>LogoutServlet</servlet-name>
      <servlet-class>com.whatev.log.security.session.management.LogoutServlet</servlet-class>
     </servlet>
    <servlet-mapping>
      <servlet-name>LogoutServlet</servlet-name>
    <url-pattern>/web/logout.html</url-pattern>
    <url-pattern>/logout.html</url-pattern>
    </servlet-mapping>

我不确定请求 session 如何设置为空。大家有什么想法吗?

最佳答案

您应该查看设置虚拟主机,而不是重定向到另一个 Web 应用程序页面。请查找 Setup Virtual Hosts

关于java - 具有 url 别名的空 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10568823/

相关文章:

java - 如果模式对话框显示在 JFrame 顶部的通知

java - 当我们在 java 中有 response.setContentType 时,response.addHeader 有什么用

java - 容器在什么时候创建请求和响应对象?

jboss - 更改 Velocity.Log 文件的位置

java - 文件操作有时不起作用

java - 我可以在模块 B 上重写模块 A 的方法吗?

java - 是否值得从JBoss 5.1升级到JBoss 7.1

Maven 错误 : package javax. servlet 不存在

java - 方法结束时事务未提交

deployment - 如何在远程机器未运行时为远程 JMS 队列初始化 ConnectionFactory?