[jboss-jira] [JBoss JIRA] Created: (JBAS-4303) Web session is empty when forwarding request to another web context.

Penkov Vladimir (JIRA) jira-events at lists.jboss.org
Thu Apr 5 08:23:00 EDT 2007


Web session is empty when forwarding request to another web context.
--------------------------------------------------------------------

                 Key: JBAS-4303
                 URL: http://jira.jboss.com/jira/browse/JBAS-4303
             Project: JBoss Application Server
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: Web (Tomcat) service
    Affects Versions: JBossAS-4.0.4.GA
         Environment: Fedora Core 6
            Reporter: Penkov Vladimir
         Assigned To: Remy Maucherat


I have following in web.xml:
=====================
    <servlet>
        <servlet-name>Redirector</servlet-name>
        <servlet-class>web.servlet.Redirector</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Redirector</servlet-name>
        <url-pattern>/redirect.do</url-pattern>
    </servlet-mapping>
    <error-page>
        <error-code>404</error-code>
        <location>/redirect.do</location>
    </error-page>
=====================
It is located in /deploy/web.jar. It is deployed under / context.
My jsp are in dir: /deploy/resources.war/, deployed under /resources.

In Redirector I do:
==============
        String url = (String) request.getAttribute("javax.servlet.error.request_uri");
        String contextPath = (String) context.getAttribute("/resources");
        ServletContext c = context.getContext(contextPath);
        RequestDispatcher disp = c.getRequestDispatcher(url);
        disp.forward(request, response);
==============
So now I can reach my jsp in another context.


In servlet Login I do:
=============
    ClientManager manager = new ClientManager();
    Client client = manager.findClientByLogin(login);
    if (client!=null && client.getPassword().equals(password)) {
            request.getSession().setAttribute(CLIENT_KEY, client);
    }
    response.sendRedirect("/private/index.jsp");
=============

in /deploy/resources.war/private/index.jsp I have:
================
<%
    Enumeration e = request.getSession().getAttributeNames();
    System.out.println("element names:");
    while (e.hasMoreElements()) {
        System.out.println("e.nextElement() = " + e.nextElement());
    }

%>
================
And I recieve no elements in session. 
Variables, sent in the request attributes, are accessible fine.



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list