请有人帮帮我,我需要验证struts 1在过滤级别上的url动作映射。如果提供的url动作映射存在于Struts1中,那么它就可以了,否则显示404错误。 此代码显示404页面,但我需要在显示之前验证URL:
p_hsResponse.sendError(HttpServletResponse.SC_NOT_FOUND);
答案 0 :(得分:1)
根据您的评论,我认为将请求路径信息验证为struts操作映射是不明智的。
我的建议是将您的过滤器映射到您的Struts <url-mapping>
映射到的ActionServlet
。
示例:如果您的ActionServlet
映射到*.do
(后缀映射),您的过滤器应该映射到相同的。
<filter>
<filter-name>My filter</filter-name>
<filter-class>com.myApp.myFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>My filter</filter-name>
<url-pattern>*.do</url-pattern><!-- The same <url-pattern> to my Struts ActionServlet class
</filter-mapping>
这样,它将在struts ActionServlet调用之前/之后执行。