我有两个服务器一个(本地)和另一个(通过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"));
}
任何帮助都将得到实施
答案 0 :(得分:1)
问题在于,服务器期待 https 来电而非 http 。
因此,当我将呼叫协议更改为 https 时,它开始像魅力一样收集请求参数!