JSESSIONID добавляется к URL-адресу, когда Weblogic перенаправляет на Apache?

Наше приложение работает на 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-адресу?


person Arash Amiri    schedule 14.09.2011    source источник


Ответы (3)


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

resp.sendRedirect(redirectURL);
person JB Nizet    schedule 14.09.2011

проблема была в том, что в нашем weblogic.xml куки были отключены:

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

whe solved the issue by setting them to true. in this special application, this was not a problem:

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

person Arash Amiri    schedule 15.09.2011

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

<session-config>
    <tracking-mode>COOKIE</tracking-mode>
</session-config>
person thejartender    schedule 06.06.2012