struts2和dwr共存问题

shayu32 2011-08-11 11:57:30
被struts2过滤器过滤后, 不能成功跳转dwr 测试页, 3个XML文件主要如下:

web.xml:
<servlet>
<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>
<init-param>
<param-name>activeReverseAjaxEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>initApplicationScopeCreatorsAtStartup</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>maxWaitAfterWrite</param-name>
<param-value>-1</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-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>


<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>



dwr.xml

<dwr>
<allow>
<create javascript="UserAjax" creator="new">
<param name="class" value="com.dwrdemo.view.UserAjax"></param>
</create>
<create javascript="TestAjax" creator="new">
<param name="class" value="com.dwrdemo.view.TestAjax"></param>
</create>
<!-- this is a bad idea for live, but can be useful in testing -->
<convert converter="exception" match="java.lang.Exception"/>
<convert converter="bean" match="java.lang.StackTraceElement"/>
<convert match="com.dwrdemo.dao.UserDao" converter="bean"></convert>
</allow>
</dwr>


struts.xml:

<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<constant name="struts.action.excludePattern" value="/dwr/*,/dwr/test/*"/>
<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="index" />
<action name="index">
<result>/index.jsp</result>
</action>
</package>
</struts>


各位大侠帮帮忙呀!!!
...全文
182 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiao_yu01220714 2013-06-25
  • 打赏
  • 举报
回复
<constant name="struts.action.excludePattern" value="/dwr/.*,/dwr/test/.*" /> <constant name="struts.action.extension" value="do,action"/>
qiansalan 2012-10-30
  • 打赏
  • 举报
回复
敢问楼主解决问题没有?
softroad 2011-08-17
  • 打赏
  • 举报
回复
<action name="index">
<result>/index.jsp</result>
</action>

action咋没 class
wuzhiwenk3001 2011-08-17
  • 打赏
  • 举报
回复
哥遇上了和LZ一样的问题,正在寻求解决办法
shayu32 2011-08-11
  • 打赏
  • 举报
回复
大侠们呀... 救命呀.
shayu32 2011-08-11
  • 打赏
  • 举报
回复
另外, 有了这个 ?<constant name="struts.action.excludePattern" value="/dwr/*,/dwr/test/*"/>
输入: http://127.0.0.1/项目名/dwr 是能进入http://127.0.0.1/项目名/dwr/index.html 看到我自己发布的方法. 但是点击方法想进入该方法测试页面不成功!
shayu32 2011-08-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zidasine 的回复:]
Java code
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


修改这段 不要拦截全部 只针对你strus的请求进行拦截


Java code
<filter-mapping>
<filt……
[/Quote]


这是strust2, 另外, 在strust.xml那里我对一些请求不进行处理, 为什么不行?<constant name="struts.action.excludePattern" value="/dwr/*,/dwr/test/*"/>
zidasine 2011-08-11
  • 打赏
  • 举报
回复
  <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


修改这段 不要拦截全部 只针对你strus的请求进行拦截
  <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
shayu32 2011-08-11
  • 打赏
  • 举报
回复
自己帮顶!

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