我是 Spring 和 Hessian 的新手,以前从未使用过它们。
我想编写一个小的 Hello World 程序,它清楚地展示了这项服务的工作原理。
我正在使用 Maven 列出项目详细信息和依赖项。
在线可用的粗麻布资源不是完整的分步指南。
如果我能从曾经写过粗麻布服务的人那里得到帮助,我将不胜感激
实现 Hessian 可调用服务的步骤是:
让我们通过一个例子。创建一个Java接口:
public interface EchoService {
String echoString(String value);
}
编写一个实现该接口的 Java 类:
public class EchoServiceImpl implements EchoService {
public String echoString(String value) {
return value;
}
}
在web.xml
文件中,配置一个 servlet:
<servlet>
<servlet-name>/EchoService</servlet-name>
<servlet-class>org.springframework.web.context.support.HttpRequestHandlerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>/EchoService</servlet-name>
<url-pattern>/remoting/EchoService</url-pattern>
</servlet-mapping>
在 Spring 应用程序上下文中配置服务类的实例:
<bean id="echoService" class="com.example.echo.EchoServiceImpl"/>
在 Spring 应用程序上下文中配置导出器。bean 名称必须与 servlet 名称匹配。
<bean
name="/EchoService"
class="org.springframework.remoting.caucho.HessianServiceExporter">
<property name="service" ref="echoService"/>
<property name="serviceInterface" value="com.example.echo.EchoService"/>
</bean>
客户端必须创建远程接口的代理。您可以简单地编写一个 JUnit-Test:
HessianProxyFactory proxyFactory = new HessianProxyFactory();
proxyFactory.setHessian2Reply(false);
proxyFactory.setHessian2Request(false);
com.example.echo.EchoService service = proxyFactory.create(
com.example.echo.EchoService, "http://localhost:8080/<optional-context/>remoting/EchoService");
Assert.equals(service.echoString("test"), "test");