加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Hessian

发布时间:2020-12-17 00:28:56 所属栏目:安全 来源:网络整理
导读:??? 公司不同pool之间提供service都是通过hessian来开放接口的,个人觉得hessian的使用非常简单。做个demo如下: 0.首先创建web工程,并加载hessian.jar。 1.创建service,即我们通过它来提供接口: public interface BasicService {public void setServiceN

??? 公司不同pool之间提供service都是通过hessian来开放接口的,个人觉得hessian的使用非常简单。做个demo如下:

0.首先创建web工程,并加载hessian.jar。

1.创建service,即我们通过它来提供接口:

public interface BasicService {

	public void setServiceName(String serverName);

	public String getServiceName();
	
	public User createUser();
	
}


2.创建service实现:

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传递的对象(必须序列化):

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:

<?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.创建测试用例:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读