当Weblogic重定向到Apache时,JSESSIONID添加到URL?

时间:2011-09-14 09:30:01

标签: apache servlets weblogic httpsession jsessionid

我们的应用程序正在WebLogic上运行。

在某些时候,WebLogic正在重定向到Apache以允许用户访问PDF文件。

这通过以下方式发生:

final String encodedURL = resp.encodeRedirectURL(redirectURL);                
resp.sendRedirect(encodedURL); //ok here because redirection to other  server and not  to itself

问题是WebLogic将一个JSESSIONID附加到URL,并且apache无法提供PDF文档。

如何阻止WebLogic将JSESSIONID添加到URL?

3 个答案:

答案 0 :(得分:0)

整点en encodeRedirectURL是在必要时在URL中包含会话ID。如果您认为没有必要包含它,请不要对URL进行编码:

resp.sendRedirect(redirectURL);

答案 1 :(得分:0)

问题是,在我们的weblogic.xml中禁用了cookie:

<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
<session-descriptor>
    <cookies-enabled>false</cookies-enabled>
</session-descriptor>

通过将它们设置为true来解决问题。在这个特殊的应用程序中,这不是问题:

<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
<session-descriptor>
    <cookies-enabled>true</cookies-enabled>
</session-descriptor>

答案 2 :(得分:0)

将此添加到基于Facelets的应用程序的web.xml可避免使用JSESSIONID:

<session-config>
    <tracking-mode>COOKIE</tracking-mode>
</session-config>