搭建struts2环境,在web.xml中加入过滤器的代码后访问任何页面都是404错误。请大家帮帮忙。

我是用myeclipse做的,我的步骤是这样的:1、新建webproject项目。2、导入struts2.3.8的必须库类。类库文件如下:3:发布web工程,我用的是to... 我是用myeclipse做的,我的步骤是这样的:
1、新建web project项目。
2、导入struts2.3.8的必须库类。类库文件如下:

3:发布web 工程,我用的是tomcat 7.x。
(这时候我访问工程中的index.jsp可以正常访问)
4、编辑项目文件夹目录WebRoot\WEB-INF下的web.xml。在代码中加入过滤器的代码。
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
如下图:

保存好。
这时候控制台输出如下信息:(省略了部分)
2013-3-5 13:13:04 org.apache.catalina.startup.HostConfig checkResources
信息: Reloading context [/C04]
2013-3-5 13:13:04 org.apache.catalina.core.StandardContext reload
信息: Reloading Context with name [/C04] has started
2013-3-5 13:13:07 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
信息: Parsing configuration file [struts-default.xml]
2013-3-5 13:13:07 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
信息: Parsing configuration file [struts-plugin.xml]
2013-3-5 13:13:07 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
严重: Dispatcher initialization failed
Unable to load configuration. - bean - jar:file:/C:/Program%20Files/apache-tomcat-
2013-3-5 13:13:07 org.apache.catalina.core.StandardContext startInternal
严重: Error filterStart
2013-3-5 13:13:07 org.apache.catalina.core.StandardContext startInternal
严重: Context [/C04] startup failed due to previous errors
2013-3-5 13:13:07 org.apache.catalina.core.StandardContext reload
信息: Reloading Context with name [/C04] is completed
5、这时候访问工程的index.jsp就是404错误。不能访问,如果在web.xml中删除以下过滤器的代码
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
可以正常访问index.jsp。

是那段代码的问题还是我操作的步骤有问题?我刚刚接触struts2,自学的struts,有很多地方还不懂,希望知道的人告诉我以下,谢谢,不胜感激。
展开
 我来答
孩子也该长大了
2013-03-06 · 超过16用户采纳过TA的回答
知道答主
回答量:128
采纳率:0%
帮助的人:46.5万
展开全部
楼主,我记得struts2的核心过滤器是这样配的。
<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>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
青帝互联
2013-03-06 · TA获得超过2.2万个赞
知道大有可为答主
回答量:1.5万
采纳率:0%
帮助的人:2505万
展开全部
WEB.xml中配置struts2的代码片段
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
'/*'是拦截所有的url,你这里可以配置你的过滤规则的啊(例如/*.jsp、/*_aaa.jsp等),但是一般不需要修改的,改了以后,扩展起来会给你带来一些的不必要的麻烦的
望采纳。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Mxyue0208
2013-03-05 · TA获得超过417个赞
知道小有建树答主
回答量:348
采纳率:0%
帮助的人:124万
展开全部
你的struts.xml是在src下面吗?要是没有的话还要早web.xml中配置的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
枞枘枫
2018-01-09
知道答主
回答量:4
采纳率:0%
帮助的人:2584
展开全部
楼主解决了吗?我是新手遇到这个问题,头疼啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8927dbe5b
2013-03-05 · TA获得超过448个赞
知道小有建树答主
回答量:1011
采纳率:100%
帮助的人:285万
展开全部
傻过滤器,贴出来看看。
追问

struts2
org.apache.struts2.dispatcher.FilterDispatcher

struts2
/*

已经贴出来了
追答
这个过滤器本来就是自带的啊,没啥大问题啊。你检查一下你调用action的名字或者是返回的页面没有,主要是struts.xml那个文件,肯定是这个问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式