文档章节

SpringMVC集成Hessian

美丽不打折
 美丽不打折
发布于 2016/08/30 15:04
字数 479
阅读 27
收藏 0

SpringMVC集成Hessian

首先强调这里是SpringMVC,不是Spring,这两者在集成Hessian的时候还是有差别的。Spring集成相对简单,网上随便搜一个就行。

SpringMVC有点麻烦。

注:如果你还不了解Hessian,可以看Hessian简单示例

前提条件

假设你的SpringMVC环境已经配置了好了。

主要是在web.xml中有了如下的配置:

<servlet>
    <!-- 名字随便,和你springmvc的配置xml一致即可 -->
    <servlet-name>sys</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
   <!-- 你自己的映射配置 -->
</servlet-mapping>

另外你已经配置了相应的sys-servlet.xml文件(sys名字和你自己的保持一致即可)。

集成Hessian

为了针对Hessian的请求,在web.xml中增加了如下映射:

<servlet-mapping>
    <!-- 名字要保持一致 -->
    <servlet-name>sys</servlet-name>
    <url-pattern>*.hessian</url-pattern>
</servlet-mapping>

然后在sys-servlet.xml中添加如下配置:

<!--hessian-->
<bean id="httpRequestHandlerAdapter" class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"/>
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<bean id="importService" class="com.xxx.pr.service.impl.ImportServiceImpl"/>
<bean name="/import.hessian" class="org.springframework.remoting.caucho.HessianServiceExporter">
    <property name="service" ref="importService"/>
    <property name="serviceInterface" value="com.xxx.pr.service.ImportService"/>
</bean>

HessianServiceExporter是继承HttpRequestHandler接口的,所以需要HttpRequestHandlerAdapter来处理这种请求。

BeanNameUrlHandlerMapping的作用是,当<bean>name属性以/开头的时候,映射为url请求。

HessianServiceExporter中的两项属性,一个是serviceref属性指向的实现类。一个是serviceInterface,指向的是接口。

做好如上配置后,启动服务器。

然后访问http://localhost:8080/myweb/import.hessian即可。具体地址根据自己的来写。

在浏览器打开后,会显示下面的样子:

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中调用,可以尝试如下配置

<bean id="importBean"   
class="org.springframework.remoting.caucho.HessianProxyFactoryBean">  
    <property name="serviceUrl"   
         value="http://localhost:8080/myweb/import.hessian"></property>  
    <property name="serviceInterface" value="com.xxx.pr.service.ImportService"></property>  
</bean> 

也可以直接使用Hessian调用

String url = "http://localhost:8080/myweb/import.hessian";
HessianProxyFactory factory = new HessianProxyFactory();
ImportService basic = (ImportService) factory.create(ImportService.class, url);

本文转载自:

上一篇: hessian使用
美丽不打折
粉丝 103
博文 12
码字总数 6565
作品 0
广州
技术主管
私信 提问
SpringMVC集成Hessian

SpringMVC集成Hessian 首先强调这里是SpringMVC,不是spring,这两者在集成Hessian的时候还是有差别的。Spring集成相对简单,网上随便搜一个就行。 SpringMVC有点麻烦。 注:如果你还不了解H...

飞翼
2016/12/28
10
0
《Spring技术内幕》学习笔记18——Spring使用Hessian实现远程调用

Spring目前提供了对RMI、 HttpInvoker、Hessian、Burlap及WebService等Remoting技术的集成。Spring屏蔽了这些实现技术的差异,用户只需开发简单的Java对象(Plain Old Java Objects,POJO)然后...

谜男amu
2018/05/16
42
0
RMI在Spring中的使用之Hessian,BurlapServiceExporter

这两种实现都是基于http的,只不过Hessian使用二进制格式,Burlap使用XML格式传输文件。在4.x的Spring中官方已经将Burlap作为废弃类,配置和Hessian相同,下面详细讲下HessianServiceExporte...

luamas
2014/10/28
941
0
基于 Spring Boot 的研发框架 - SOFABoot

SOFABoot 是蚂蚁金服开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,类隔离,日志空间隔离等等能力。在增强了 Spring Boot 的同时,SOFABoot ...

匿名
2018/04/19
13.9K
10
Dubbo 发布恢复维护后的第一个版本 2.5.4

Dubbo 发布了恢复维护后的第一个版本 2.5.4,主要是解决 issues 和依赖升级。 修复的 issue: 不能优雅停机的问题 MonitorFilter 监控统计功能阻塞 rpc 流程 动态配置:设置指定的 consumer...

fbf
2017/09/07
14.5K
75

没有更多内容

加载失败,请刷新页面

加载更多

安全组和云防火墙的区别

前言 熟悉云平台的朋友可能都会注意到这样一个事情:无论公有云还是私有云,创建虚拟机的时候都需要选择安全组,来对虚拟机进行安全防护;有的云平台在VPC里,还能选择防火墙,ZStack在3.6版...

ZStack社区版
26分钟前
2
0
教育性app开发的重要性和好处

在这个精通技术的世界中,流行的app主导着无聊的教育系统。当我们将技术和教育结合在一起时,它将带来当代以及强大的学习资源。因此,将教育移动app集成到您的学习过程中,并根据自己的信念把...

a429011717
27分钟前
3
0
IE6/7/8如何兼容CSS3属性

本文转载于:专业的前端网站➩IE6/7/8如何兼容CSS3属性 最近在工作中总是要求IE8兼容CSS3属性,在网上搜了搜主要是引入了一个htc文件(ie-css3.htc或者PIE.htc。个人认为这两个文件的作用差不...

前端老手
42分钟前
3
0
手把手教你ALLEGRO的约束规则的设置教程!

约束规则的设置 分三步, 定义规则(一、基本约束规则设置:1、线间距设置;2、线宽设置;3、设置过孔;4、区域约束规则设置;5、设置阻抗;6、设置走线的长度范围;7、设置等长:7.1、不过电阻的NET 等...

demyar
44分钟前
4
0
完美解决H5滚动滑动穿透方案:不使用系统滚动

网上有很多黑科技解决这个问题,都不是从根本去解决,例如通过js控制弹出时html加上position:fixed; 弹窗关闭后再去掉该样式,总觉得不太对,像是打补丁。 今天终于找到了滚动穿透的原因和完...

未来cc
49分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部