使用hessian简单使用
使用hessian简单实现项目之间的通信
首先建立两个动态工程分别命名为servicepro与clientpro,然后分别导入hessian用到的jar包(hessian-4.0.3.jar)
一、首先对服务端(servicepro工程)进行配置:
1.建立接口与接口实现类
a.创建HessianHelloWorld接口,接口中只有一个target方法
package com.remote;
public interface HessianHelloWorld {
String target();
}
b.创建HessianHelloWorldImpl继承HessianServlet并实现HessianHelloWorld接口
package com.remote.impl;
import com.caucho.hessian.server.HessianServlet;
import com.remote.HessianHelloWorld;
public class HessianHelloWorldImpl extends HessianServlet implements
HessianHelloWorld {
private static final long serialVersionUID = -489831024851039867L;
@Override
public String target() {
return "target:one piece";
}
}
2.修改Web.xml文件,将上面实现的类作为servlet配置到该文件中
<servlet>
<servlet-name>remote-service</servlet-name>
<servlet-class>com.remote.impl.HessianHelloWorldImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>remote-service</servlet-name>
<url-pattern>/service/remote</url-pattern>
</servlet-mapping>
配置后该远程访问路径为http://localhost:8080/servicepro/service/remote
完成上述配置后工程的结构如附件:serviceproj-1.jpg
二、接着对客服端(clientpro工程)进行配置
1.在工程下直接创建类HessianClientTest类进行测试
package com.client.remote.test;
import java.net.MalformedURLException;
import com.caucho.hessian.client.HessianProxyFactory;
import com.remote.HessianHelloWorld;
public class HessianClientTest {
public static void main(String[] args) {
String url = "http://localhost:8080/servicepro/service/remote";
HessianProxyFactory factory = new HessianProxyFactory();
HessianHelloWorld hello = null;
try {
hello = (HessianHelloWorld) factory.create(HessianHelloWorld.class, url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
System.out.println(hello.target());
}
}
此处需要注意的是HessianHelloWorld接口的使用,接口的引入方式有如下:
a.接口可以通过工程引入的方式从servicepro工程中引入该接口,选中clientpro右击-->build path -->configure build path 弹出对话框选择project项添加servicepro即可
b.通过将servicepro打包成jar并添加到clientpro工程路径下。
c.还有就是在客户端(clientpro工程)建立包含相同方法的接口,接口的名字可以任意但接口中的方法必须一致,一般便于管理接口命名都相同。
首选前两种方法,在开发阶段通过工程引入的方式获取这些接口,若接口功能已经确定也可以选择将需要用到的接口打包成jar并引入客户端,jar文件中只包含接口即可
完成上述配置后工程的结构如附件:clientproj-1.jpg
上一篇: 何时使用==;何时使用===
下一篇: 使用pymysql(使用一)
推荐阅读
-
removelogonow图文使用教程 将视频中的logo水印去除方法
-
Premiere怎么冻结帧? Pr帧定格的使用方法
-
ae视频怎么添加自定义转场效果? ae专场效果的使用方法
-
Spring中property-placeholder的使用与解析详解
-
RemoveLogoNow使用教程 Remove Logo Now去视频水印工具
-
NanoStudio怎么用?NanoStudio使用方法及常见问题
-
Python使用ntplib库同步校准当地时间的方法
-
安装MSDE2000提示“为了安全起见要求使用强 SA 密码
-
Python使用迭代器打印螺旋矩阵的思路及代码示例
-
java使用分隔符连接数组中每个元素的实例