文档章节

jetty hessian 整合

今天来找bug
 今天来找bug
发布于 2016/12/08 14:29
字数 226
阅读 43
收藏 0

先写一个interface:

import com.alibaba.fastjson.JSONObject;

public interface Hello {

    String sayHello(String name);

    JSONObject findHero(String name);

}

写一个interface的实现类:

import com.alibaba.fastjson.JSONObject;
import com.caucho.hessian.server.HessianServlet;

public class HelloImpl extends HessianServlet implements Hello {

    private static final long serialVersionUID = 1464625224364842441L;

    @Override
    public String sayHello(String name) {
        return "Hello " + name;
    }

    @Override
    public JSONObject findHero(String name) {
        JSONObject hero = new JSONObject();
        hero.put("name", name);
        hero.put("age", "76");
        return hero;
    }
}

将这个实现类加到jettyserver中:

  1. import org.eclipse.jetty.server.Server;  
  2. import org.eclipse.jetty.servlet.ServletContextHandler;  
  3. import org.eclipse.jetty.servlet.ServletHolder;  
  4.   
  5. public class HessianTest {  
  6.   
  7. public static void main(String[] args) throws Exception {  
  8. Server server = new Server(3389);  
  9. ServletContextHandler context = new ServletContextHandler(  
  10. ServletContextHandler.SESSIONS);  
  11. server.setHandler(context);  
  12. ServletHolder servletHolder = new ServletHolder(new HelloImpl());  
  13. context.addServlet(servletHolder, "/hello");  
  14. server.start();  
  15. server.join();  
  16. }  
  17.   

运行HessianTest,此时,jettyserver就启动了,然后再写个测试的client:

public class TestApp {

    public static void main(String[] args) {
        try {
            HessianProxyFactory factory = new HessianProxyFactory();

            String url = "http://localhost:3389/hello";

            Hello us = (Hello)factory.create(Hello.class,url);
            String jsonObject = us.sayHello("123");
            System.out.println(jsonObject);
            JSONObject hero = us.findHero("张飞");
            System.out.println(hero);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

返回结果:

Hello 123
{"name":"张飞","age":"76"}

表示成功!!!

© 著作权归作者所有

共有 人打赏支持
今天来找bug
粉丝 9
博文 214
码字总数 36040
作品 0
深圳
程序员
私信 提问
spring集成hessian 错误

2013-01-29 16:19:13.359:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:80 2013-01-29 16:19:19.828:WARN:oejs.ServletHandler:/video/issuelist.cc org.springfram......

JJSmith
2013/01/29
4K
3
XXL-RPC v1.2.0,分布式服务框架

新特性 1、核心模块重度重构:模块化划分、包名重构; 2、轻量级/模块化改造:移除对具体组件的依赖,如ZK、Netty、Mina等,改为可选扩展方式; 3、支持多种请求方式,如:SYNC、ONEWAY、FUT...

许雪里
10/26
0
0
dubbo源码学习笔记----整体结构

dubbo核心包 config dubbo-config-api dubbo-config-spring remoting dubbo-remoting-netty dubbo-remoting-netty4 dubbo-remoting-mina dubbo-remoting-grizzly dubbo-remoting-p2p dubbo-......

春哥大魔王的博客
01/13
0
0
SpringMVC整合Hessian

SpringMVC整合HessianSpring整合Hessian的demo网上一堆,适用于Srping+Struts2+Mybatis。但是SpirngMVC整合Hessina的也是很常见的,毕竟SpringMVC已经慢慢代替了Struts2。那么问题来了,因为...

大山_
2016/11/08
46
0
浅谈Hessian远程调用及其使用

1.1 概述 Hessian是一个轻量级的remoting onhttp工具,是由 caucho 提供的一种开源的远程通讯协议。相比WebService,Hessian更简单、快捷、同时支持跨语言通讯。Hessian采用的是二进制RPC协议...

科比可比克
2016/06/29
67
1

没有更多内容

加载失败,请刷新页面

加载更多

探索802.11ax

802.11ax承诺在真实条件下改善峰值性能和最差情况。 如何改善今天的Wi-Fi? 在决定如何改进当前版本以外的Wi-Fi时,802.11ac,IEEE和Wi-Fi联盟调查了Wi-Fi部署和行为,以确定更广泛使用的障碍...

linuxprobe16
5分钟前
0
0
使用linux将64G的SDCARD格式化为FAT32

一、命令如下: sudo fdisk -lsudo mkfs.vfat /dev/sda -Isudo fdisk /dev/sda Welcome to fdisk (util-linux 2.29.2). Changes will remain in memory only, until you decide to wri......

mbzhong
43分钟前
4
0
深入理解Plasma(四):Plasma Cash

这一系列文章将围绕以太坊的二层扩容框架,介绍其基本运行原理,具体操作细节,安全性讨论以及未来研究方向等。本篇文章主要介绍在 Plasma 框架下的项目 Plasma Cash。 深入理解Plasma(1):...

HiBlock
昨天
1
0
命令参数的三大风格:Posix、BSD、GNU

今天读到命令行中参数的风格有三大类,即Unix/Posix、BSD、GNU。分别有以下特征: Unix/Posix风格,即命令后的参数,可以分组,便必须以连字符开头,如ps -aux。 BSD风格,即命令后的参数,可...

大别阿郎
昨天
2
0
PHP生成图片验证码

PHP生成图片验证码 /** * PHP生成图片验证码 * Class VerifyImage */class VerifyImage{ // 生成随机字串 private $verifyCode; // 图片对象 private $image; /**...

DrChenXX
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部