在参照dwr的官方网站时,如果在后台出现如下的提示信息:A request has been denied as a potential CSRF attack
则,需要在web.xml中的如下配置修改一下
xml 代码
- < servlet >
- < servlet-name > dwr-invoker servlet-name >
- < servlet-class > uk.ltd.getahead.dwr.DWRServlet servlet-class >
- < init-param >
- < param-name > debug param-name >
- < param-value > true param-value >
- init-param >
- servlet >
修改为:
xml 代码
- < servlet >
- < servlet-name > dwr-invoker servlet-name >
- < servlet-class > uk.ltd.getahead.dwr.DWRServlet servlet-class >
- < init-param >
- < param-name > debug param-name >
- < param-value > true param-value >
- init-param >
- < init-param >
- < param-name > crossDomainSessionSecurity param-name >
- < param-value > false param-value >
- init-param >
- servlet >
即加入了跨域调用功能
此处servlet-class值为 uk.ltd.getahead.dwr.DWRServlet (如果dwr版本是1.0版本的,则必须用这个class)
也可以是 org.directwebremoting.servlet.DwrServlet
如果确定java类的方法被调用了,但是页面还是出现了如下的报错: 例外被抛出且未被接住
此时,就不要忧郁了,赶紧换dwr.jar包,如下是我提供的能解决的这个问题的jar包,看附件
我使用这个附件里的jar包后完全正常了。