您的位置:首页 > 编程语言 > Java开发

Java 远程调用 Hessian 简例

2013-03-01 10:48 316 查看
<servlet>
<servlet-name>hessianService</servlet-name>
<!-- 注意这里,这是hessian提供的 -->
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
<init-param>
<param-name>service-class</param-name>
<!-- 实例化后调用的类 -->
<param-value>guilinsoft.ddsx.api.WdpfImpl</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>hessianService</servlet-name>
<url-pattern>/hessianService</url-pattern>
</servlet-mapping>


感谢:绿悠悠

项目中需要实时监控设备的当前状态,而服务器又在远程,so,在网上找到了强大的Hessian,哈哈,之前我一直以为它是session的扩展..汗,看了看它的官网,有点晕,主要是它的配置文件没明白,然后又在oschina中找到了绿悠悠同学分享的实例.哦也..运行调用成功,趁热记录一番。

模拟二个项目,Demo(服务器),client(客户端)

GreetingAPI是接口,而GreetingServlet是接口的实现...名字没起好..

package example;

public interface GreetingAPI {

public String hello();
public String ok();
public String no();
}
package example;

public class GreetingServlet  implements GreetingAPI {

private static final long serialVersionUID = 1L;
private String _greeting="Hello,would!";

public String hello() {
return _greeting;
}
public String ok(){
return "this is greetingServlet method ok!!";
}

public void set_greeting(String greeting) {
_greeting = greeting;
}
public String no() {
return "this is greetingServlet method NO!!";
}

}


注意,包名需要与服务器一致哦,不然实例它时,它会报出找不到的异常。GreetingAPI.java的内容跟服务器端的一致

package example;

import java.net.MalformedURLException;

import com.caucho.hessian.client.HessianProxyFactory;
import com.jzero.util.MPrint;

public class test {

public static void main(String[] args) {
String url="http://localhost:8080/Demo/hessianService";
HessianProxyFactory factory=new HessianProxyFactory();
try {
GreetingAPI api=(GreetingAPI) factory.create(url);
MPrint.print(api.hello());
MPrint.print(api.ok());
MPrint.print(api.no());
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}


-------【程序调试打印数据:Hello,would!】-------
-------【程序调试打印数据:this is greetingServlet method ok!!】-------
-------【程序调试打印数据:this is greetingServlet method NO!!】-------


来源:Java 远程调用 Hessian 简例

-----------广告区

休闲豆,IT资讯,IT新闻资讯,电影BT下载,高清电影下载,电影下载,单机游戏下载,游戏下载,电子书下载,电子书PDF下载​
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: