3

1つ(ローカル)ともう1つ(VPNを介したリモート呼び出し)の2つのサーバーがあります。

両方で、同じアプリケーションがデプロイされます。

VPNを停止してローカルのものを呼び出すので、それらの間の干渉はありません.

doFilter メソッドの servletFilter でパラメーターを取得しようとしています。

ローカルは私のPCにあります:weblogicサーバー11g
リモートはvpn経由です:weblogicエンタープライズマネージャー

最初のケースでは、httpServletRequest.getParameter はポスト リクエストの期待値を返します。

2 番目は null になります。

以下のURLに送信しています。

http://mydomain/myapp/faces/login-return.jspx

リクエストを送信する html フォーム:

<html>

    <body>
          <form  action="https://mydomain/myapp/faces/login-return.jspx"  method="post">
            <input type="hidden" name="param1" value="value1"  />
            <input type="hidden" name="param2" value="value2"  />
            <input type="submit" name="submit" value="Send to server" />
        </form>
    </body>
</html> 

私のサーブレットフィルターのコード:

    if (isSessionControlRequiredForThisResource(httpServletRequest, getLoginPage())) {

        if(httpServletRequest.getParameter("param1") != null) {
            httpServletRequest.getSession().setAttribute("param1", httpServletRequest.getParameter("param1"));

        }

どんな助けでも歓迎されるでしょう

4

2 に答える 2

1

問題は、サーバーがhttpではなくhttps呼び出しを予期していたことです。

そのため、呼び出しプロトコルをhttpsに変更すると、おまじないのようにリクエスト パラメータが収集され始めました。

于 2014-05-24T12:26:07.963 に答える