DWR跨域访问的实现是从2.0开始的
具体配置如下:
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>allowScriptTagRemoting</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>allowGetForSafariButMakeForgeryEasier</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
其中allowScriptTagRemoting,crossDomainSessionSecurity,allowGetForSafariButMakeForgeryEasier即为跨域访问所需的配置参数
跨域访问时代码如下:
<script type='text/javascript' src='http://www.a.com/dwr/interface/Theme.js'></script>
<script type='text/javascript' src='http://www.a.com/dwr/engine.js'></script>
<script>
DWREngine.setMethod(DWREngine.ScriptTag);
Theme._path = 'http://www.a.com/dwr';
Theme.method1("param",function(result){});
</script>
分享到:
相关推荐
**一、DWR跨域访问** 1. **什么是跨域访问**:跨域是指浏览器出于安全原因,不允许不同源的页面之间进行交互。源由协议、主机名和端口号组成。DWR通过设置CORS(Cross-Origin Resource Sharing)策略,允许不同源的...
通过标签,可以配置哪些Java类和方法可以被客户端JavaScript访问。此外,还可以通过标签定义特定Java对象到JavaScript对象的转换规则。这个转换器可以是内置的bean转换器、自定义转换器等,这使得在DWR中传递复杂...
例如,你可以在这里指定允许跨域访问的IP或域名,以及启用或禁用CSP(内容安全策略)。 4. **DWR配置说明**: - 在`dwr.xml`中,你可以配置`<allow>`元素来指定哪些Java类和方法可以暴露给JavaScript。例如: ```...
在实现DWR的过程中,可能会遇到一些常见问题,例如JavaScript调用Java方法时的类型转换问题,或者是跨域访问的限制。解决这些问题通常需要对DWR的配置和JavaScript API有深入的理解。 在文档《Dwr入门操作手册.doc...
5. **安全考虑**:DWR虽然方便,但也有安全风险,因为它允许跨域访问。因此,配置时要确保只暴露必要的方法,并对参数进行适当的验证,以防止XSS和CSRF攻击。 6. **缓存管理**:DWR提供了自动更新客户端JavaScript...
DWR提供了一些安全机制,如跨域访问控制、JavaScript混淆等,以防止未经授权的访问。同时,DWR还支持批处理、缓存策略等优化手段,以提升应用性能。 ### 8. DWR与其他技术结合 DWR可以与Spring、Hibernate等其他...
3. 安全性:DWR提供了多种安全策略,如跨域会话安全、白名单配置等,以防止非法访问。 4. 自动更新:DWR支持自动检测并更新客户端的JavaScript文件,以保持与服务器端的一致性。 总的来说,这个DWR3示例是一个宝贵...
2. **创建可远程调用的Java类和方法**: 标记这些类和方法为可被DWR访问。 3. **生成JavaScript接口**: DWR会自动根据Java类生成对应的JavaScript接口,这些接口可以直接在客户端调用。 4. **在HTML/JavaScript中使用...
使用DWR时,首先要在服务器端创建一个DWR引擎实例,并配置允许客户端访问的Java对象和方法。接着,在客户端,通过引入DWR生成的JavaScript文件,就可以直接调用这些服务器端的方法。DWR简化了跨域问题,让开发者...
- **Web Remoting**:远程调用技术,让客户端能够跨域访问服务器端的资源。 - **AJAX**:异步JavaScript和XML,用于创建更动态、响应更快的网页,无需刷新整个页面即可更新内容。 - **JavaScript Framework**:...
在“dwr推送及js访问java代码”的项目中,我们可以看到如何利用DWR进行双向通信。首先,DWR的核心组件包括`DWR Engine`、`Servlet`和`AutoBean`等。`DWR Engine`负责在客户端和服务器之间建立连接,`Servlet`处理...
1. **dwr.xml**:这是DWR的自定义配置文件,用于定义哪些Java方法可以被JavaScript访问。例如,你可以指定某个服务类及其公开的方法,以及这些方法的输入参数类型等。这样,JavaScript代码就可以安全地调用这些方法...
- **配置DWR**:在web.xml中配置DWR的Servlet和Context参数,声明允许的Java类和方法。 - **创建Java类**:定义可被DWR调用的Java类和方法。 - **生成JavaScript接口**:使用DWR工具生成对应的JavaScript接口文件...
同时,由于DWR默认不允许跨域访问,可能需要配置CORS策略或者使用DWR的`crossDomain`属性。此外,对于返回的数据类型,DWR默认支持基本类型和部分复杂类型,如果需要返回自定义对象,需要实现序列化。 综上所述,...
DWR的配置包括设置允许跨域访问,暴露Spring Bean为JavaScript可用的方法,以及处理错误和异常。这样,当用户点击提交按钮时,JavaScript可以立即发送请求到服务器,验证验证码的正确性,然后根据结果给出反馈。 ...
**8.4 从其他URL读取数据**:DWR不仅支持从本地服务器获取数据,还可以跨域调用其他服务器的服务。 **8.5 安全性**:DWR内置了一些安全措施来防止常见的攻击手段,但开发者还需要根据实际情况加强安全策略。 #### ...
DWR提供了一些安全特性,如CSRF防护、方法访问控制等。同时,可以通过配置减少网络传输的数据量,比如启用GZIP压缩,或者使用批处理调用来合并多个请求。 **七、实际应用** DWR常用于构建富互联网应用(RIA),例如...
Remoting允许你在浏览器中直接调用服务器端的方法,Reverse Ajax则是指服务器可以主动向客户端推送数据,而CORS则解决了跨域访问的问题。 2. **DWR架构**:DWR由三个主要部分组成:`Engine`、`Servlet`和`...