Hessian---简单例子

来源:互联网 发布:淘宝开店需要什么工具 编辑:程序博客网 时间:2024/05/19 07:09
在进行基于Hessian的项目开发时,应当注意以下几点:
▲JAVA服务器端必须具备以下几点:
·包含Hessian的jar包
·设计一个接口,用来给客户端调用
·实现该接口的功能
·配置web.xml,配好相应的servlet
·由于使用二进制RPC协议传输数据,对象必须进行序列化,实现Serializable 接口
·对于复杂对象可以使用Map的方法传递
▲客户端必须具备以下几点:
·java客户端包含Hessian.jar的包。C#中引用hessianCSharp.dll
·具有和服务器端结构一样的接口。包括命名空间都最好一样

·利用HessianProxyFactory调用远程接口。



一、服务端【TestHessainServices】

1、接口

package app.demo;public interface BasicAPI {public void setTest(String test);public String hello();public User getUser();}

2、实体类

package app.demo;public interface BasicAPI {public void setTest(String test);public String hello();public User getUser();}

3、services

package app.demo;/** * @author  * @创建时间:205-4-15 * @作用: hessian服务端 * 发布在服务器上,为客户端提供接口*/public class BasicService implements BasicAPI {private String params = "测试,成功!!!";@Overridepublic void setTest(String test) {params = test;System.out.println("set greeting success:"+params);}@Overridepublic String hello() {return params;}@Overridepublic User getUser() {return new User("小明", "123456");}}


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></display-name>    <!-- hessain配置 -->  <servlet><servlet-name>hello</servlet-name><servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class><init-param><param-name>service-class</param-name><param-value>app.demo.BasicService</param-value></init-param>  </servlet>  <servlet-mapping><servlet-name>hello</servlet-name><url-pattern>/hello</url-pattern>  </servlet-mapping>    <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list></web-app>



二、客户端【TestHessianClient】

1、接口和服务端一样

2、实体类和服务端一样

3、services

package app.demo;import com.caucho.hessian.client.HessianProxyFactory;/** * @author  * @创建时间:205-4-15 * @作用: hessian客户端 * 客户端调用服务端的接口*/public class BasicClient {public static void main(String[] args) throws Exception{//   http://localhost:8081/TestHessainServices/-------发布在tomcat服务器上-----hello服务端上的web.xml配置servlet名字String url ="http://localhost:8081/TestHessainServices/hello";HessianProxyFactory factory = new HessianProxyFactory();BasicAPI basic = (BasicAPI) factory.create(BasicAPI.class, url);System.out.println("测试1:" + basic.hello());System.out.println("测试2:" + basic.getUser().getUserName());System.out.println("测试3:" + basic.getUser().getPassword());basic.setTest("测试");System.out.println("测试4:" + basic.hello());}}




0 0