hessian 基础学习

来源:互联网 发布:linux如何删除用户 编辑:程序博客网 时间:2024/06/02 07:46

</pre>从客户端访问服务端数据 (手机接口) 可自行查阅有关hessian内容<p></p><p></p><p><img src="http://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="http://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的最基本功能。







0 0
原创粉丝点击