struts2 配置filter后可以访问.action,无法访问 .jsp文件,显示404

来源:百度知道 编辑:UC知道 时间:2024/05/22 18:13:21
以下是web.xml的配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter>
<filter-name&g

struts2中jsp如果是放在web-inf文件夹下,是不能直接通过客户端访问的。
本来WEB-INF中的jsp就是无法通过地址栏访问的.所以安全。
访问方法一:

<jsp:forward page ="/WEB-INF/jsp/test/test.jsp" />
访问方法二:

request.getRequestDispatcher("/WEB-INF/a.jsp").forward(request,response);
配置:
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*.action</url-pattern> <!-- 修改这里,只过滤action,不过滤其它的请求. -->
</filter-mapping>

把struts-cleanup这个过滤器去掉再试一下,可能是这个配置有问题.

也可能是执行顺序的问题吧,可以把两个过滤器的顺序换一下再试试.

没研究过那个cleanup的过滤器,不知道它到底干什么用的.

重装试试