我在学习dwr时出现"例外被抛出且未被接住",后来在网上搜索找到了解决方法
在参照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包后完全正常了。
dwr-2.0RC1.jar (377.2 KB)包的下载地址
http://zmfkplj.javaeye.com/topics/download/a279a713-a7ad-3390-ba31-5d0339030586