S-Docker_02_基本概念_01_镜像
2016-01-29 18:14
761 查看
在项目中,如果需要发布web服务时,不妨也考虑一下hessian,这么一个轻量简洁的实现方式。以下是一个入门级实例。
1.服务端代码:
HessianImpl.java
web.xml
2.客户端代码
1.服务端代码:
IHessian.java: package hessian; import java.util.List; import java.util.Map; public interface IHessian { public String say(String msg); public Map getMap(); public User getUser(); public List getList(); }
HessianImpl.java
package hessian; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.caucho.hessian.server.HessianServlet; public class HessianImpl extends HessianServlet implements IHessian{ public String say(String msg) { return "Hello " + msg; } public Map getMap() { Map map = new HashMap(); map.put("work", "任务"); return map; } public User getUser() { User user = new User(); user.setAdd("上海"); user.setName("刘德华"); return user; } public List getList() { List list = new ArrayList(); list.add("a"); list.add(getUser()); list.add(getMap()); return list; } }
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>ihessian</servlet-name> <servlet-class>hessian.HessianImpl</servlet-class> </servlet> <servlet-mapping> <servlet-name>ihessian</servlet-name> <url-pattern>/hessian.ao</url-pattern> </servlet-mapping> </web-app>
2.客户端代码
package hessian; import java.net.MalformedURLException; import com.caucho.hessian.client.HessianProxyFactory; public class TestHessian { public static void main(String[] args) { String url = "http://localhost:8080/hessian/hessian.ao"; HessianProxyFactory factory = new HessianProxyFactory(); IHessian h = null; try { h = (IHessian) factory.create(IHessian.class, url); } catch (MalformedURLException e) { System.out.println("occur exception: " + e); } System.out.println(h.say("world")); System.out.println(h.getMap()); System.out.println(h.getList()); } }
相关文章推荐
- docker容器秒死的解决办法
- Docker学习笔记(4) — 开启Docker远程访问
- Docker学习笔记(3) — docker仓库的镜像怎么删除
- docker下gitlab运行
- docker 源码分析 六(基于1.8.2版本),Docker run启动过程
- 在容器中使用quagga
- Docker镜像和容器系列(二)- 操作详解
- Docker命令详解系列(一)- Docker最常用命令速记
- docker registry私服搭建
- windows10/2016上使用docker
- Docker Registry V1 与 V2 的区别解析以及灵雀云的实时同步迁移实践
- Docker Web-UI
- Docker run命令详解 转
- docker command
- redhat7 安装 docker
- docker学习-安装及基本命令使用
- Docker SSH+NGHINX+MYSQL
- Docker学习笔记(一)
- docker学习(4) 一些常用操作
- docker 学习笔记1