Проблема с результатом перенаправления struts2 при использовании BigIP - PullRequest
0 голосов
/ 10 сентября 2010

Я использую Struts2 (2.1.6) и хочу перенаправить на Action2 из Action1 .

struts.xml:

<action name="Action1" class="Action1">
    <result name="success" type="redirectAction">Action2</result>
</action>

<action name="Action2" class="Action2">
    <result name="success">/demo.jsp</result>
</action>

Это работает, как и ожидалось: http://myserver:9064/demo/Action1 перенаправляет на http://myserver:9064/demo/Action2 (проверено на tomcat и websphere).

Но когда я ставлю свое приложение за BigIP, redirectAction больше не работает, как ожидалось.

http://mybigip/demo/Action1, как ожидается, перенаправит на http://mybigip/demo/Action2, вместо этого он перенаправит на http://mybigip:9064/demo/Action2 (обратите внимание, что добавляется номер порта моего приложения), что выдает ошибку 404. Я получил такой же результат и для type="redirect".

Любой указатель для решения этой проблемы будет очень признателен.

1 Ответ

1 голос
/ 17 сентября 2010

Я нашел решение этой проблемы.На самом деле это происходит не только для Struts.Это случается вообще с любым Response.sendRedirect или RequestDispatcher.forward.Кроме того, это поведение наблюдается, когда приложение развертывается в WebSphere, а не в Tomcat.

Ссылки ниже содержат более подробную информацию:

http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/rweb_custom_props.html
(ищите пользовательское свойствоhttpsIndicatorHeader)

Также:

http://support.f5.com/kb/en-us/solutions/public/1000/800/sol1871.html
...