您的位置:首页 > 编程语言 > Java开发

关于struts2集成dwr不能访问dwr目录的问题

2012-12-13 18:01 246 查看
之前一直用的struts1,最近这个项目用的是struts2,需要做一个异步验证,于是我把我所熟知的dwr框架集成进去了,结果……悲催的事情发生了。。。默哀。。。

http://localhost:8080/program/dwr居然进不去,说是找不到路径,

再试http://localhost:8080/program/dwr/index.html
居然进去了,于是欣喜,结果一点相关的DWR类,杯具再次发生,找不到路径。

在dwr配置没有任何问题的情况下出现这样的状况,struts1就是这么配的没有任何问题,那肯定是struts2的问题了,于是我找,原来是它:

web.xml文件中的

<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>

就是这些可恶的东西误把我的dwr认为成一个action,天呐。。。http://localhost:8080/program/dwr/index.html之所以可以进去是因为它相较于http://localhost:8080/program/dwr有了具体的某个页面,点击DWR类的时候struts2又一次把我的dwr当成了action,杯具啊

好了,说了那么多,现在说下解决方案:

网上好多人说把struts2的匹配路径中加上dwr/*之类的,我试过,不可行,还是我的方法简单呐。

只需要在struts.xml文件中<struts></struts2>之间加上

<constant name="struts.action.extension" value="action"></constant>就可以访问dwr的相关内容了,但是action相关的东西就不行了哦,所以这条语句仅仅用于调试dwr,调试结束后,运行程序还是要把这句话去掉的昂,别忘了,否则你哪个页面也进不去了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: