前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java之Hessian4.0.2笔记

java之Hessian4.0.2笔记

原创
作者头像
IT工作者
发布2022-05-07 14:14:23
2810
发布2022-05-07 14:14:23
举报
文章被收录于专栏:程序技术知识

JAVA创建Hessian服务只需四步

1。创建服务接口

2。使用HessianProxyFactory创建客户端

3。服务器端实现服务接口

4。配置Servlet

下面将用将使用Netbeans6.8+Hessian4.0.2,经过以上四步创建一个简单的远程方法调用示例

一、创建项目

      分别创建一个名为HessianServer的JavaWeb项目和一个名为HessianClient的Java项目,

      将HessianServer设为主项目(只是方便一点,不设也无所谓)

      HessianServer上下文路径为/HessianServer(默认路径)!!!

      将hessian-4.0.2.jar分别添加至以上项目的Classpath中 下载地址http://hessian.caucho.com/

二、创建Hessian服务示例

1.创建服务接口

具体服务通过此服务器端此接口的实现类来提供,客户端通过此接口来调用实现的服务,所以HessianServer和HessianClient中都要有此接口

Java代码

代码语言:javascript
复制
package org.migle.hessian;   
/**  
 *Hessian服务接口  
 * @version 0.1 2022-05-03
 *  
 */  
public interface Hello {   
  
    public String sayHello(String smt);   
    public void printHello(String smt);   
}  
package org.migle.hessian;
/**
 *Hessian服务接口
 * @version 0.1 2022-05-03
 *
 */
public interface Hello {
 
    public String sayHello(String smt);
    public void printHello(String smt);
}

2.使用HessianProxyFactory创建客户端

Java代码

代码语言:javascript
复制
package org.migle.hessianclient;   
  
import com.caucho.hessian.client.HessianProxyFactory;   
import java.net.MalformedURLException;   
import org.migle.hessian.Hello;   
  
/**  
 *Hessian客户端  
 * @
 * @version  0.1 2022-05-03
 */  
public class Main {   
  
    public static void main(String[] args) throws MalformedURLException {   
        String url = "http://localhost/HessianServer/hessian";   
        HessianProxyFactory factory = new HessianProxyFactory();   
        Hello d = (Hello) factory.create(Hello.class, url);   
        System.out.println(d.sayHello("migle"));//打印从服务器端获取的字符串   
        d.printHello("Hessian"); //在服务器端控制台打印 "Hello Hessian"   
    }   
}  
package org.migle.hessianclient;
 
import com.caucho.hessian.client.HessianProxyFactory;
import java.net.MalformedURLException;
import org.migle.hessian.Hello;
 
/**
 *Hessian客户端
 * @version  0.1 2022-05-03
 */
public class Main {
 
    public static void main(String[] args) throws MalformedURLException {
        String url = "http://localhost/HessianServer/hessian";
        HessianProxyFactory factory = new HessianProxyFactory();
        Hello d = (Hello) factory.create(Hello.class, url);
        System.out.println(d.sayHello("migle"));//打印从服务器端获取的字符串
        d.printHello("Hessian"); //在服务器端控制台打印 "Hello Hessian"
    }
}

3.服务器端的服务接口实现

服务接口的实现可以是扩展自HessianServlet,也可以是直接一个POJO的实现来回避依赖于HessianServlet

Xml代码

代码语言:javascript
复制
<?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">  
    <session-config>  
        <session-timeout>  
            30   
        </session-timeout>  
    </session-config>  
    <welcome-file-list>  
        <welcome-file>index.jsp</welcome-file>  
    </welcome-file-list>  
    <servlet>  
        <servlet-name>hessian</servlet-name>  
        <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>  
        <init-param>  
            <param-name>service-class</param-name>  
            <param-value>org.migle.hessian.impl.HelloImpl</param-value>  
        </init-param>  
    </servlet>  
    <servlet-mapping>  
        <servlet-name>hessian</servlet-name>  
        <url-pattern>/hessian</url-pattern>  
    </servlet-mapping>  
</web-app>  
<?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">
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>hessian</servlet-name>
        <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
        <init-param>
            <param-name>service-class</param-name>
            <param-value>org.migle.hessian.impl.HelloImpl</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>hessian</servlet-name>
        <url-pattern>/hessian</url-pattern>
    </servlet-mapping>
</web-app>

4.Servet配置

Java代码

代码语言:javascript
复制
package org.migle.hessian.impl;   
  
import org.migle.hessian.Hello;   
  
/**  
 * 服务接口的具体实现  
 * @author 
 * @version v0.1 2022-05-03  
 */  
public class HelloImpl implements Hello {   
  
    public String sayHello(String smt) {   
        return smt != null ? "hello " + smt : "hello hessian";   
    }   
  
    public void printHello(String smt) {   
        System.out.println("Hello " + smt);   
    }   
}  
package org.migle.hessian.impl;
 
import org.migle.hessian.Hello;
 
/**
 * 服务接口的具体实现
 * @author 
 * @version v0.1 2022-05-03
 */
public class HelloImpl implements Hello {
 
    public String sayHello(String smt) {
        return smt != null ? "hello " + smt : "hello hessian";
    }
 
    public void printHello(String smt) {
        System.out.println("Hello " + smt);
    }
}

Hessian基本Http以二进行方式传输数据,不依赖于特定的Servelt引擎,使用简单,没有复杂的配置,根本不需要什么插件之类的来配合开发。

相当小巧,Hessian4.0.2只有不到340KB,Hessian3只有不到300KB。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档