知识大全 Spring整合Hessian
Posted 版本
篇首语:人生遇到的每个人,出场顺序很重要,很多人如果换个时间认识,就会有不同的结局。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Spring整合Hessian相关的知识,希望对你有一定的参考价值。
Spring整合Hessian 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Spring让Hessian变得不但强大 而且易用 但是易用背后 却有不少陷阱!
这个例子很简单 但实际上的确花费了我超过一小时的时间 排除了种种问题 最后问题终于水落石出
整合以上篇Hello Hessian为基础 加入Spring框架 进行改进
一 环境
jdk
mirror/tomcat/tomcat /v /bin/apache tomcat zip
framework SEC with dependencies zip
顺便说下 如果不说环境版本 很难保证你的程序在别的版本下能运行
二 整合
写Spring的发布Hessian服务的配置文件
hessian servlet xml
<!DOCTYPE beans PUBLIC //SPRING//DTD BEAN//EN beans dtd > <beans> <bean id= defaultHandlerMapping class= springframework web servlet handler BeanNameUrlHandlerMapping /> <bean id= helloService class= lavasoft suths service HelloService /> <bean name= /hello class= springframework remoting caucho HessianServiceExporter > <property name= service ref= helloService /> <property name= serviceInterface value= lavasoft suths service Hello /> </bean> </beans>
配置web xml
<?xml version= encoding= UTF ?> <web app xmlns= xmlns:xsi= instance xsi:schemaLocation= app_ _ xsd version= > <context param> <param name>contextConfigLocation</param name> <param value> /WEB INF/hessian servlet xml </param value> </context param> <servlet> <servlet name>hessian</servlet name> <servlet class> springframework web servlet DispatcherServlet</servlet class> <load on startup> </load on startup> </servlet> <servlet mapping> <servlet name>hessian</servlet name> <url pattern>/hessian/*</url pattern> </servlet mapping> </web app>
陷阱
a)hessian servlet xml的文件名必须以<servlet name>hessian</servlet name>名字开头 并且加上 servlet xml一段 组成完整的文件名
b)hessian servlet xml的文件名格式必须是[servlet name] servlet xml格式 否则出错
三 部署应用
因为涉及到类加载顺序问题 好用IDEA启动Tomcat测试老失败 不知道为啥!这次不用IDEA嵌入式启动Tomcat了 直接自己部署测试
部署后 启动界面如下
三 写测试
这次测试 可以在上个例子的基础上进行修改来测试 根据上面的配置 那么请求HelloService的URL应该是//localhost /hessianapp/hessian/hello
package lavasoft suths service client; import caucho hessian client HessianProxyFactory; import lavasoft suths service Hello; import MalformedURLException; /** * 客户端调用(会依赖服务接口) * * @author leizhimin : : */ public class Client public static void main(String[] args) throws MalformedURLException String url = //localhost: /hessianapp/hessian/hello ; HessianProxyFactory factory = new HessianProxyFactory(); Hello hello = (Hello) factory create(Hello class url); System out println(hello sayHello( Hessian ));
运行结果
Hello Hessian! Process finished with exit code
还有一种测试方法 就是在客户端也使用Spring 需要做个配置remoting client xml
<!DOCTYPE beans PUBLIC //SPRING//DTD BEAN//EN beans dtd > <beans> <bean id= helloServiceClient class= springframework remoting caucho HessianProxyFactoryBean > <property name= serviceUrl value=//localhost: /hessianapp/hessian/hello /> <property name= serviceInterface value= lavasoft suths service Hello /> </bean> </beans>
然后写个测试类
package lavasoft suths service client; import lavasoft suths service Hello; import ntext ApplicationContext; import ntext support ClassPathXmlApplicationContext; /** * Spring整合Hessian 客户端测试 * * @author leizhimin : : */ public class TestClient public static void main(String[] args) try ApplicationContext context = new ClassPathXmlApplicationContext( /remoting client xml ); Hello hello = (Hello) context getBean( helloServiceClient ); System out println(hello sayHello( Spring Hession )); catch (Exception e) e printStackTrace();
运行结果
Hello Spring Hession! Process finished with exit code
陷阱 实际上 看着代码好好 程序有时候还是不能跑 原因是Hessian的版本问题 这里推荐使用Spring自带的版本 就不会有问题了
整个工程所以依赖的包
cha138/Article/program/Java/ky/201311/28360相关参考
在webxml中的配置 <contextparam> <paramname>contextConfigLocation</paramname> <p
Spring整合HIbernate 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Spring整
Spring整合Struts 虽然Spring也提供了自己的MVC组件但一来Spring的MVC组件过于繁琐二 来Struts的拥护者实在太多因此很
知识大全 spring struts2 ibatis框架整合开发
这里主要介绍一下spring+struts+ibatis所需要的jar包文件spring所需包 以上包为spring配置基本包ibatis所需包 有解决方法的朋友们希望能回复 与struts整合
Struts整合spring方法(三) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Sprin
Spring整合Quartz定时发送邮件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 功能描述
五步搞定Spring整合Strus 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 项目需要有St
Spring2.5整合RMI技术 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java的RMI
知识大全 整合 JSF+Spring+Hibernate的小例子
整合JSF+Spring+Hibernate的小例子 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Spring和struts整合的三种方式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 使用Sp