当前位置:编程学习 > JAVA >>

Hessian

    公司不同pool之间提供service都是通过hessian来开放接口的,个人觉得hessian的使用非常简单。做个demo如下:
 
0.首先创建web工程,并加载hessian.jar。
 
1.创建service,即我们通过它来提供接口:
 
[java] 
public interface BasicService {  
  
    public void setServiceName(String serverName);  
  
    public String getServiceName();  
      
    public User createUser();  
      
}  
 
2.创建service实现:
 
[java]  
public class BasicServiceImpl implements BasicService {  
  
    private String serviceName;  
      
    @Override  
    public void setServiceName(String serverName) {  
        this.serviceName = serverName;  
    }  
      
    @Override  
    public String getServiceName() {  
        return this.serviceName;  
    }  
      
    @Override  
    public User createUser() {  
        return new User("zhangsan", "123456");  
    }  
}  
 
3.创建需要通过hessian传递的对象(必须序列化):
[java] 
public class User implements Serializable {  
  
    private static final long serialVersionUID = 5792818254468116836L;  
  
    private String username;  
      
    private String password;  
      
    public User(String username, String password) {  
        this.username = username;  
        this.password = password;  
    }  
  
    public String getUsername() {  
        return username;  
    }  
  
    public void setUsername(String username) {  
        this.username = username;  
    }  
  
    public String getPassword() {  
        return password;  
    }  
  
    public void setPassword(String password) {  
        this.password = password;  
    }  
}  
 
4.配置web.xml:
[html] 
<?xml version="1.0" encoding="UTF-8"?>  
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">  
  <display-name>HessianServer</display-name>  
    
  <servlet>  
    <servlet-name>basic</servlet-name>  
    <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>  
    <init-param>  
        <param-name>service-class</param-name>  
        <param-value>com.loujinhe.service.impl.BasicServiceImpl</param-value>  
    </init-param>  
  </servlet>  
    
  <servlet-mapping>  
    <servlet-name>basic</servlet-name>  
    <url-pattern>/basic</url-pattern>  
  </servlet-mapping>  
    
</web-app>  
5.创建测试用例:
 
[java]  
import java.net.MalformedURLException;  
  
import org.junit.Before;  
import org.junit.Test;  
  
import com.caucho.hessian.client.HessianProxyFactory;  
import com.loujinhe.service.BasicService;  
  
  
public class BasicServiceTest {  
      
    private BasicService basicService;  
  
    @Before  
    public void init() throws MalformedURLException {  
        HessianProxyFactory factory = new HessianProxyFactory();  
        String url = "http://localhost:8080/HessianServer/basic";  
        basicService = (BasicService)factory.create(BasicService.class, url);  
    }  
      
    @Test  
    public void testBasic() {  
        basicService.setServiceName("BasicService");  
        System.out.println(basicService.getServiceName());  
          
        System.out.println(basicService.createUser().getUsername());  
        System.out.println(basicService.createUser().getPassword());  
    }  
}  
 
6.启动服务器,运行测试用例,会得到如下结果:
BasicService
 
zhangsan
 
123456
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,