`
jacky68147527
  • 浏览: 211113 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

DWR实现跨域访问

    博客分类:
  • Ajax
阅读更多
web.xml配置信息

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <servlet>
  	<servlet-name>dwr-invoker</servlet-name>
  	<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
  	
  	<!-- start config dwr can be request by remote -->
  	<init-param>
  		<param-name>debug</param-name>
  		<param-value>true</param-value>
  	</init-param>
  	
  	<init-param>
  		<param-name>allowGetForSafariButMakeForgeryEasier</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>allowScriptTagRemoting</param-name>
  		<param-value>true</param-value>
  	</init-param>
  	<!-- end config dwr can be request by remote -->  	
  </servlet>
  
  <servlet-mapping>
		<servlet-name>dwr-invoker</servlet-name>
		<url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>
</web-app>

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
dwr.xml的配置信息

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
	<allow>		
		<create javascript="TestCross" creator="new">
			<param name="class" value="com.topking.test.Operator"/>			
		</create>
	</allow>
</dwr>

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

java类代码

package com.topking.test;
import org.directwebremoting.WebContext;
import org.directwebremoting.WebContextFactory;
public class Operator {
	public String greeting(String src){
		WebContext context = WebContextFactory.get();
		String ip = context.getHttpServletRequest().getRemoteAddr().toString();//获取客户端IP
		return "hello "+src+"  Your IP : "+ip;
	}
}

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------


页面代码
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'TestDWRCross.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	<script type='text/javascript' src='/Ajax_chat/dwr/engine.js'></script>
	<script type='text/javascript' src='/Ajax_chat/dwr/util.js'></script>
	<script type="text/javascript" src='http://www.myspace.com:8080/DWR_cross/dwr/interface/TestCross.js'></script>
	
	<script type="text/javascript">
		function sendMsg(){
			DWREngine.setMethod(DWREngine.ScriptTag);			
			TestCross.greeting(DWRUtil.getValue("userName"),function(data){alert(data);});
		}
	</script>
  </head>
  
  <body>
    Input Your Name:<input type="text" id="userName"/>&nbsp;<input type="button" value="Submit" onclick="sendMsg();"/> <br>
  </body>
</html>

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------




分享到:
评论
2 楼 jacky68147527 2009-02-25  
kimmking 写道

混淆概念, 跨域的不是dwr, 是js ok? 管理员呢,隐了吧

如果不配置DWR,怎么实现JS的跨域?!

1 楼 kimmking 2009-02-24  
混淆概念,
跨域的不是dwr,
是js

ok?


管理员呢,隐了吧

相关推荐

    dwr跨域访问以及dwr的使用+dwr.jar

    2. **DWR的跨域解决方案**:DWR通过提供动态生成的JavaScript文件和Servlet来实现跨域。这些JavaScript文件包含对服务器端方法的引用,使得前端可以安全地调用后端服务。DWR的CORS支持可以通过配置文件或注解来启用...

    dwr实现ajax功能ajax+dwr

    2. **创建可远程调用的Java类和方法**: 标记这些类和方法为可被DWR访问。 3. **生成JavaScript接口**: DWR会自动根据Java类生成对应的JavaScript接口,这些接口可以直接在客户端调用。 4. **在HTML/JavaScript中使用...

    dwr3实现推送功能

    确保正确配置DWR的安全设置,例如限制可访问的Java方法、启用CSRF保护等。 9. **调试与监控** DWR 3 提供了内置的调试工具,可以帮助开发者查看和调试DWR请求和响应。此外,通过监控服务器日志,可以了解推送服务...

    java 采用dwr框架构实现ajax

    DWR提供了一些安全特性,如CSRF防护、方法访问控制等。同时,可以通过配置减少网络传输的数据量,比如启用GZIP压缩,或者使用批处理调用来合并多个请求。 **七、实际应用** DWR常用于构建富互联网应用(RIA),例如...

    Dwr3 实现消息推送步骤详解

    下面我们将详细介绍Dwr3实现消息推送的步骤,并涉及与ScriptSessionListener、跨域问题以及Maven的集成。 首先,我们需要理解DWR3的消息推送机制。DWR的Push功能基于Comet技术,这是一种使服务器能够主动向客户端...

    dwr.jar/dwr-2.0.5-src.zip/dwr.zip

    Direct Web Remoting (DWR) 是一个开源Java库,它允许Web应用程序在浏览器和服务器之间进行实时、安全的双向通信。这个资源包包含了DWR的jar文件和...通过深入理解和实践,你可以利用DWR实现高效、动态的Web应用交互。

    dwr反转实现及时聊天

    1. `dwr.xml` 文件是DWR的核心配置文件,它定义了哪些Java对象可以被JavaScript访问。在提供的示例中,有一个名为`MyReverse`的Java类,它会被反转到客户端供JavaScript调用。配置如下: ```xml &lt;!DOCTYPE dwr ...

    ssh+dwr 整合案例

    通过SSH与DWR的整合,开发者可以利用SSH的强大功能进行业务逻辑处理,同时利用DWR实现快速的客户端更新,构建出高效、动态的Web应用。在实际项目中,这种整合可以提高开发效率,减少网络通信开销,提升用户满意度。

    DWR中文文档 (DWR 2.0)

    **8.4 从其他URL读取数据**:DWR不仅支持从本地服务器获取数据,还可以跨域调用其他服务器的服务。 **8.5 安全性**:DWR内置了一些安全措施来防止常见的攻击手段,但开发者还需要根据实际情况加强安全策略。 #### ...

    dwr实例,从后台取数据显示

    Direct Web Remoting (DWR) 是一种开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而实现动态Web应用程序。DWR的主要功能是通过AJAX技术在客户端和服务器之间进行实时通信,使得用户界面...

    dwr推送及js访问java代码

    在“dwr推送及js访问java代码”的项目中,我们可以看到如何利用DWR进行双向通信。首先,DWR的核心组件包括`DWR Engine`、`Servlet`和`AutoBean`等。`DWR Engine`负责在客户端和服务器之间建立连接,`Servlet`处理...

    dwr消息推送完整示例

    如果需要跨域访问,配置DWR以允许跨域请求,并在服务器端处理CORS(Cross-Origin Resource Sharing)策略。 总的来说,"dwr消息推送完整示例"旨在展示如何利用DWR实现实时的消息推送,这对于构建交互性强、用户...

    dwr消息推送

    5. **安全考虑**:DWR允许跨域访问,因此需要设置合适的安全性控制,例如白名单限制、CSRF令牌等。 **实际应用场景** DWR在实时聊天、股票报价、在线协作工具、游戏等多个领域都有广泛的应用。通过DWR,开发者可以...

    DWR3.0.1jar打包

    - **CORS**:由于DWR支持跨域通信,必须注意CORS(跨源资源共享)设置,防止未授权访问。 - **安全过滤**:使用DWR的白名单或安全过滤器来限制可以暴露给客户端的Java方法。 总结起来,DWR3.0.1jar打包涉及了DWR...

    dwr3.0搭建与讲解

    DWR提供了一些安全机制,如跨域访问控制、JavaScript混淆等,以防止未经授权的访问。同时,DWR还支持批处理、缓存策略等优化手段,以提升应用性能。 ### 8. DWR与其他技术结合 DWR可以与Spring、Hibernate等其他...

    DWR中文文档

    Remoting允许你在浏览器中直接调用服务器端的方法,Reverse Ajax则是指服务器可以主动向客户端推送数据,而CORS则解决了跨域访问的问题。 2. **DWR架构**:DWR由三个主要部分组成:`Engine`、`Servlet`和`...

    struts2与dwr整合实例

    同时,由于DWR默认不允许跨域访问,可能需要配置CORS策略或者使用DWR的`crossDomain`属性。此外,对于返回的数据类型,DWR默认支持基本类型和部分复杂类型,如果需要返回自定义对象,需要实现序列化。 综上所述,...

    dwr的简单配置与实现

    - 可以通过设置`crossDomainEnabled="false"`禁止跨域访问。 7. **调试与优化** - DWR提供内置的调试模式,可以在浏览器的JavaScript控制台看到详细的日志信息。 - 使用DWR的批处理功能,减少网络请求次数,提高...

    dwr实例及简单文档

    5. **安全与性能**:DWR支持跨域访问控制(CORS),可以通过配置文件来设定允许的源。同时,为了优化性能,DWR有缓存机制和批处理功能,可以减少网络请求次数。 6. **DWR的调试**:DWR提供了内置的控制台,可以通过...

Global site tag (gtag.js) - Google Analytics