struts2中配dwr2.0.6无法测试问题
?下午想在页面js中通过DWR调用后台逻辑处理些问题,发现web.xml中的配置
<servlet><display-name>DWR Servlet</display-name><servlet-name>dwr-invoker</servlet-name><servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class><init-param><param-name>debug</param-name><param-value>true</param-value></init-param></servlet><servlet-mapping><servlet-name>dwr-invoker</servlet-name><url-pattern>/dwr/*</url-pattern></servlet-mapping>
? ?的确是debug模式,dwr.xm中感觉也没问题,但就是输入
? ??http://localhost:8080/SpecialServiceProject/dwr/ 测试 时出来不了 js的引用,后来才发现是被struts2拦截了,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-mapping 的 改为
<filter-mapping><filter-name>struts2</filter-name><url-pattern>*.action</url-pattern></filter-mapping>
?就可以测试了。
另外,也可以在struts.xml中配置struts2不处理的路径/dwr/*
?
?
<constant name="struts.action.excludePattern" value="/dwr/*"/>?
?来完成。
?
?
??