文档章节

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
深圳
程序员
SpringMVC整合Hessian

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

大山_
2016/11/08
46
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
浅谈Hessian远程调用及其使用

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

科比可比克
2016/06/29
67
1
com.caucho.hessian.client.HessianConnectionException: 500

最近在spring中整合Hessian报 com.caucho.hessian.client.HessianConnectionException: 500: java.io.IOException: Server returned HTTP response code: 500 for URL: http://127.0.0.1:80......

开源大法好啊
2016/09/27
812
0
基于Spring Boot的全注解版Hessian服务

首先你得先了解常见的Hessian的spring配置方式,即XML配置方式,不知道的可参考一下网上的博客,如: 1. Spring4整合Hessian4(MavenWeb实例) 2. hessian系列之三:与Spring集成 现在我们将...

Robinson_L
2016/09/12
817
0

没有更多内容

加载失败,请刷新页面

加载更多

Bash重定向详解

Bash重定向详解 Bash的重定向指的是将命令的输入和输出导向不同地方,而不是默认的标准输入、标准输出和标准错误。Bash的重定向实际上是对标准输入、标准输出和标准错误的重置,进而将所需输...

小陶小陶
今天
3
0
EventBus原理深度解析

一、问题描述 在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于Event...

yangjianzhou
今天
14
0
OpenCV图像处理实例:libuv+cvui显示摄像头视频

#include <iostream>#include <opencv2/opencv.hpp>#define CVUI_IMPLEMENTATION#include <cvui.h>extern "C"{#include <uv.h>}using namespace std;#define WINDOW_NAM......

IOTService
今天
3
0
openJDK之JDK9的String

1.openJDK8的String 先来看下openJDK8的String的底层,如下图1.1所示: 图1.1 底层上使用的是char[],即char数组 每个char占16个bit,Character.SIZE的值是16。 2.openJDK9中的String 图2.1...

克虏伯
今天
4
0
UEFI 模式下如何安装 Ubuntu 16.04

作者:知乎用户 链接:https://www.zhihu.com/question/52092661/answer/259583475 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 针对UEFI模式下安装U...

寻知者
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部