</pre>从客户端访问服务端数据 (手机接口) 可自行查阅有关hessian内容<p></p><p></p><p><img src="https://img-blog.csdn.net/20141124093842203?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFvMWhhbzEw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></p><p></p><p>服务端需要 一个java类 一个服务接口 一个服务接口实现类</p><p>客户端需要 一个同服务端一样的java类和服务接口 但不需要服务实现类 可以远程调用这个实现类。</p><p></p><p>服务端代码:</p><p><img src="https://img-blog.csdn.net/20141124094115317?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFvMWhhbzEw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></p><p></p><p>User.java代码:</p><p></p><pre name="code" class="java">package jay.demo;
import java.io.Serializable;
public class User implements Serializable {
String name = "server-jay";
String password = "server-pwd";
public User() {}
public User(String name, String password) {
super();
this.name = name;
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
MyService.java
package jay.demo.hessian.server;
import jay.demo.User;
public interface MyService {
public void setName(String name);
public String sayHello();
public User getUser();
}
MyServiceImpl.java
package jay.demo.hessian.server.impl;
import jay.demo.User;
import jay.demo.hessian.server.MyService;
public class MyServiceImpl implements MyService {
private String name;
public String sayHello() {
return "Hello1111 "+name;
}
public void setName(String name) {
this.name=name;
System.out.println("Hello2222 "+name);
}
public User getUser() {
return new User("Jay", "123456");
}
}
服务器端web.xml 的配置方法:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>first</servlet-name>
<servlet-class>
com.caucho.hessian.server.HessianServlet
</servlet-class>
<init-param>
<param-name>service-class</param-name>
<param-value>
jay.demo.hessian.server.impl.MyServiceImpl
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>first</servlet-name>
<url-pattern>/helloworld</url-pattern>
</servlet-mapping>
</web-app>
客户端的测试方法:
import java.net.MalformedURLException;
import jay.demo.hessian.server.MyService;
import com.caucho.hessian.client.HessianProxyFactory;
public class clientTest {
public static void main(String[] args) throws MalformedURLException,
ClassNotFoundException {
String url = "http://localhost:8080/HessianServer/helloworld";
//String url = "http://localhost:8080/HessianServer/remote/helloSpring";
HessianProxyFactory factory = new HessianProxyFactory();
//MyService myservice = (MyService) factory.create(url);
MyService myservice = (MyService) factory.create(MyService.class,url);
myservice.setName("JaySun-test");
System.out.println(myservice.sayHello());
System.out.println(myservice.getUser().getName());
System.out.println(myservice.getUser().getPassword());
}
}
使用到了hessian-3.0.30.jar (下载地址:http://pan.baidu.com/s/1pJNWCD9)
通过运行客户端clientTest代码,可以访问到服务器端的数据。实现了hessian的最基本功能。