struts2 配置filter后可以访问.action,无法访问 .jsp文件,显示404
以下是web.xml的配置:<?xmlversion="1.0"encoding="UTF-8"?><web-appversion="2.4"xmlns="http://...
以下是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>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.context.scope.RequestContextListener
</listener-class>
</listener>
<!-- 设置session超时时间 -->
<session-config>
<session-timeout>600</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
去掉可以,很奇怪啊,刚刚又试了一下,也不是所有的.jsp都不能访问,就文件夹名:strutstest下的jsp不能访问,我删了这个文件夹,重建一个strutstest文件夹,仍然是这样,莫非文件夹名字不能为strutstest?很诡异啊! 展开
<?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>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.context.scope.RequestContextListener
</listener-class>
</listener>
<!-- 设置session超时时间 -->
<session-config>
<session-timeout>600</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
去掉可以,很奇怪啊,刚刚又试了一下,也不是所有的.jsp都不能访问,就文件夹名:strutstest下的jsp不能访问,我删了这个文件夹,重建一个strutstest文件夹,仍然是这样,莫非文件夹名字不能为strutstest?很诡异啊! 展开
4个回答
2015-12-20 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
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>
本来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>
<filter-name>struts2</filter-name>
<url-pattern>/*.action</url-pattern> <!-- 修改这里,只过滤action,不过滤其它的请求. -->
</filter-mapping>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把struts-cleanup这个过滤器去掉再试一下,可能是这个配置有问题.
也可能是执行顺序的问题吧,可以把两个过滤器的顺序换一下再试试.
没研究过那个cleanup的过滤器,不知道它到底干什么用的.
也可能是执行顺序的问题吧,可以把两个过滤器的顺序换一下再试试.
没研究过那个cleanup的过滤器,不知道它到底干什么用的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
重装试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询