Hessian入门实例

本文介绍了如何从零开始创建一个Hessian服务。首先新建了一个Maven工程,接着引入了必要的Hessian jar包。配置完成后,启动服务并在浏览器中访问http://localhost:8080/hessian/hessian进行测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.新建maven工程

2.引入jar包

<dependency>
	<groupId>com.caucho</groupId>
	<artifactId>hessian</artifactId>
	<version>4.0.7</version>
</dependency>
3.编写服务端server

package com.nineclient.demo;

import com.nineclient.demo.model.Cat;

public interface BasicService {
	
	Cat sayCat();
	
	String getName();
	
	int getCount();

}
4.编写实现类

package com.nineclient.demo.impl;

import com.nineclient.demo.BasicService;
import com.nineclient.demo.model.Cat;

public class BasicServiceImpl implements BasicService{

	@Override
	public Cat sayCat() {
		return new Cat("Hello kity!");
	}

	@Override
	public String getName() {
		return "Hello beer!";
	}

	@Override
	public int getCount() {
		return 100;
	}

}
5.实现类里面补充一个model

package com.nineclient.demo.model;

import java.io.Serializable;

public class Cat implements Serializable{

	private static final long serialVersionUID = 6531696445894455539L;
	private String name;
	private int age;
	
	public Cat() {}
	public Cat(String name) {
		this.setName(name);
	}
	
	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;
	}

}
6.web.xml配置servlet

<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.nineclient.demo.impl.BasicServiceImpl</param-value>  
	</init-param>  
</servlet>  
<!-- 映射 HessianServlet的访问URL地址-->  
<servlet-mapping>  
	<servlet-name>ServiceServlet</servlet-name>  
	<url-pattern>/hessian</url-pattern>  
</servlet-mapping> 

7.启动服务后,在浏览器里面输入http://localhost:8080/hessian/hessian


8.测试代码

package com.nineclinet.demo.client;

import java.net.MalformedURLException;

import org.junit.Test;

import com.caucho.hessian.client.HessianProxyFactory;
import com.nineclient.demo.BasicService;
import com.nineclient.demo.model.Cat;

public class HessianHelper {
	
	
	@Test
	public void testBasicService() {
		String url = "http://localhost:8080/hessian/hessian";
		HessianProxyFactory factory = new HessianProxyFactory();
		BasicService service = null;
		try {
			service = (BasicService)factory.create(BasicService.class, url);
		} catch (MalformedURLException e) {
			e.printStackTrace();
		}
		
		String name = service.getName();
		int count = service.getCount();
		Cat cat =service.sayCat();
		System.out.println("name = " + name + "count = " + count + "cat name = " + cat.getName());
	}
	
	interface CatInf {
		Cat sayCat();
		
	}
	
	@Test
	public void testCatInf() {
		String url = "http://localhost:8080/hessian/hessian";
		HessianProxyFactory factory = new HessianProxyFactory();
		CatInf service = null;
		try {
			service = (CatInf)factory.create(CatInf.class, url);
		} catch (MalformedURLException e) {
			e.printStackTrace();
		}
		
		Cat cat =service.sayCat();
		System.out.println("cat name = " + cat.getName());
	}
	
	interface NameInf {
		String getName();
	}
	
	@Test
	public void testNameInf() {
		String url = "http://localhost:8080/hessian/hessian";
		HessianProxyFactory factory = new HessianProxyFactory();
		NameInf service = null;
		try {
			service = (NameInf)factory.create(NameInf.class, url);
		} catch (MalformedURLException e) {
			e.printStackTrace();
		}
		
		String name =service.getName();
		System.out.println("name = " + name);
	}
}

9.结果输出



10.确实对您有帮助的话,帮忙点个赞吧







python+opencv简谱识别音频生成系统源码含GUI界面+详细运行教程+数据 一、项目简介 提取简谱中的音乐信息,依据识别到的信息生成midi文件。 Extract music information from musical scores and generate a midi file according to it. 二、项目运行环境 python=3.11.1 第三方库依赖 opencv-python=4.7.0.68 numpy=1.24.1 可以使用命令 pip install -r requirements.txt 来安装所需的第三方库。 三、项目运行步骤 3.1 命令行运行 运行main.py。 输入简谱路径:支持图片或文件夹,相对路径或绝对路径都可以。 输入简谱主音:它通常在第一页的左上角“1=”之后。 输入简谱速度:即每分钟拍数,同在左上角。 选择是否输出程序中间提示信息:请输入Y或N(不区分大小写,下同)。 选择匹配精度:请输入L或M或H,对应低/中/高精度,一般而言输入L即可。 选择使用的线程数:一般与CPU核数相同即可。虽然python的线程不是真正的多线程,但仍能起到加速作用。 估算字符上下间距:这与简谱中符号的密集程度有关,一般来说纵向符号越稀疏,这个值需要设置得越大,范围通常在1.0-2.5。 二值化算法:使用全局阈值则跳过该选项即可,或者也可输入OTSU、采用大津二值化算法。 设置全局阈值:如果上面选择全局阈值则需要手动设置全局阈值,对于.\test.txt中所提样例,使用全局阈值并在后面设置为160即可。 手动调整中间结果:若输入Y/y,则在识别简谱后会暂停代码,并生成一份txt文件,在其中展示识别结果,此时用户可以通过修改这份txt文件来更正识别结果。 如果选择文件夹的话,还可以选择所选文件夹中不需要识别的文件以排除干扰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值