SpringMVC集成Hessian
首先强调这里是SpringMVC,不是Spring,这两者在集成Hessian的时候还是有差别的。Spring集成相对简单,网上随便搜一个就行。
SpringMVC有点麻烦。
注:如果你还不了解Hessian,可以看Hessian简单示例
前提条件
假设你的SpringMVC环境已经配置了好了。
主要是在web.xml中有了如下的配置:
sys
org.springframework.web.servlet.DispatcherServlet
1
另外你已经配置了相应的sys-servlet.xml文件(sys名字和你自己的保持一致即可)。
集成Hessian
为了针对Hessian的请求,在web.xml中增加了如下映射:
sys
*.hessian
然后在sys-servlet.xml中添加如下配置:
HessianServiceExporter是继承HttpRequestHandler接口的,所以需要HttpRequestHandlerAdapter来处理这种请求。
BeanNameUrlHandlerMapping的作用是,当的name属性以/开头的时候,映射为url请求。
HessianServiceExporter中的两项属性,一个是service,ref属性指向的实现类。一个是serviceInterface,指向的是接口。
做好如上配置后,启动服务器。
在浏览器打开后,会显示下面的样子:
HTTP Status 405 - HessianServiceExporter only supports POST requests
type Status report
message HessianServiceExporter only supports POST requests
description The specified HTTP method is not allowed for the requested resource.
Apache Tomcat/7.0.56
如果如上显示,说明就没有问题了。
调用
如果在Spring中调用,可以尝试如下配置
class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
value="http://localhost:8080/myweb/import.hessian">
也可以直接使用Hessian调用
String url = "http://localhost:8080/myweb/import.hessian";
HessianProxyFactory factory = new HessianProxyFactory();
ImportService basic = (ImportService) factory.create(ImportService.class, url);