httpServletRequest.getParameter返回null

时间:2014-05-20 19:54:59

标签: java servlets servlet-filters weblogic11g oracle-enterprise-manager

我有两个服务器一个(本地)和另一个(通过vpn远程调用)。

两者都部署了相同的应用程序。

我停止vpn调用本地的,所以它们之间没有干扰。

我试图在doFilter方法中获取servletFilter中的参数。

本地在我的电脑上:weblogic服务器11g
远程是通过vpn:weblogic企业管理器

在第一种情况下,httpServletRequest.getParameter返回发布请求的预期值。

在第二个得到null。

我发送到以下网址:

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

发送rquest的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> 

我的servlet过滤器中的代码:

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

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

        }

任何帮助都将得到实施

1 个答案:

答案 0 :(得分:1)

问题在于,服务器期待 https 来电而非 http

因此,当我将呼叫协议更改为 https 时,它开始像魅力一样收集请求参数!