如何在Filter中验证Struts1的url操作映射



请有人帮我,我需要在Filter级别验证struts 1的url操作映射。如果提供的url操作映射存在于Struts1中,那么也可以,否则显示404错误。这段代码显示404页面,但在显示之前我需要验证url:

p_hsResponse.sendError(HttpServletResponse.SC_NOT_FOUND);

根据您的评论,我认为验证struts操作映射的请求路径信息并不明智。

我建议您将Filter映射到Struts ActionServlet映射到的<url-mapping>

示例:如果您的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调用之前/之后执行。

最新更新