我从Jboss AS7/EAP6迁移到Wildfly8,并想在这里询问有关流水线的任何提示,为什么它不处理请求参数,如catalina在EAP6中所做的那样。Undertow(Wildfly8)不处理请求参数
所以,我做从客户机到URL” ./client/boom/index.htm?i=1' 一个电话,涉及到一个错误的servlet,我想要得到的参数i
的值:
httpServletRequest.getParameter("i");
随着EAP6它返回1,但与Wildfly8它返回null。为什么?
链调用的是以下(假定基本身份验证):
- 呼叫与JS把URL” ./client/boom/index.htm?i=1' 。
- 因为需要授权,所以流程没有进入UsernamePasswordLoginModule的子类。
- 流程进入到错误的servlet与
httpServletRequest.getAttribute( “javax.servlet.error.status_code”)== 401 httpServletRequest.getAttribute( “javax.servlet.error.message”)= =未授权
在这里,在错误servlet中,我需要获取参数i。
附加信息。
误差小服务程序映射这样:
<servlet-mapping>
<servlet-name>error</servlet-name>
<url-pattern>*.error</url-pattern>
</servlet-mapping>
...
<error-page>
<error-code>401</error-code>
<location>/Error.error</location>
</error-page>
我在的jboss-web.xml中
<jboss-web>
<security-domain>boom</security-domain>
<disable-audit>true</disable-audit>
</jboss-web>
和standalone.xml
宣布所谓的 '潮' 安全域<subsystem xmlns="urn:jboss:domain:security:1.2">
<security-domains>
...
<security-domain name="boom" cache-type="default">
<authentication>
<login-module code="com.boom.security.BoomLoginModule" flag="required"/>
</authentication>
</security-domain>
</security-domains>
</subsystem>
Auth方法在web.xml中声明为基本。
更新。在错误的servlet属性的列表是EAP6和WF8不同
属性在WF8:
javax.servlet.error.message: Unauthorized
javax.servlet.error.status_code: 401
javax.servlet.error.servlet_name: default
javax.servlet.error.request_uri: /boom-portal/client/boom/index.htm
属性在EAP6:
javax.servlet.forward.request_uri: /boom-portal/client/boom/index.htm
javax.servlet.forward.context_path: /boom-portal
javax.servlet.forward.servlet_path: /client/boom/index.htm
javax.servlet.forward.path_info: /Error.error
javax.servlet.forward.query_string: i=1
javax.servlet.error.message:
javax.servlet.error.status_code: 401
javax.servlet.error.servlet_name: default
javax.servlet.error.request_uri: /boom-portal/client/boom/index.htm
首先,你在使用什么框架? Spring MVC还是JSF? – 2014-10-08 14:56:20
@BuhakeSindi,没有框架。只是来自js的发布请求。 – 2014-10-08 15:11:08