Hessian

Hessian是遠程調用的一種技術,和WebService類似,但不同的是較WebService而言,它更輕量級,更簡單,更快速。

關於Hessian更詳細全面的介紹可以查看http://hessian.caucho.com/

下面就用一個例子來簡單的使用Hessian。

一、創建服務端:

1、在Eclipse建立一個Maven webapp項目hessian,如圖:

wKiom1VAbAvRLI8gAAHbQ2utv3c544.jpg

2、在項目中添加Hessian的依賴pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>hessian</groupId>

  <artifactId>com.xt.hessian</artifactId>

  <packaging>war</packaging>

  <version>0.0.1-SNAPSHOT</version>

  <name>com.xt.hessian Maven Webapp</name>

  <url>http://maven.apache.org</url>

  <dependencies>

     <dependency>

         <groupId>junit</groupId>

         <artifactId>junit</artifactId>

         <version>4.8.2</version>

     </dependency>

    <dependency>

<groupId>com.caucho</groupId>

<artifactId>hessian</artifactId>

<version>4.0.7</version>

     </dependency>

    <dependency>

    <groupId>javax.servlet</groupId>

    <artifactId>servlet-api</artifactId>

    <version>2.5</version>

    </dependency>

  </dependencies>

  <build>

    <finalName>com.xt.hessian</finalName>

  </build>

</project>

3、添加一個提供Hessian服務的接口和實現類:

package com.xt.hessian;

/**

     * @ClassName: HessianService

     * @Description: Hessian服務接口

     * @date 2015-04-29 下午10:41:26

     * 

     */

public interface HessianService {

public String sayHello(String name);

}




package com.xt.hessian.impl;

import com.caucho.hessian.server.HessianServlet;

import com.xt.hessian.HessianService;

public class HessianServiceImpl extends HessianServlet implements HessianService   {


/**

* @Description: Hessian服務接口實現類

*/

private static final long serialVersionUID = 1L;


@Override

    public String sayHello(String name) {

       return "hello " + name;

    }

}


4、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"> 


  <display-name>Archetypes Created Web Application</display-name>

  <servlet>

      <servlet-name>service</servlet-name>

      <servlet-class>com.xt.hessian.impl.HessianServiceImpl</servlet-class>

   </servlet>

  <servlet-mapping>

     <servlet-name>service</servlet-name>

     <url-pattern>/service</url-pattern>

  </servlet-mapping>

</web-app>

二、創建客戶端:創建測試類:


package hessian;


import java.net.MalformedURLException;


import org.junit.Test;


import com.caucho.hessian.client.HessianProxyFactory;

import com.xt.hessian.HessianService;


public class HessianServiceTest {

private final static String SERVICE_URL = "http://localhost:8088/hessian/service";

 

@Test

public void testSayHello() {

HessianProxyFactory proxyFactory = new HessianProxyFactory();

try {

HessianService hessianService = (HessianService)            proxyFactory.create(HessianService.class, SERVICE_URL);

               System.out.println(hessianService.sayHello("hessian!!!"));

            } catch (MalformedURLException e) {

               e.printStackTrace();

            }

 }

}


運行結果:

wKioL1VAb1jDb-8CAAC5GsupfMk256.jpg

hello hessian!!!


三、注意:如果服務端不啓動,會報如下錯誤:

wKioL1VAlc_izqqqAAdW_B7rEvo686.jpg


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章