一、搭建服务端
准备:hessian-4.0.33.jar
1. 新建一个web工程:HessianTest;
2. 将hessian-4.0.33.jar导入到HessianTest工程中;
3. 新建3个package:bean、serviceimpl,分别作为java bean类、接口、接口实现类的包;
以上步骤完成之后,工程结构如下:
代码如下:
HelloWorld.java
package com.suning.hessian.bean; import java.io.Serializable; /** * 序列化bean * * @author guweiqiang * @date 2017年10月31日 */ public class HelloWorld implements Serializable { private static final long serialVersionUID = 7665113881604069023L; private long id; private String name; private int age; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "HelloWorld [id=" + id + ", name=" + name + ", age=" + age + "]"; } }
HessianService.java
package com.suning.hessian.service; import com.suning.hessian.bean.HelloWorld; /** * 定义对外提供服务的接口 * * @author guweiqiang * @date 2017年10月31日 */ public interface HessianService { HelloWorld sayHelloWorld(); }
HessianServiceImpl.java
package com.suning.hessian.impl; import com.suning.hessian.bean.HelloWorld; import com.suning.hessian.service.HessianService; /** * HessianService接口实现类 * * @author guweiqiang * @date 2017年10月31日 */ public class HessianServiceImpl implements HessianService { @Override public HelloWorld sayHelloWorld() { HelloWorld helloWorld = new HelloWorld(); helloWorld.setId(1l); helloWorld.setName("guweiqiang"); helloWorld.setAge(22); return helloWorld; } }
4.添加web.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" 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_3_0.xsd"> <display-name>testHessian</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <!-- 配置 HessianServlet,Servlet的命名任意 --> <servlet-name>ServiceServlet</servlet-name> <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class> <!-- 配置接口的具体实现类 ,param-name命名任意 --> <init-param> <param-name>service-class</param-name> <param-value>com.suning.hessian.impl.HessianServiceImpl</param-value> </init-param> </servlet> <!-- 映射 HessianServlet的访问URL地址 --> <servlet-mapping> <servlet-name>ServiceServlet</servlet-name> <url-pattern>/ServiceServlet</url-pattern> </servlet-mapping> </web-app>
最后将工程添加到tomcat,并启动tomcat,输入:
http://localhost:8080//HessianTest/ServiceServlet
如果显示如下,说明hessian服务端启动成功:
二、编写测试客户端:
TestHessian.java
package com.suning.hessian; import java.net.MalformedURLException; import com.caucho.hessian.client.HessianProxyFactory; import com.suning.hessian.bean.HelloWorld; import com.suning.hessian.service.HessianService; /** * hessian测试客户端 * * @author guweiqiang * @date 2017-10-31 */ public class TestHessian { public static final String url = "http://127.0.0.1:8080/HessianTest/ServiceServlet"; public static void main(String[] args) { HessianProxyFactory factory = new HessianProxyFactory(); HessianService service = null; try { service = (HessianService) factory.create(HessianService.class, url);} catch (MalformedURLException e) { e.printStackTrace(); } //创建IService接口的实例对象 HelloWorld helloWorld = service.sayHelloWorld(); //调用Hessian服务器端的ServiceImpl类中的toString方法 System.out.println(helloWorld.toString()); } }
执行结果如下:
HelloWorld [id=1, name=guweiqiang, age=22]
至此hessian服务端和客户端搭建完成。
相关推荐
NULL 博文链接:https://qinghua0208.iteye.com/blog/493516
想学习Hessian的同志们,这个是一个简单的demo。比较简单,不过能够加深对Hessian的理解
hessian学习实例,hessian框架例子,与Spring集成。包括了server端和client端
这是一个Hessian入门学习的实例,程序包是一个web工程,使用intellij idea + Maven开发,其中通过两个方式展示了使用Hessian实现RMI的原理,一个是访问jsp页面,一个是在代码中手工创建client。对于Hessian Servlet...
webservice技术,基于spring+hessian框架开发的简单实例
如果用tomcat部署服务器,需要hessian的认证,请在E:\tomcat\apache-tomcat-7.0.69\conf\tomcat-users.xml下面配置信息:如下 <role rolename="Hessian"/> 账号" password="密码" roles="Hessian"/>
Hessian远程调用框架学习一,第一个JAVA使用hessian的入门demo,简单实用易理解
Hessian的学习笔记
NULL 博文链接:https://otom31.iteye.com/blog/1175539
该案例有hessian java python,该案例有hessian java python,该案例有hessian java python
Hessian多个版本下载,包括Hessian3.1.6,Hessian3.2.1,Hessian4.0.7
基于Hessian的冠状动脉血管造影分割方法
Hessian协议是http://caucho.com/公司开发的一种实用的web服务技术,它采用二进制数据,传输效率比较高,简单易用,是C#.NET/IIS环境快速开发web服务应用的一种解决方案。本资源中包含Hessian协议的C#版源代码,由于...
Flex + Hessian 学习笔记(二) http://wangcheng.javaeye.com/blog/141539 Flex + Hessian 学习笔记(三) http://wangcheng.javaeye.com/blog/151644 ####(重要说明) 使用过程中,根据需要请修改 Flex 里的 ...
dubbo-hessian协议http请求demo
远程方法调用的比较,Hessian方法的介绍和相关配置.Hessian是一个轻量级的remoting on http工具,采用的是Binary RPC协议,所以它很适合于发送二进制数据,同时又具有防火墙穿透能力。Hessian一般是通过Web应用来提供...
赠送jar包:hessian-4.0.63.jar; 赠送原API文档:hessian-4.0.63-javadoc.jar; 赠送源代码:hessian-4.0.63-sources.jar; 赠送Maven依赖信息文件:hessian-4.0.63.pom; 包含翻译后的API文档:hessian-4.0.63-...
多尺度hessian滤波器,图像增强,参考frangi的论文
项目分为两部分,服务端(java开发)与客户端(android)是以hessian与android简单实例,开发平台是myeclipse
Hessian是一个轻量级的remoting onhttp工具,使用...采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。参考文档地址为:http://blog.csdn.net/likunwen_001/article/details/78119765