`
longgangbai
  • 浏览: 7349063 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

闲着没事 Burlap开发学习 总结

阅读更多

       前面总结关于Hessian的开发WebService的方法,在Caucho公司开发的有两种实现远程访问调用方式:Hessian和Burlap。

 

Burlap 简介
Burlap也是有caucho提供,它和hessian的不同在于,它是基于XML-RPC协议的。
1、是基于什么协议实现的?
基于XML-RPC协议实现。
2、怎么发起请求?
根据Burlap提供的API。
3、怎么将请求转化为符合协议的格式的?
将请求信息转化为符合协议的XML格式,转化为流进行传输。
4、使用什么传输协议传输?
Http协议。
5、响应端基于什么机制来接收请求?
监听Http请求。
6、怎么将流还原为传输格式的?
根据XML-RPC协议进行还原。
7、处理完毕后怎么回应?
返回结果写入XML中,由Burlap返回至调用端。

声明服务端接口:

package com.easyway.caucho.burlap.ws;

import java.util.List;
/**
 * 声明服务端相关的服务
 * @author longgangbai
 *
 */
public interface IBurlapService {
	
	public String getUserName();
	
	public List<String> getList();
	
	public void setGreeting(String greeting);
	
	public String hello();

}

 

实现服务端的服务代码示例如下:

package com.easyway.caucho.burlap.ws;

import java.util.ArrayList;
import java.util.List;

import com.caucho.burlap.server.BurlapServlet;
/**
 * 
 * 在Burlap中服务端的必须继承BurlapServlet 类同时实现相关的服务的接口
 * 
 * @author longgangbai
 *
 */
public class BurlapWS  extends BurlapServlet  implements IBurlapService{
	private String _greeting = "Hello, world";
	/**
	 * 
	 */
	  public void setGreeting(String greeting)
	  {
	    _greeting = greeting;
	  }
	/**
	 * 
	 */
	  public String hello()
	  {
	    return _greeting;
	  }
	  /**
	   * 
	   */
	public List<String> getList() {
	   List<String> strList=new ArrayList<String>();
	   strList.add("a"); strList.add("c"); 
	   strList.add("b"); strList.add("d"); 
	   strList.add("e"); strList.add("g"); 
	   strList.add("h"); strList.add("j");
	   strList.add("k"); strList.add("l");
	   strList.add("q");
		return strList;
	}
	/**
	 * 
	 */
	public String getUserName() {
		return _greeting;
	}

}

 

客户端访问代码如下:

package com.easyway.caucho.burlap.ws;

import java.net.MalformedURLException;

import com.caucho.burlap.client.BurlapProxyFactory;
/**
 * Burlap客户端测试代码
 * @author longgangbai
 *
 */
public class BurlapServiceWSClient {
	public static void main(String[] args) {
		String url = "http://localhost:8080/BurlapWS/remoting/burlapWs";

		BurlapProxyFactory factory = new BurlapProxyFactory();
		IBurlapService basic;
		try {
			basic = (IBurlapService) factory.create(IBurlapService.class, url);

			System.out.println("hello(): " + basic.getUserName());
			System.out.println("getList(): " + basic.getUserName());
			
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

 

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">
	<servlet>
	    <servlet-name>burlapWs</servlet-name>
	    <servlet-class>com.easyway.caucho.burlap.ws.BurlapWS</servlet-class>
	</servlet>
	<servlet-mapping>
	    <servlet-name>burlapWs</servlet-name>
	    <url-pattern>/remoting/burlapWs</url-pattern>
	</servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

 

分享到:
评论

相关推荐

    Burlap开发学习

    在这个“Burlap开发学习”主题中,我们可以深入探讨这个框架的基本概念、用途、以及如何进行实际的开发工作。 Burlap是一个基于Java的开源框架,主要用于构建网络服务,尤其是RPC(远程过程调用)服务。它的设计...

    闲着没事Hessian开发WebService的总结(一)

    标题中的“闲着没事Hessian开发WebService的总结(一)”表明这是一篇关于使用Hessian框架开发Web服务的文章,作者可能在其中分享了个人的经验和理解。Hessian是一种轻量级的远程调用协议,它允许Java和.NET之间进行...

    burlap-spring-demo

    Burlap是一个轻量级的XML RPC协议 这使得他可以移植到任何可以解析XML的语言中 比起Hessian 它的可读性更强 和其他基于Xml的远程技术(如SOAP和XML RPC)不同 它的消息结构尽可能简单 不需要额外的外部定义语言 如...

    burlap-2.1.12.jar

    burlap-2.1.12.jar

    burlap-2.1.7.jar

    jar包,亲测可用

    java笔试题算法-burlap:Brown-UMBC强化学习和规划(BURLAP)java库的持续开发存储库

    代码库,用于使用和开发单代理或多代理规划和学习算法以及伴随它们的域。 该库使用高度灵活的状态/观察表示,您可以在其中使用自己的 Java 类定义状态,从而支持离散域、连续域、关系域或其他任何域。 规划和学习...

    Python库 | burlap-0.9.2.tar.gz

    **Python库burlap简介** Python作为一种强大的、广泛使用的编程语言,拥有丰富的第三方库支持,大大简化了开发者的任务。其中,`burlap`是一个相对较小但功能实用的库,主要用于处理网络请求和响应,特别是在构建...

    RLinBURLAP:BURLAP 中的原型设计算法和强化学习技术

    《RLinBURLAP:BURLAP中的原型设计算法与强化学习技术》 RLinBURLAP项目专注于在BURLAP(Behavioral Representations, Utility Learning, and Planning in Action Spaces)框架内研究和实现强化学习(Reinforcement...

    spring开发手册

    通过深入学习这本《Spring2.x 开发手册》,开发者不仅可以掌握Spring的基本用法,还能理解其设计哲学,从而在实际项目中灵活运用,提升开发效率和代码质量。手册中的实例和最佳实践将帮助读者快速上手,并逐步成为...

    Spring2.5jar所有开发包及完整文档及项开发实例.pdf

    Spring 2.5 是一个广泛使用的 Java 框架,主要设计用于简化企业级应用程序的开发。该框架的核心特点在于其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)能力。在Spring ...

    burlap-seed:应该与Ant一起使用的默认项目

    ant 使用命令行可以运行单个类 java -cp ./lib/burlap.jar:./build/jar/burlap-seed.jar main.java.HelloGridWorld java -cp ./lib/burlap.jar:./build/jar/burlap-seed.jar main.java.GridWorldDemo 转换为适用于...

    burlap_msgs:与将 ROS 连接到 BURLAP 相关的 ROS 消息文件

    目前,包含的消息用于定义 BURLAP 状态 ROS 消息。 未来,我们计划添加消息支持,以传达 ROS 生成的奖励/终止值和 BURLAP 域规范。 状态消息取自 Kevin Farrell 和 Stephen 在使用。 您可以将这些消息与 ROSJava ...

    spring framework中文开发参考手册

    《Spring Framework中文开发参考手册》是开发者们在进行Spring框架开发时的重要参考资料,它详尽地阐述了Spring的核心特性和使用方法。Spring Framework是Java平台上的一个开源应用程序框架,以其强大的依赖注入...

    Spring 2.5 开发手册

    《Spring 2.5 开发手册》是一本深入解析Spring框架2.5版本的专业指南,旨在帮助开发者理解和应用这一强大的Java企业级应用框架。Spring框架以其依赖注入、面向切面编程以及全面的企业服务支持,成为了Java开发中的...

    Spring 2.0 开发参考手册

    14.2.3. 帮助简化开发的额外的标签 14.3. Tiles 14.3.1. 需要的资源 14.3.2. 如何集成Tiles 14.4. Velocity和FreeMarker 14.4.1. 需要的资源 14.4.2. Context 配置 14.4.3. 创建模板 14.4.4. 高级配置 ...

    最新最全的spring开发包

    spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的...

    Spring应用开发实战Web Service WS

    1. **Spring支持的远程访问技术**:Spring框架支持多种远程访问技术,包括RMI(Remote Method Invocation)、JAX-RPC(Java API for XML-based Remote Procedure Call)、Hessian、Burlap、XFire以及Spring自带的...

    SSH学习笔记6 SSH学习笔记6

    Spring是一个广泛使用的Java应用框架,它可以与SSH一起使用,实现远程调用服务(如Hessian和 Burlap)或使用Spring的JMX支持通过SSH进行远程管理。这个部分可能会讲解如何配置Spring应用以支持SSH连接,以及如何使用...

Global site tag (gtag.js) - Google Analytics