浏览 9122 次
锁定老帖子 主题:我也来写一篇Hessian的学习笔记
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-11-16
似乎最近Hessian 很火? 昨天我用了,马上就喜欢上了他. 1- 整个jar很小,200多K,3.1版本的,当然,我下载的for java的版本. 2- 配置很简单,基本上不需要花什么经历就配置出来了 3- 功能强大,可以将soap抛开,也可以把EJB抛开,采用二进制来传递对象 4- 拥有多种语言支持,python c++ .net 甚至 flex 都可以做为client端 http://hessian.caucho.com/#Java 这里可以下载到for java的版本 任意JAVA的IDE新建一个JAVA WEB工程 将下载的.jar包引入工程中,创建一个接口,这个接口可以供客户端和服务器端使用如下: java 代码
当然接口中用到的Car 这个类是自己定义的包含任何属性的标准JAVABEAN; 接下来我们就开始做service端的程序了: java 代码
服务器端的程序写好后,要让client能够通过http协议访问到我们的service还需要配置servlet,当然这个过程是很简单的 xml 代码
只需要将上面的代码加入到你的WEB.XML文件中,当然包路径是你自己的路径而已. 这时服务器段的工作就已经全部完成了.
接下来我们在做client端的工作,client需要用到IBasic 这个接口,还需要用到 Car 这个类 可以做一个简单的测试: java 代码
大功告成,启动我们的WEB服务器,然后在启动这个client的程序,是不是发现屏幕上输出了你想看到的结果!要是抛异常了怎么办? 不要急,检查下包路径,.xml文件的配置,没有什么神奇的地方. 我们离开了WSDL,离开了WSDD,也不需要AXIS,不需要什么W3C的大篇标准. Hessian 简单就是美,实用就是强,好用就是王道!!!哈哈哈哈~~~ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-11-21
晕 请教一下 为什么会有
Exception in thread "main" com.caucho.hessian.client.HessianRuntimeException: java.net.ConnectException: Connection refused: connect 这样的exception in BasicClient.java String url = "http://localhost:8099/HessianLearning/webservice"; in web.xml <servlet> <servlet-name>HessianServlet</servlet-name> <servlet-class> com.caucho.hessian.server.HessianServlet </servlet-class> <init-param> <param-name>home-class</param-name> <param-value>org.hessian.study.BasicService</param-value> </init-param> <init-param> <param-name>home-api</param-name> <param-value>org.hessian.study.IBasic</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>HessianServlet</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> 试过了jboss & tomcat 都是一样的 -_-!! Plese Help, Thanks very much |
|
返回顶楼 | |
发表时间:2007-11-21
你的WEB启动成功了没?有问题吗?
|
|
返回顶楼 | |
发表时间:2007-11-21
成功了~~
是不是端口问题 按理说 HessianServlet <servlet> <servlet-name>HessianServlet</servlet-name> <servlet-class> com.caucho.hessian.server.HessianServlet </servlet-class> <init-param> <param-name>home-class</param-name> <param-value>org.hessian.study.BasicService</param-value> </init-param> <init-param> <param-name>home-api</param-name> <param-value>org.hessian.study.IBasic</param-value> </init-param> </servlet> 听得的是8080 但该改成8080 又说FileNotFoundException in BasicClient.java String url = "http://localhost:8080/HessionTest/webservice"; Exception in thread "main" com.caucho.hessian.client.HessianRuntimeException: java.io.FileNotFoundException: http://localhost:8080/HessionTest/webservice at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:182) at $Proxy0.getCar(Unknown Source) at org.hessian.study.BasicClient.main(BasicClient.java:19) |
|
返回顶楼 | |
发表时间:2007-11-21
at $Proxy0.getCar(Unknown Source)
这句.....有Car对象吗???? 你把getCar的部分先测试 String 类型 |
|
返回顶楼 | |
发表时间:2007-11-22
还是不成~ T_T
string on 8080 or 8099~~ |
|
返回顶楼 | |
发表时间:2007-11-22
你客户端的Basic类哪来的?是IBasic?
|
|
返回顶楼 | |
发表时间:2007-11-22
对是IBasic,这个是公用接口~~~~~~~~~~
|
|
返回顶楼 | |
发表时间:2007-11-22
看不出这和RMI有啥区别?
|
|
返回顶楼 | |