虽然DWR是个很早就出现的Ajax框架,但一直都没去使用过,今天正好没事就看了一下并参照文档照做了个demo,
在其中碰到一个问题:
后台打印出错误信息:“严重: A request has been denied as a potential CSRF attack.” 在网上google一把
之后,出现此错误的原因大都是说“请求被拒绝,可能存在csrf(cross-site request forgeries,跨站请求伪造)攻击、
页面URL可能被跨站了的服务所调用之类的”,但是我这里只有一个简单的测试页面,是根本不存在什么所谓的跨站请求的,
但不知道为什么?希望有知道的朋友告诉一下我,万谢!
不过最后还是通过网上搜索给解决了,得到以下两种解决方案:
1、在web.xml配置文件中修改dwr的配置:
<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>
<!-- 新加corssDomainSessionSecurity参数 -->
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
据说参数corssDomainSessionSecurity是在dwr版本2.0才有的.默认值为true,也就是禁止其他域发送请求.若设置成false后,就能够从其他域进行请求但这样做会在安全性上有一些冒险.
2、将JSP文件中所引用的js文件engine.js的方式,由<script type="text/javascript" src="js/engine.js"></script> 更改成:<script type="text/javascript" src="dwr/engine.js"></script>。不知道为什么这样就可以啦,而
引用js目录下就会报错。希望有知道朋友,不吝赐教,在下感激不尽!
分享到:
相关推荐
dwr包.rar dwr.jar engine.js util.js dwr-noncla.jar readme.txt JAR File: dwr.jar (1.08Mb) To DWR enable your web-app WAR File: dwr.war (4.62Mb) Demos/Examples of what DWR can do Sources: dwr-...
它使用了AJAX技术,但避免了跨站脚本攻击(Cross-Site Scripting, XSS)和跨站请求伪造(Cross-Site Request Forgery, CSRF)等问题,因为每个请求都包含了服务器生成的安全令牌,确保了请求的合法性。 为了使用DWR...
1、 导入dwr.jar包 2、 在web.xml中配置dwr,如下: <!-- 配置DWR --> <servlet-name>dwr-invoker org.directwebremoting.servlet.DwrServlet <init-param> <param-name>debug</param-name> ...
dwr20.dtd
标题中的"dwr.jar"是DWR的主要库文件,包含了所有必要的Java类和接口,用于在服务器端实现DWR的功能。这个JAR文件通常会被部署到应用服务器的类路径中,以便服务端代码可以访问和使用DWR的API。 "engine.js"是DWR的...
部署DWR JAR文件通常涉及到将它们添加到Web应用的类路径中,配置DWR的`dwr.xml`配置文件,以及在客户端HTML页面中引入相应的JavaScript库。对于Spring框架的集成,还需要配置Spring的bean定义。 总的来说,DWR的...
取得dwr的dwr.jar包和其他dwr所需的其他jar包 web.xml dwr.xml 任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,。。 有几个术语有必要理解,参数叫做converted,远程Bean叫做created.如果远程Bean A有个方法A....
通过分析这个war文件,开发者可以学习如何配置DWR的XML配置文件(dwr.xml),以及如何创建可从JavaScript调用的Java方法。 3. **DWR2.0中文说明文档**: 这份文档对于理解DWR的工作原理和使用方法至关重要,特别是...
当编辑DWR.xml时,DTD可以帮助开发者遵循正确的格式和属性,避免配置错误。 **Web.xml** 是Web应用程序的部署描述符,它是每个Java EE Web应用程序的标准配置文件。在这个文件中,你需要注册DWRServlet,以便服务器...
1. **DWR.jar**: 这是DWR的核心库文件,包含了运行DWR所需的所有类和资源。当你在项目中引入dwr.jar,你可以使用DWR提供的API来实现Ajax功能。这个jar文件包括了各种Servlet、Filter、JavaScript接口和辅助类,...
- **dwr.xml**:这个文件用于描述DWR服务的配置,包括哪些类和方法可以被远程调用,以及如何处理这些调用的细节。例如,通过`<allow>`标签指定允许远程访问的类和方法,通过`<converters>`和`<creators>`标签指定...
3. 安全性加强:DWR 2.0可能增加了对安全性的考虑,如更好的防止跨站脚本攻击(XSS)和跨站请求伪造(CSRF)。 4. 错误处理:新版本可能改进了错误处理机制,提供更清晰的错误信息和更好的异常恢复策略。 5. 兼容性...
### dwr.xml 文件知识点解析 #### 一、DWR(Direct Web Remoting)简介 DWR(Direct Web Remoting)是一种简化Ajax应用开发的技术。它允许JavaScript直接调用服务器端的Java方法,使得开发者能够更加方便地进行...
`dwr.xml` 文件是DWR的配置文件,用于设置DWR的行为,如允许访问的Java类和方法、安全性设置、错误处理等。通过编辑这个文件,开发者可以控制哪些服务器端的对象和方法可以被AJAX调用,以及如何处理这些调用。此外,...
DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在...
这表明DWR团队在错误修复和优化方面付出了大量努力,确保了该框架的可靠性和兼容性。 DWR的核心特性包括: 1. **反向Ajax**:DWR允许服务器主动推送数据到客户端,而不仅仅是响应客户端的请求。这种功能在实时更新...
6. **错误处理**: DWR提供了一套完整的错误处理机制,包括服务器端和客户端的错误报告,帮助开发者快速定位和修复问题。 7. **Caching**: 为了提高性能,DWR支持缓存服务器端的Java对象实例,这样后续的调用就无需...
DWR.xml配置文件说明书 1、 建立dwr.xml 配置文件 任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,格式如下: <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" ...
DWR.xml文件是DWR框架的核心配置,它定义了哪些服务器端的Java对象可以被JavaScript访问,以及这些对象的映射、安全设置和其他配置选项。通过配置这个文件,开发者可以精细控制DWR的行为,比如设置安全策略、URL映射...