通过配置struts.xml解决 struts2和 dwr兼容的问题

阅读更多
众所周知,strust2 通过在 web.xml中配置 filter,对所有路径的请求进行过滤。
代码如下:


  	struts2
  	
	   org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  	


 
	struts2 
	/* 
  

而dwr也是web.xml配置servlet,对请求dwr的路径进行过滤,
代码如下:

 
  	dwr-invoker
  	org.directwebremoting.servlet.DwrServlet
  		
			debug
			true
		
  	
  
	
		dwr-invoker
		/dwr/*
	

这样就会产生冲突:给dwr的请求让struts2过滤了。
幸好struts2有一个参数:struts.action.excludePattern ,意思是该参数的值指定的请求,struts2不对其进行过滤。
这样dwr就能进行过滤了。


解决办法:
在struts.xml中,添加:


   


问题解决。

注意:value="/dwr/test/.*,/dwr/.*" 中的/dwr/test/.*,/dwr/.*是正则表达式的写法,不是路径的写法!
注意那个“.*” ,而不是“*”

你可能感兴趣的:(S2SH,dwr,struts2)