在MyEclipse2014中struts2404配置完之后出现404错误。求大神帮忙。。。。

本帖子已过去太久远了,不再提供回复功能。最近弄Struts2框架呢,发现只要在web.xml中配置好struts2的filter和filter-mapping,工程的所有页面都访问不了,全部都404了。网上查了半天,都不知道为什么。一下是我写的最简单的一个验证工程。
我工程导入的包有:
commons-fileupload-1.3.1.jar
commons-io-2.2.jar
commons-logging-1.1.3.jar
freemarker-2.3.19.jar
ognl-3.0.6.jar
struts2-core-2.3.16.3.jar
xwork-core-2.3.16.3.jar
下面是web.xml的配置内容:
&?xml&version=&1.0&&encoding=&UTF-8&?&
&web-app&xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
xmlns=&/xml/ns/javaee&&xmlns:web=&/xml/ns/javaee/web-app_2_5.xsd&
xsi:schemaLocation=&/xml/ns/javaee&/xml/ns/javaee/web-app_3_0.xsd&
id=&WebApp_ID&&version=&3.0&&
&display-name&TestStruts2&/display-name&
&welcome-file-list&
&welcome-file&index.jsp&/welcome-file&
&/welcome-file-list&
&filter-name&struts2&/filter-name&
&filter-class&org.apache.struts2.dispatcher.FilterDispatcher&/filter-class&
&filter-mapping&
&filter-name&struts2&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
&/web-app&
这个是struts.xml中的配置:
&?xml&version=&1.0&&encoding=&UTF-8&&?&
&!DOCTYPE&struts&PUBLIC
&-//Apache&Software&Foundation//DTD&Struts&Configuration&2.3//EN&
&http://struts.apache.org/dtds/struts-2.3.dtd&&
&include&file=&struts-default.xml&&/&
&package&name=&struts2&&extends=&struts-default&&
&action&name=&login&&class=&com.gobang.action.LoginAction&&
&result&name=&success&&/result.jsp&/result&
&result&name=&error&&/error.jsp&/result&
&/package&
相应的Java类如下:
package&com.gobang.
import&com.gobang.bean.U
import&com.opensymphony.xwork2.ActionS
public&class&LoginAction&extends&ActionSupport&{
private&static&final&long&serialVersionUID&=&9962075L;
private&User&
public&User&getUser()&{
public&void&setUser(User&user)&{
this.user&=&
public&String&execute()&throws&Exception&{
if&(user.getName().equals(&admin&)&&&&user.getPwd().equals(&123&))&{
return&SUCCESS;
return&ERROR;
package&com.gobang.
public&class&User&{
private&String&
private&String&
public&String&getName()&{
public&void&setName(String&name)&{
this.name&=&
public&String&getPwd()&{
public&void&setPwd(String&pwd)&{
this.pwd&=&
哪位大神能给看看到底是哪有问题啊?看了半天了。只要吧web.xml中的filter配置去掉,就能访问到工程下的index.jsp页面,加上配置后,就404了。
回复讨论(解决方案)
&filter-name&struts2&/filter-name&
&filter-class&org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&/filter-class&
&filter-mapping&
&filter-name&struts2&/filter-name&
&url-pattern&*.do&/url-pattern&
&/filter-mapping&
&filter-mapping&
&filter-name&struts2&/filter-name&
&url-pattern&*.jsp&/url-pattern&
&/filter-mapping&
&filter-mapping&
&filter-name&struts2&/filter-name&
&url-pattern&/struts/*&/url-pattern&
&/filter-mapping&
上面那是新版本的struts
下面是以前旧一点的版本,都是用过的。
&!--&struts2设置&--&
&filter-name&struts-cleanup&/filter-name&
&filter-class&
org.apache.struts2.dispatcher.ActionContextCleanUp
&/filter-class&
&filter-mapping&
&filter-name&struts-cleanup&/filter-name&
&url-pattern&*.do&/url-pattern&
&/filter-mapping&
&filter-name&Struts2&/filter-name&
&filter-class&
org.apache.struts2.dispatcher.FilterDispatcher
&/filter-class&
&filter-mapping&
&filter-name&Struts2&/filter-name&
&url-pattern&*.do&/url-pattern&
&/filter-mapping&
你的那个filter-class&是早期版本的class类了&
后面的2.3&开始吧&都换为&org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&了
你更改下试试看&
xml配置有问题
&filter-name&struts2&/filter-name&
&filter-class&org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&/filter-class&
&filter-mapping&
&filter-name&struts2&/filter-name&
&url-pattern&*.do&/url-pattern&
&/filter-mapping&
&filter-mapping&
&filter-name&struts2&/filter-name&
&url-pattern&*.jsp&/url-pattern&
&/filter-mapping&
&filter-mapping&
&filter-name&struts2&/filter-name&
&url-pattern&/struts/*&/url-pattern&
&/filter-mapping&
我把你这个粘进配置文件替换原来我写的配置,也不行啊。发现还是404
另外你说的老版本的放进去也是404
你的那个filter-class&是早期版本的class类了&
后面的2.3&开始吧&都换为&org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&了
你更改下试试看&
这个我试过了也不行啊,换成新的类也不行
&?xml&version=&1.0&&encoding=&UTF-8&?&
&web-app&xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
xmlns=&/xml/ns/javaee&&xmlns:web=&/xml/ns/javaee/web-app_2_5.xsd&
xsi:schemaLocation=&/xml/ns/javaee&/xml/ns/javaee/web-app_3_0.xsd&
id=&WebApp_ID&&version=&3.0&&
&display-name&TestStruts2&/display-name&
&welcome-file-list&
&welcome-file&index.jsp&/welcome-file&
&/welcome-file-list&
&filter-name&struts2&/filter-name&
&filter-class&org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&/filter-class&
&filter-mapping&
&filter-name&struts2&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
&/web-app&
别的地方也没啥了呀,我现在把现有的action类全都去掉了,也没在struts.xml里配action,页面也就是index.jsp,里面啥都没有,就一个&div&标签。彻底不会了。。
配置看着没问题了,把你的工程clean一下,把tomcat工作空间也clean一下
实在不行,就重新建一个工程,然后把对应文件都拷进去,试试看
怀疑有缓存影响什么的
按3、7楼应该是可以搞定的:-)
配置看着没问题了,把你的工程clean一下,把tomcat工作空间也clean一下
实在不行,就重新建一个工程,然后把对应文件都拷进去,试试看
怀疑有缓存影响什么的
我把Tomcat的缓存文件清理后,重新发布工程,好了,可以访问了。具体路径是tomcat/work/Catalina
但现在页面请求完Action后,也进Action的execute方法了,但return&&success&后,就404了,说找不到result的定义之类的,但我在sturts.xml中已经配置过了啊。
&?xml&version=&1.0&&encoding=&UTF-8&&?&
&!DOCTYPE&struts&PUBLIC
&-//Apache&Software&Foundation//DTD&Struts&Configuration&2.3//EN&
&http://struts.apache.org/dtds/struts-2.3.dtd&&
&include&file=&struts-default.xml&&/&
&package&name=&aaa&&extends=&struts-default&&
&action&name=&login&&class=&com.gobang.action.LoginAction&&
&result&name=&success&&/result.jsp&/result&
&result&name=&error&&/error.jsp&/result&
&/package&
这个定义难道也有问题?不会吧,这和我以前用Struts2老版本时差异也太大了吧。
我把Tomcat的缓存文件清理后,重新发布工程,好了,可以访问了。具体路径是tomcat/work/Catalina
但现在页面请求完Action后,也进Action的execute方法了,但return&&success&后,就404了,说找不到result的定义之类的,但我在sturts.xml中已经配置过了啊。
这个定义难道也有问题?不会吧,这和我以前用Struts2老版本时差异也太大了吧。
&action&name=&login&&class=&com.gobang.action.LoginAction&&
&&&&&&&&&&&&&result&name=&success&&/result.jsp&/result&
&&&&&&&&&&&&&result&name=&error&&/error.jsp&/result&
&&/action&&
这个配置没有问题,你的webroot目录下面有result.jsp页面吧?
我把Tomcat的缓存文件清理后,重新发布工程,好了,可以访问了。具体路径是tomcat/work/Catalina
但现在页面请求完Action后,也进Action的execute方法了,但return&&success&后,就404了,说找不到result的定义之类的,但我在sturts.xml中已经配置过了啊。
这个定义难道也有问题?不会吧,这和我以前用Struts2老版本时差异也太大了吧。
&action&name=&login&&class=&com.gobang.action.LoginAction&&
&&&&&&&&&&&&&result&name=&success&&/result.jsp&/result&
&&&&&&&&&&&&&result&name=&error&&/error.jsp&/result&
&&/action&&
这个配置没有问题,你的webroot目录下面有result.jsp页面吧?
有的,所有页面都是有的,而且是在WebRoot下的
刚才换了一个struts2的版本,这个问题没了,一切页面和请求都正常了。不知道为啥?我用的包是:
commons-fileupload-1.2.1.jar
freemarker-2.3.15.jar
ognl-2.7.3.jar
sturts2-core-2.1.8.jar
xwork-core-2.1.6.jar
难道说新版本的jar包用不成?我是在官方下载的release版本的啊。Java EE(67)
问题如下:
index.jsp页面:
&jsp:forward page=&show.action&&&/jsp:forward&
在struts.xml配置如下:
&package name=&struts2& extends=&struts-dafult&&
&action name=&show& class=&action.ShowAction&&
&result name=&showinfo&&/showinfo.jsp&/result&
&/package&
在运行时出现404错误(找不到 show.action )
问题原因:
struts2拦截器把forward这个请求拦截了。
修改web.xml文件
&filter-name&struts2&/filter-name&
&filter-class&
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
&/filter-class&
&filter-mapping&
&filter-name&struts2&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
&filter-name&struts2&/filter-name&
&filter-class&
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
&/filter-class&
&filter-mapping&
&filter-name&struts2&/filter-name&
&url-pattern&/*&/url-pattern&
&dispatcher&REQUEST&/dispatcher&
&dispatcher&FORWARD&/dispatcher&
&/filter-mapping&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:395151次
积分:6661
积分:6661
排名:第2937名
原创:189篇
转载:159篇
评论:23条
(6)(3)(4)(4)(1)(9)(14)(10)(15)(8)(12)(5)(16)(3)(7)(10)(4)(7)(10)(10)(13)(8)(7)(13)(24)(2)(6)(2)(4)(16)(1)(2)(6)(35)(14)(63)(57)(17)(8)(18)(4)学习笔记(18)
初学 Struts2 需要在web.xml中配置下: 
&filter-name&struts2&/filter-name&
&filter-class&org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&/filter-class&
&filter-mapping&
&filter-name&struts2&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
首先这样配置是没有错的,然后我运行 就出现了404 &但是当我去除这端代码后它就可以行的通了。
找了半天的错。
最后发现 其实是这样的,/* 拦截所有的请求,她是没有错的,错误就只可能是 后面的Struts.xml出错了,由于我用的是&include&包含了 俩个配置,
user.xml &manager.xml 通过复制出来的 &所以namespace 都一样(主要是粗心忘该)。。。。。。
于是就报错了 。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:33443次
排名:千里之外
原创:15篇
转载:30篇
(2)(1)(1)(1)(3)(1)(2)(2)(7)(2)(2)(11)(9)(1)

我要回帖

更多关于 struts2.5 action 404 的文章

 

随机推荐