如何在Filter中验证Struts 1的url动作映射

时间:2014-09-18 12:25:55

标签: java java-ee struts struts-1 struts-config

请有人帮帮我,我需要验证struts 1在过滤级别上的url动作映射。如果提供的url动作映射存在于Struts1中,那么它就可以了,否则显示404错误。 此代码显示404页面,但我需要在显示之前验证URL:

p_hsResponse.sendError(HttpServletResponse.SC_NOT_FOUND);

1 个答案:

答案 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调用之前/之后执行。