JSESSIONID добавляется в URL, когда Weblogic перенаправляет на Apache? - PullRequest
0 голосов
/ 14 сентября 2011

Наше приложение работает в 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 голосов
/ 15 сентября 2011

проблема заключалась в том, что в нашем файле 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>

0 голосов
/ 06 июня 2012

Добавление этого в web.xml моего приложения на основе Facelets позволяет избежать JSESSIONID:

<session-config>
    <tracking-mode>COOKIE</tracking-mode>
</session-config>
0 голосов
/ 14 сентября 2011

Весь смысл en encodeRedirectURL в том, чтобы при необходимости включить идентификатор сессии в URL. Если вы считаете, что нет необходимости включать его, не кодируйте URL:

resp.sendRedirect(redirectURL);
...