搭建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,有很多地方还不懂,希望知道的人告诉我以下,谢谢,不胜感激。 展开
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,有很多地方还不懂,希望知道的人告诉我以下,谢谢,不胜感激。 展开
展开全部
楼主,我记得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>
<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>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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等),但是一般不需要修改的,改了以后,扩展起来会给你带来一些的不必要的麻烦的
望采纳。
<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等),但是一般不需要修改的,改了以后,扩展起来会给你带来一些的不必要的麻烦的
望采纳。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的struts.xml是在src下面吗?要是没有的话还要早web.xml中配置的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主解决了吗?我是新手遇到这个问题,头疼啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
傻过滤器,贴出来看看。
追问
struts2
org.apache.struts2.dispatcher.FilterDispatcher
struts2
/*
已经贴出来了
追答
这个过滤器本来就是自带的啊,没啥大问题啊。你检查一下你调用action的名字或者是返回的页面没有,主要是struts.xml那个文件,肯定是这个问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询