请教struts2.2.3.1如何配置web.xml?
- XML code
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
值这样吗?filter-class是填org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter吗?为什么这样配置后页面就404了?
[解决办法]
<filter>
<filter-name>dispatcher</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>dispatcher</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
我这个是struts2.2,不知道对你有用没有
[解决办法]
filter-class应该为org.apache.struts2.dispatcher.FilterDispatcher
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter这个是在struts2.1里的。
[解决办法]
加这两个包commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar 试下看看
[解决办法]
配置没错误,你看下是不是存在你要跳转的页面,或者路径无误。
看下你在struts.xml的配置。
“org.apache.struts2.dispatcher.FilterDispatcher”是老的方式。
还是用 “org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter”
[解决办法]
“org.apache.struts2.dispatcher.FilterDispatcher”
“org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter”
这两种都没问题
楼主的访问路径是否正确?
[解决办法]
在struts可视化界面新建一个页面看一下里面的配置 对比一下看哪里出错了就知道了 404大部分都是路径问题的
[解决办法]
你还没有配置action那就直接访问你的文件就是了,你的jsp文件是在那个目录下的,是webroot还是WEB-INF如果是WEB-INF的话那你访问不到就对了,WEB-INF目录下要配了Action后才能有权限访问。。。
[解决办法]
是这样的,你访问的是 *.jsp 而你在WEB.XML中配置让 struts2的filter,filter是这样一个概念,他会处理所有的请求,struts2担当了接受请求处理请求的任务,而它只能处理两种后缀名 一种是 .action 另一种是没有后缀 所以你的访问请求必须是两者之一 当你请求规定的路径时候 他就会去读取struts.xml,所以 你需要去配置一个 action 即使是只返回 SUCCESS ,LZ加油
[解决办法]
[解决办法]
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<!-- 指定Struts 2配置文件的根元素 -->
<struts>
<!-- 指定全局国际化资源文件 -->
<constant name="struts.custom.i18n.resources" value="mess"/>
<!-- 指定国际化编码所使用的字符集 -->
<constant name="struts.i18n.encoding" value="GBK"/>
</struts>
你的这段,只是把头部配了。。。。
[解决办法]
[解决办法]
<?xml version="1.0" encoding="UTF-8" ?>
- <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
- <filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
- <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
- <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
[解决办法]
- XML code
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>Struts2Example2</display-name> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>
[解决办法]
web.xml
- XML code
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping>
[解决办法]
请先确认配置完后struts2是否正常启动,无出错信息,启动是注意看控制台信息
1、配置web.xml
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- 只对后缀为.action的URL进行struts处理,jsp还是用原有的-->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
2、新建一个test.jsp页面,访问http://localhost:port/project_name/test.jsp
[解决办法]
1、像我顶楼那样,在web.xml里用/*拦截所有url,使用org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter处理,这样应该可以直接访问jsp吗?
JSP基础没学好啊,这个拦截标记的意义是拦截所有的页面访问,不管你是html还是jsp还是action
2、如果不行,是否需要配置struts.xml?不考虑action只是显示简单jsp应该如何配置struts.xml?
当然需要配置struts,不太明白你的直接访问jsp是什么意思,因为struts返回的jsp页面势必要使用s标签,只要使用了s标签,就必须从一个action返回结果,否则页面报500错误
3、我把<url-pattern>改成了*.action,可访问jsp时候还是404,为什么?
第一,修改配置以后是否重启了tomcat
第二,你的路径究竟写的对不对,返回404肯定是你页面不存在,你可以再根目录新建一个空白的test.jsp文件,直接访问http://localhost:8080/项目地址/test.jsp,如果依然报错,你得看是不是tomcat启动的时候有错误,项目内文件有错误会导致这个项目不被服务器加载