初识 hessian--helloworld

说实话在这个知识大爆炸的年代里,真心是学无止境的呀,出来工作了见得世面也就广了,关于hessian这个名词是组长在讲入职第一天讲需求的时候提到的,当时都不知道hessian怎么写,通过一个多月对项目的了解,渐渐知道了hessian但是在项目中的运用我还是不很明白,也可见这个框架封装的很好,不过我这么有探索精神的孩子绝对不能就这样放过hessian这个知识点的,这次就来说说hessian这个轻量级的远程调用工具吧。

其实说到远程调用我并不陌生,因为之前的高校项目就是基于远程调用的,所以了解其hessian来也并不困难,下面就从最简单的开始吧!

一、hessian简介

Hessian是一个轻量级的remoting on http工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。

二、helloworld

了解一个新的技术点,首先从helloworld开始,下面就通过helloworld来看看hessian的使用吧!

1、首先创建web项目

2、分别创建服务接口和服务的实现,代码如下:

package com.tgb.hessian.service;
public interface HelloService {

    /**
     * hellworld 服务类接口
     * @author 陈丽娜
     * @version 2015年7月26日下午6:18:41
     * @return
     */
    public String HellowWorld(String name);
} 

package com.tgb.hessian.service.impl;
import com.tgb.hessian.service.HelloService;
/**
 * 服务实现类
 * @author 陈丽娜
 * @version 2015年7月26日下午9:17:03
 */
public class HelloServiceImpl implements HelloService {
    @Override
    public String HellowWorld(String name) {
        // TODO Auto-generated method stub
        return "hello" + name;
    }
}

3、引入hessian的jar包:

把jar引入到lib下

4、配置web.xml文件

<?xml ver<img src="data:image/png;base64,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" alt="" />sion="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>HessianTest</display-name>

      <welcome-file-list>
         <welcome-file>index.jsp</welcome-file>
     </welcome-file-list>

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

         <servlet-class>
             com.caucho.hessian.server.HessianServlet
         </servlet-class>

         <init-param>
             <param-name>home-class</param-name>
             <param-value>
                 <!-- 服务实现类 -->
                 com.tgb.hessian.service.impl.HelloServiceImpl
             </param-value>
         </init-param>

         <init-param>
             <param-name>home-api</param-name>
             <!-- 服务接口 -->
             <param-value>com.tgb.hessian.service.HelloService</param-value>
         </init-param>

     </servlet>

     <servlet-mapping>
         <servlet-name>hessian-service</servlet-name>
         <url-pattern>/hessian</url-pattern>
     </servlet-mapping>
</web-app>  

5、接口打成jar包

为了客户端的调用,需要将服务端接口打成jar以便客户端的调用。

6、客户端调用

新建一个java项目,同样引入hessian的jar包,同时还需要引入上一步导出的jar包:

新建一个测试类:

package com.tgb.hessian.test;
import java.net.MalformedURLException;
import org.junit.Test;
import com.caucho.hessian.client.HessianProxyFactory;
import com.tgb.hessian.service.HelloService;
public class TestHessian {
        @Test
        public void  Test1() throws MalformedURLException {
            String url = "http://localhost:8080/HessianTest/hessian";
             System.out.println(url);

            HessianProxyFactory factory = new HessianProxyFactory();
            HelloService helloService = (HelloService) factory.create(HelloService.class, url);
            System.out.println(helloService.HellowWorld("陈丽娜"));
        }
}

运行结果如下:

经过这个简单的demo是不是觉得hessian很轻量级,很简单呢,下篇博客就来写写hessian与spring的结合吧!

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-17 23:25:10

初识 hessian--helloworld的相关文章

初识hessian

最近的项目中用到了hessian调用服务,做一下总结. Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单.快捷.采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据. 接触到了两种方式实现hessian,纯servlet方式和spring方式.说白了就是需要一个提供service的服务器,还有一个client通过访问service的URL来调用那个service. 创建服务

计算机科学精彩帖子收集

