Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在筛选器中验证Struts 1的url操作映射_Java_Jakarta Ee_Struts_Struts 1_Struts Config - Fatal编程技术网

Java 如何在筛选器中验证Struts 1的url操作映射

Java 如何在筛选器中验证Struts 1的url操作映射,java,jakarta-ee,struts,struts-1,struts-config,Java,Jakarta Ee,Struts,Struts 1,Struts Config,请有人帮我一下,我需要在过滤器级别验证Struts1的url操作映射。如果提供的url操作映射存在于Struts1中,则可以,否则显示404错误。 此代码显示404页面,但我需要在显示之前验证url: p_hsResponse.sendError(HttpServletResponse.SC_NOT_FOUND); 根据您的评论,我认为验证struts操作映射的请求路径信息并不明智 我建议您将过滤器映射到StrutsActionServlet映射到的同一个 例如:,如果您的ActionServ

请有人帮我一下,我需要在过滤器级别验证Struts1的url操作映射。如果提供的url操作映射存在于Struts1中,则可以,否则显示404错误。 此代码显示404页面,但我需要在显示之前验证url:

p_hsResponse.sendError(HttpServletResponse.SC_NOT_FOUND);

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

我建议您将过滤器映射到Struts
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>

我的过滤器
com.myApp.myFilter
我的过滤器

*道西先生,确切地说?你想实现什么?我不能在评论中说出来,但很简单,我想检查struts配置中是否存在url映射。。。。就像我是一个通道hhtp://localhost:8080/ABC/home.do 如果它存在于struts-config.xml中,那么它将验证…我的意思是home.doe是否存在于struts-config.xml中…struts已经这样做了,为什么要为同样的目的创建一个过滤器?如果你不知道,那么不要浪费我和你的时间兄弟…如果用户尝试了abc.do,而struts配置中不存在abc路径呢???这种解决方案在这种情况下是不可行的…然后将出现HTTP 404错误。在Struts中,它返回一个空白屏幕。这就是你想要的。如果无法访问不存在的页面或资源,则应返回HTTP 404错误。需要在filter.chain作为post操作完成后进行检查,然后查看HTTP状态是否为404