Java hessian基础教程
来源:互联网 发布:体育比赛直播软件 编辑:程序博客网 时间:2024/05/18 03:43
服务端
使用maven引入hessian依赖或者到官网下载hessianjar包,http://hessian.caucho.com/。
<dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId> <version>4.0.38</version></dependency>
public class User implements Serializable { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; }}
public interface BasicService { String hello(User user);}
2、使用java的jar命令导出上述服务接口和DTO的字节码文件到hessian-client.jar包中,这个jar包要提供给客户端调用。
3、创建一个服务接口实现类,该类实现上述服务接口。
public class BasicServiceImpl implements BasicService { @Override public String hello(User user) { return "hello " + user.getName(); }}
<servlet> <servlet-name>hessianServlet</servlet-name> <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class> <init-param> <param-name>home-api</param-name> <param-value> <!-- 服务接口,参数名也可以是api-class --> com.test.hessian.BasicService </param-value> </init-param> <init-param> <param-name>home-class</param-name> <param-value> <!-- 服务实现类,参数名也可以是service-class --> com.test.hessian.BasicServiceImpl </param-value> </init-param></servlet>
<servlet-mapping> <servlet-name>hessianServlet</servlet-name> <url-pattern>/hessian/test</url-pattern></servlet-mapping>
5、运行服务端,可以将war包放到外部tomcat等servlet容器中运行,也可以用maven的jetty插件运行。
客户端
新建普通java项目,引入hessian的jar包和服务端导出的服务接口和DTO字节码jar包。调用示例:
public static void main(String[] args) throws Exception { HessianProxyFactory factory = new HessianProxyFactory(); String url = "http://localhost:8081/posp/hessian/test"; BasicService basicService = (BasicService) factory.create(BasicService.class, url); User user = new User(); user.setName("测试"); System.out.println(basicService.hello(user)); }输出:hello 测试
客户端https调用
public static void main(String[] args) throws Exception { javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1]; trustAllCerts[0] = new X509TrustManager() { @Override public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { } @Override public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { } @Override public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; } }; javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext .getInstance("SSL"); sc.init(null, trustAllCerts, null); javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc .getSocketFactory()); HostnameVerifier hv = new HostnameVerifier() { public boolean verify(String urlHostName, SSLSession session) { return true; } }; HttpsURLConnection.setDefaultHostnameVerifier(hv); HessianProxyFactory factory = new HessianProxyFactory(); String url = "https://localhost:8443/posp/hessian/test"; BasicService basicService = (BasicService) factory.create(BasicService.class, url); User user = new User(); user.setName("world"); System.out.println(basicService.hello(user)); }
0 0
- Java hessian基础教程
- java hessian
- hessian (Java 篇)
- Hessian---java远程通讯
- hessian java调用
- hessian Java初探
- Hessian通信案例(java)
- Hessian源码分析(java)
- java调用hessian配置
- Java:Hessian框架使用
- java基础教程
- JAVA基础教程
- java基础教程
- java基础教程
- Java基础教程
- Java基础教程
- Java基础教程
- java基础教程
- [JQuery]随心所欲添加删除按钮Click事件
- linux下增加swap分区
- 闲谈swi与ucos-终结
- c++上机报告4(循环)
- 如何修改element.style内联样式;
- Java hessian基础教程
- 通话设置
- FFmpeg 模块组成
- maven的pom报plugins错误的解决方法.
- 4种单片机驱动继电器方案
- c#小技巧
- MyHandler::setupTrack
- c++第二次实验-多分数段函数求值
- zk+kafka集群