inux源码 LXR 源自"the Linux Cross Referencer",中间的"X"形象地代表了"Cross".与 Source Navigator 类似,它也是分析阅读源代码的好工具.不同的是,它将源代码借助浏览器展示出来,文件间的跳转过程成了我熟悉的点击超链接动作. http://lxr.linux.no/   LXR安装过程简介 linux手册 http://linux.die.net/man/ Linux每周新闻 http:/

Hessian知识学习总结(二)——Hessian的helloworld

一.下载Hessian 可在hessian官网http://hessian.caucho.com/ 或者http://download.csdn.net/detail/wodediqizhang/9543682下载jar包.此处用的是hessian-4.0.3.jar 二. 搭建Hessian的Server 2.1.新建一个web项目,HessianTest,如图1.将hessian-4.0.3.jar放在lib下. 2.2.提供服务接口HessianService,代码如下: [java] v

初识RabbitMQ系列之一HelloWorld

Server端代码: 1 package com.helloworld; 2 3 import java.io.IOException; 4 5 import com.rabbitmq.client.Channel; 6 import com.rabbitmq.client.Connection; 7 import com.rabbitmq.client.ConnectionFactory; 8 9 public class Send { 10 /** 发送目的地队列名称 */ 11 priva

第一篇:初识ASP.NET控件开发_第二节:HelloWorld

1)步骤一:新建类库项目:Controls,创建新解决方案:CustomLibrary 2)步骤二:在类库项目中添加"ASP.NET服务器控件"新建项:RenderHelloWorld.cs (也可以是新建类) 3)步骤三:修改RenderHelloWorld.cs代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using Syst

初识MyBatis之HelloWorld

1.先下载MyBatis相关Jar包. 2. 创建数据库和表 CREATE TABLE tbl_employee( id INT(11) PRIMARY KEY AUTO_INCREMENT, last_name VARCHAR(255), gender CHAR(1), email VARCHAR(255) ) 3.创建实体类Employee 注意:属性名称可以不对应字段名称,只需在sql语句中给字段起别名就好了. 1 package com.atguigu.mybatis.bean; 2 3

初识Storm之HelloWorld程序源码

1. 新建一个Maven项目,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/xsd/maven-4.0.0.

HelloWorld RabbitMQ

RabbitMQ入门-从HelloWorld开始 从读者的反馈谈RabbitMQ 昨天发完<RabbitMQ入门-初识RabbitMQ>,我陆陆续续收到一些反馈.鉴于部分读者希望结合实例来讲 期待下篇详细,最好结合案例.谢谢! 哪都好,唯一缺点就是不支持原生ha,配置起来太复杂 ... 上篇主要介绍了什么RabbitMQ,RabbitMQ能用来做什么,一些有关RabbitMQ的基本概念,同时还简单介绍了两种RabbitMQ的分发消息的模型.从这篇起,我们将改变原来的思路,针对每种模型详细讲解,

Android网络框架OkHttp之get请求(源码初识)

概括 OkHttp现在很火呀.于是上个星期就一直在学习OkHttp框架,虽然说起来已经有点晚上手了,貌似是2013年就推出了.但是现在它版本更加稳定了呀.这不,说着说着,OkHttp3.3版本在这几天又发布了.以下以OkHttp3.2版本为准,没办法,上个星期看的时候还是以3.2为最新版本的.首先,我们要先了解一些背景,OkHttp这个框架是有Square公司推出的,进入官网.如果想看API,点击进入API.大概了解了OkHttp之后,我们应该知道OkHttp是一个网络框架,想想以前在开发中,网

Maven实战之初识MavenMaven的简单介绍

Maven实战之初识MavenMaven的简单介绍 作用:Maven主要用于项目的构建,管理项目的依赖以及项目的信息(自动化构建.编译.单元测试.生成文档.打包.部署) 优势:相对于Ant.Make等,Maven抽象构建过程,提供构建任务的实现,自动化构建,有效地提高了开发效率,使开发人员可以集中精力在主要的开发任务上.而且Maven是跨平台工具,意味着在主流操作系统中,Maven都提供了对应的技术支持 使用注意:需要在JDK1.4及以上版本使用 Maven的安装下载地址:Maven下载地址,选