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 BurlapService {
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 BurlapService {
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();
BurlapService basic;
try {
basic = (BurlapService) factory.create(BurlapService.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 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>BurlapDemo</display-name>
<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.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
分享到:
相关推荐
代码库,用于使用和开发单代理或多代理规划和学习算法以及伴随它们的域。 该库使用高度灵活的状态/观察表示,您可以在其中使用自己的 Java 类定义状态,从而支持离散域、连续域、关系域或其他任何域。 规划和学习...
《RLinBURLAP:BURLAP中的原型设计算法与强化学习技术》 RLinBURLAP项目专注于在BURLAP(Behavioral Representations, Utility Learning, and Planning in Action Spaces)框架内研究和实现强化学习(Reinforcement...
通过深入学习这本《Spring2.x 开发手册》,开发者不仅可以掌握Spring的基本用法,还能理解其设计哲学,从而在实际项目中灵活运用,提升开发效率和代码质量。手册中的实例和最佳实践将帮助读者快速上手,并逐步成为...
在服务调用上,Spring的Remoting模块支持远程过程调用(RPC),如RMI、Hessian、 Burlap等协议,使得分布式系统间的通信更为便捷。 最后,Spring Boot和Spring Cloud的出现简化了Spring应用的开发和部署,提供了...
1. **Spring支持的远程访问技术**:Spring框架支持多种远程访问技术,包括RMI(Remote Method Invocation)、JAX-RPC(Java API for XML-based Remote Procedure Call)、Hessian、Burlap、XFire以及Spring自带的...
Hessian和Burlap都是基于HTTP的,他们... Spring开发团队意识到RMI服务和基于HTTP的服务之前的空白,Spring的HttpInvoker应运而生。 Spring的HttpInvoker,它基于HTTP之上提供RPC,同时又使用了Java的对象序列化机
- **Caucho Hessian/Burlap**:DWR使用Caucho的Hessian和Burlap协议来序列化和反序列化Java对象,使得它们可以在网络上传输。 - **AutoComplete**和**Echo**:这两个是DWR提供的一些特殊服务,AutoComplete用于实现...
Spring框架是Java开发中不可或缺的一部分,它以IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)为...学习和理解Spring的这些核心概念,对于提升Java开发技能和优化项目结构至关重要。
它是许多其他JS组件库(如Rico和script.aculo.us)的基础,这些库进一步增强了Prototype的功能,使其成为一种易于学习和使用的底层框架。Prototype尤其适合Ruby on Rails(RoR)集成,因为它在RoR社区中广泛使用。 ...
DWR的特色在于其自定义的简单文本协议,这种协议使得数据传输更高效,同时降低了学习和使用的难度。 **Buffalo** 另一个Web Remoting框架,与DWR不同的是,它采用burlap协议,这是一种基于XML的RPC(Remote ...
4. Java、PHPRPC、Hessian、Burlap、AMF3、XML序列化的效率对比:这些是不同的数据序列化技术,对比它们在性能上的差异,对于优化服务端通信和数据传输有指导意义。 5. Effective Java Second Edition中文版:该书...
- **技术兼容性**:Spring鼓励与标准技术(如Servlet、JSP、JTA、JNDI、JDBC、JDO)以及第三方工具(如Hibernate、Velocity、Log4J、Hessian/Burlap)的集成。 5. **事务管理** - **Spring的事务管理**:Spring...
此外,还有Spring的远程访问支持,如RMI、Hessian和 Burlap,这些都使得分布式系统开发变得可行。 总的来说,"Spring 2.0中文参考手册"是一个全面了解和学习Spring 2.0框架不可或缺的资源。它涵盖了从基本概念到...
- 简化AJAX开发,降低学习成本。 - 提供强大的安全特性。 - 自动处理序列化和反序列化。 缺点: - 对旧版本浏览器支持有限。 - 如果不恰当使用,可能导致大量服务器请求,影响性能。 通过提供的"DWR中文文档.pdf...
此外,书中的服务远程调用(Service Remoting)章节讲解了如何利用Spring支持的不同远程调用技术,如RMI、HTTP Invoker、Hessian和 Burlap等,以便实现分布式系统的构建。 在Web层,本书对Spring MVC进行了深度剖析...
讲解如何利用Spring框架实现远程服务调用,包括RMI、Hessian、 Burlap等多种远程调用技术的集成。 **第7章:访问企业服务** 介绍如何使用Spring框架与企业级服务进行交互,如JMS、JNDI、JTA等,以及如何处理复杂的...
Spring提供了多种RPC实现,如RMI、Hessian、 Burlap和Web服务。 3. **XFire**:XFire是一款基于Java的轻量级Web服务框架,它简化了创建和消费Web服务的过程。XFire支持多种协议,如SOAP、REST,并能与Spring框架...
同时,Spring鼓励使用标准技术如Servlet、JSP、JTA、JNDI、JDBC和JDO,以及与其他工具(如Hibernate、Velocity、Log4J和Hessian/Burlap)的配合使用。 6. 选择性使用: Spring的设计使得在需要时可以轻松地添加新...
本书适合具有一定Java基础,对Spring框架有一定了解的开发者,尤其适合那些希望通过深入学习Spring框架来提高开发水平的读者。通过阅读本书,读者不仅能够掌握Spring的使用,更能够理解其背后的设计哲学和技术深度,...