`
cjj_720
  • 浏览: 32959 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jetty与hessian结合

    博客分类:
  • java
阅读更多
    Hessian是由caucho提供的一个基于binary-RPC实现的远程通讯library,支持多种语言,包括c++,java,c#等,还支持flash/flex
    Jetty 是一个开源的servlet容器,它是作为一个可以嵌入到其他的Java代码中的servlet容器而设计的。
    通过结合jetty和hessian结合,就可以通过一个普通的java工程来提供远程通信服务,而不需要建立一个web工程

    首先编写接口和服务类
   
public interface Hello {
	String sayHello(String name);
}
 

import com.caucho.hessian.server.HessianServlet;

/**
 * @author cjj
 *
 */
public class HelloImpl extends HessianServlet implements Hello {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1464625224364842441L;

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

}
    
HelloImpl 继承 HessianServlet

服务启动类:
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import org.prime.jerryhessian.service.HelloImpl;

/**
 * @author cjj
 * 
 */
public class OneServletContext {
	public static void main(String[] args) throws Exception {
		Server server = new Server(8080);

		ServletContextHandler context = new ServletContextHandler(
				ServletContextHandler.SESSIONS);
		context.setContextPath("/");
		server.setHandler(context);
		context.addServlet(new ServletHolder(new HelloImpl()), "/hello");
		
		server.start();
		server.join();
	}

}



客户端代码为:
import java.net.MalformedURLException;

import org.prime.jerryhessian.service.Hello;

import com.caucho.hessian.client.HessianProxyFactory;

/**
 * @author cjj
 *
 */
public class HelloTest {

	/**
	 * @param args
	 * @throws MalformedURLException 
	 */
	public static void main(String[] args) throws MalformedURLException {
		HessianProxyFactory factory = new HessianProxyFactory();
		Hello hello = (Hello) factory.create(Hello.class,
		"http://127.0.0.1:8080/hello");

		System.out.println(hello.sayHello("cjj")); 
	}

}



用到的jar包有
  • 大小: 22.4 KB
分享到:
评论

相关推荐

    hessian-demo示例

    Spring与Jetty的集成允许我们在不依赖其他Web服务器的情况下,快速启动并运行Hessian服务。 现在,我们详细分析“hessian-demo”项目结构和关键组件: 1. **服务端:** - 首先,创建一个服务接口,定义需要暴露给...

    Flex + Hessian 学习笔记(二)

    总的来说,这篇学习笔记将帮助读者掌握Flex与Hessian的结合使用,从而更好地构建高效、响应式的跨平台Web应用程序。通过实际代码示例和详细的解释,读者可以深化对这两种技术的理解,并提升开发技能。

    springboot + dubbo项目实例

    5. **协议与序列化**:Dubbo 提供多种通信协议,如Dubbo、HTTP、Hessian等,以及多种序列化方式,如JSON、Fastjson、Hessian2等。 **SpringBoot 集成 Dubbo** 将 Dubbo 与 SpringBoot 结合,可以充分利用 ...

    面试专题-面试人员必看-微服务架构面试专题系列:Dubbo+Spring Boot+Spring Cloud.rar

    - Hessian和protobuf作为序列化协议的区别与选择 -Dubbo的集群策略,如Failover、Failfast、Failsafe、Loadbalance等 2. **Spring Boot**:Spring Framework的简化版,旨在简化Spring应用程序的初始搭建以及开发...

    天梭(Tissot)集成SpringBoot+Dubbo等主流互联网技术栈,高度集成

    天梭项目提供的源码可以作为学习和参考的实例,帮助开发者理解和掌握SpringBoot、Dubbo与MySQL的结合使用。通过实际运行和调试代码,可以深入了解这些技术如何协同工作,以及如何在实际项目中解决常见的问题和挑战。...

    SpringBoot-Dubbo.zip

    5. **测试与监控**: 使用Mock、JUnit等进行单元测试,结合Actuator进行服务监控。 通过这个SpringBoot-Dubbo的项目,你可以学习如何将这两个强大的框架集成,理解它们各自的特性和如何协同工作,这对于构建高可用、...

    微服务架构面试专题系列:Dubbo+Spring Boot+Spring Cloud.zip

    5. **监控与调优**:熟悉Dubbo内置的监控中心,如Hessian协议的监控,以及如何通过Zookeeper进行服务治理。 接下来,Spring Boot以其简化Spring应用的初始搭建和开发过程而广受欢迎。面试中可能涉及的知识点有: 1...

    GMall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot

    - **测试与调试**:利用JUnit或Mockito进行单元测试,结合日志输出进行问题定位和调试。 总的来说,GMall项目是一个集成了SpringBoot和Dubbo的电商系统,具备优秀的可扩展性和稳定性,其源码为学习和研究提供了...

    springboot+dubbo分布式框架

    5. **协议与序列化**:支持多种通信协议(如Dubbo、HTTP、Hessian等)和序列化方式(如Java、Fastjson、Kryo等),优化数据传输效率。 **分布式组件** 在SpringBoot+dubbo的分布式架构中,常见的组件有: 1. **...

    Dubbo 博客系统 SpringBoot 博客系统.zip

    本项目是将Dubbo服务化框架与SpringBoot相结合,构建一个高效、易于管理的博客系统,旨在提供一种实践性的参考方案。 【Dubbo的核心概念与功能】 1. **服务提供者(Provider)**: 实现具体业务逻辑的服务,通过...

    springmvc+springboot+dubbo开发文档

    这篇文档将深入探讨这三者的核心概念、工作原理以及如何结合使用。 **Spring MVC** Spring MVC是Spring框架的一部分,专门用于构建Web应用程序。它遵循Model-View-Controller设计模式,提供了灵活的请求处理和视图...

    Dubbo常见问题及解决方案.docx

    其中,Spring Container是最常用的,因为它简单易用且与Spring框架紧密结合。 #### 7. Dubbo中的节点角色有哪些? Dubbo中有以下几种主要的节点角色: - **服务提供者(Provider)**:提供实际的服务实现。 - **...

Global site tag (gtag.js) - Google Analytics