`

Hessian学习(二)——Hessian开发框架搭建

 
阅读更多

一、搭建服务端

准备:hessian-4.0.33.jar

1. 新建一个web工程:HessianTest;

2. 将hessian-4.0.33.jar导入到HessianTest工程中;

3. 新建3个package:bean、serviceimpl,分别作为java bean类、接口、接口实现类的包;

以上步骤完成之后,工程结构如下:

 

代码如下:

HelloWorld.java

package com.suning.hessian.bean;

import java.io.Serializable;

/**
 * 序列化bean
 *
 * @author guweiqiang
 * @date 2017年10月31日
 */
public class HelloWorld implements Serializable {

	private static final long serialVersionUID = 7665113881604069023L;

	private long id;
	private String name;
	private int age;

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public String toString() {
		return "HelloWorld [id=" + id + ", name=" + name + ", age=" + age + "]";
	}

}

 HessianService.java

package com.suning.hessian.service;

import com.suning.hessian.bean.HelloWorld;

/**
 * 定义对外提供服务的接口
 *
 * @author guweiqiang
 * @date 2017年10月31日
 */
public interface HessianService {

	HelloWorld sayHelloWorld();  
	
}

 HessianServiceImpl.java

package com.suning.hessian.impl;

import com.suning.hessian.bean.HelloWorld;
import com.suning.hessian.service.HessianService;

/**
 * HessianService接口实现类
 *
 * @author guweiqiang
 * @date 2017年10月31日
 */
public class HessianServiceImpl implements HessianService {

	@Override
	public HelloWorld sayHelloWorld() {
		HelloWorld helloWorld = new HelloWorld();
		helloWorld.setId(1l);
		helloWorld.setName("guweiqiang");
		helloWorld.setAge(22);
		return helloWorld;
	}

}

 4.添加web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
	<display-name>testHessian</display-name>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>

	<servlet>
		<!-- 配置 HessianServlet,Servlet的命名任意 -->
		<servlet-name>ServiceServlet</servlet-name>
		<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>

		<!-- 配置接口的具体实现类 ,param-name命名任意 -->
		<init-param>
			<param-name>service-class</param-name>
			<param-value>com.suning.hessian.impl.HessianServiceImpl</param-value>
		</init-param>
	</servlet>
	<!-- 映射 HessianServlet的访问URL地址 -->
	<servlet-mapping>
		<servlet-name>ServiceServlet</servlet-name>
		<url-pattern>/ServiceServlet</url-pattern>
	</servlet-mapping>

</web-app>

 最后将工程添加到tomcat,并启动tomcat,输入:

http://localhost:8080//HessianTest/ServiceServlet

如果显示如下,说明hessian服务端启动成功:

 

二、编写测试客户端:

TestHessian.java

package com.suning.hessian;

import java.net.MalformedURLException;

import com.caucho.hessian.client.HessianProxyFactory;
import com.suning.hessian.bean.HelloWorld;
import com.suning.hessian.service.HessianService;

/**
 * hessian测试客户端
 *
 * @author guweiqiang
 * @date 2017-10-31
 */
public class TestHessian {
	
	public static final String url = "http://127.0.0.1:8080/HessianTest/ServiceServlet"; 

	public static void main(String[] args) {
		HessianProxyFactory factory = new HessianProxyFactory();
		HessianService service = null;  
		try {
			service = (HessianService) factory.create(HessianService.class, url);}   
	    catch (MalformedURLException e) {  
	        e.printStackTrace();
	    }  
    	//创建IService接口的实例对象   
    	HelloWorld helloWorld = service.sayHelloWorld();  
    	//调用Hessian服务器端的ServiceImpl类中的toString方法
    	System.out.println(helloWorld.toString());
	}
}

 执行结果如下:

HelloWorld [id=1, name=guweiqiang, age=22]

至此hessian服务端和客户端搭建完成。

 

 

  • 大小: 16.4 KB
  • 大小: 8.7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics