maven 写黑话服务

wmtdaxz3  于 9个月前  发布在  Maven
关注(0)|答案(3)|浏览(152)

我是新的Spring和黑森,从来没有使用过他们。
我想写一个小的Hello World程序,它清楚地显示了这个服务是如何工作的。
我使用Maven来列出项目细节和依赖项。
网上提供的黑森的资源不是完整的分步指南。
如果我能得到帮助,我将不胜感激,如果有人谁曾写过粗麻布服务

f45qwnt8

f45qwnt81#

实现Hessian-callable服务的步骤是:

  • 创建一个Java接口,定义客户端要调用的方法。
  • 编写一个实现此接口的Java类。
  • 配置一个servlet来处理HTTP Hessian服务请求。
  • 通过将服务调用委托给实现此接口的Java类,配置HessianServiceExporter来处理来自servlet的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 application上下文中配置service class的示例:

<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>

fruv7luv

fruv7luv2#

客户端必须创建远程接口的代理。您可以简单地编写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");

字符串

hc8w905p

hc8w905p3#

这个问题很老了,投票最多的答案已经过时了:Spring的HessianServiceExporter在Spring 5.3中被弃用,并在Spring 6中被删除。
目前实现Hessian可呼叫服务的步骤是:
1.创建一个Java接口,定义客户端要调用的方法。
1.编写一个实现此接口的Java类。
1.扩展HessianServlet以实现相同的接口,并将业务逻辑委托给在步骤#2中创建的Java类(可以直接在servlet中实现此逻辑,但不推荐)。
1.使用Spring的ServletRegistrationBean启用servlet。
hessian-demo提供了一个在没有HessianServiceExporter的Sping Boot 应用程序中基于Hessian的Web服务的工作示例。您甚至可以使用基于Jakarta的Sping Boot 3。

相关问题