文档章节

jetty hessian 整合

今天来找bug
 今天来找bug
发布于 2016/12/08 14:29
字数 226
阅读 43
收藏 0
点赞 0
评论 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
粉丝 8
博文 207
码字总数 36040
作品 0
深圳
程序员
SpringMVC整合Hessian

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

大山_ ⋅ 2016/11/08 ⋅ 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 ⋅ 3

浅谈Hessian远程调用及其使用

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

科比可比克 ⋅ 2016/06/29 ⋅ 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 ⋅ 0

基于Spring Boot的全注解版Hessian服务

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

Robinson_L ⋅ 2016/09/12 ⋅ 0

自己动手整合 Hessian 到 Hasor 中发布服务

Hessian 是一种通信协议,使用 Hessian 可以实现跨平台的方法调用,有点类似 SOAP。您可以使用下面任意一种语言通过 Hessian 协议进行互相调用,Hessian 本身使用的是二进制传输格式。 好了废...

哈库纳 ⋅ 2013/12/25 ⋅ 3

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

JFinal如何整合hessian?

@JFinal 你好,想跟你请教个问题: 能给个JFinal整合hessian的例子吗?或者有什么好的其他推荐也可以。

Romotc ⋅ 2013/08/14 ⋅ 3

如果不用servlet容器,jetty该怎么用(比如与netty服务器整合)

如果不用servlet容器,jetty该怎么用(比如与netty服务器整合),为什么用jetty自带的整合方式,启动netty服务器后输入url访问不了?

fengming0 ⋅ 2012/07/03 ⋅ 1

当前项目中Servlet个数的问题

@红薯 你好,想跟你请教个问题: 我这边项目中配置了一个hessian的Sevlet,还和Spring进行了整合. 但是我在JSP中输出当前ServletContext的Servlets,怎么一个都找不到呢? Enumeration enume =...

Robinson_lu ⋅ 2012/12/13 ⋅ 3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

磁盘管理—逻辑卷lvm

4.10-4.12 lvm 操作流程: 磁盘分区-->创建物理卷-->划分为卷组-->划分成逻辑卷-->格式化、挂载-->扩容。 磁盘分区 注: 创建分区时需要更改其文件类型为lvm(代码8e) 分区 3 已设置为 Linu...

弓正 ⋅ 26分钟前 ⋅ 0

Spring源码解析(六)——实例创建(上)

前言 经过前期所有的准备工作,Spring已经获取到需要创建实例的 beanName 和对应创建所需要信息 BeanDefinition,接下来就是实例创建的过程,由于该过程涉及到大量源码,所以将分为多个章节进...

MarvelCode ⋅ 46分钟前 ⋅ 0

a href="#"

<a href="#">是链接到本页,因为你有的时候需要有个链接的样式,但是又不希望他跳转,这样写,你可以把这个页面去试试

颖伙虫 ⋅ 53分钟前 ⋅ 0

js模拟栈和队列

栈和队列 栈:LIFO(先进后出)一种数据结构 队列:LILO(先进先出)一种数据结构 使用的js方法 1.push();可以接收任意数量的参数,把它们逐个推进队尾(数组末尾),并返回修改后的数组长度。 2....

LIAOJIN1 ⋅ 53分钟前 ⋅ 0

180619-Yaml文件语法及读写小结

Yaml文件小结 Yaml文件有自己独立的语法,常用作配置文件使用,相比较于xml和json而言,减少很多不必要的标签或者括号,阅读也更加清晰简单;本篇主要介绍下YAML文件的基本语法,以及如何在J...

小灰灰Blog ⋅ 今天 ⋅ 0

IEC60870-5-104规约传送原因

1:周期循环2:背景扫描3:自发4:初始化5:请求6:激活7:激活确认8:停止激活9:停止激活确认10:激活结束11:远程命令引起的返送信息12:当地命令引起的返送信息13:文件传送20:响应总召...

始终初心 ⋅ 今天 ⋅ 0

【图文经典版】冒泡排序

1、可视化排序过程 对{ 6, 5, 3, 1, 8, 7, 2, 4 }进行冒泡排序的可视化动态过程如下 2、代码实现    public void contextLoads() {// 冒泡排序int[] a = { 6, 5, 3, 1, 8, 7, 2, ...

pocher ⋅ 今天 ⋅ 0

ORA-12537 TNS-12560 TNS-00530 ora-609解决

oracle 11g不能连接,卡住,ORA-12537 TNS-12560 TNS-00530 TNS-12502 tns-12505 ora-609 Windows Error: 54: Unknown error 解决方案。 今天折腾了一下午,为了查这个问题。。找了N多方案,...

lanybass ⋅ 今天 ⋅ 0

IDEA反向映射Mybatis

1.首先在pom文件的plugins中添加maven对mybatis-generator插件的支持 ` <!-- mybatis逆向工程 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-ma......

lichengyou20 ⋅ 今天 ⋅ 0

4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例

准备磁盘分区 fdisk /dev/sdb n 创建三个新分区,分别1G t 改变分区类型为8e 准备物理卷 pvcreate /dev/sdb1 pvcreate /dev/sdb2 pvcreate /dev/sdb3 pvdisplay/pvs 列出当前的物理卷 pvremo...

Linux_老吴 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部