hessian入门
来源:互联网 发布:财新数据 编辑:程序博客网 时间:2024/05/17 09:01
1.常见的远程调用技术:
webService(CXF,axis)–soap协议
HTTPClient
hessian—http协议、二进制数据
dubbo—阿里巴巴
2.hessian有两种发布服务的方式:
Hessian通常通过Web应用来提供服务,通过接口暴露。
Servlet和Spring的DispatcherServlet都可以把请求转发给Hessian服务。
由以下两种方式提供,分别为:
com.caucho.hessian.server.HessianServlet、org.springframework.web.servlet.DispatcherServlet。
1、使用hessian框架自己提供的Servlet发布2、和spring整合发布服务
3.案例
服务端开发:
第一步:创建一个web项目,并导入hessian的jar包
第二步:创建一个接口
public interface HelloService { public String sayHello(String name); public List<User> findAllUser(); }
第三步:提供上面接口的实现类
public class HelloServiceImpl implements HelloService{ public String sayHello(String name) { System.out.println("sayHello方法被调用了"); return "hello " + name; } public List<User> findAllUser() { List<User> list = new ArrayList<User>(); list.add(new User(1, "小王")); list.add(new User(2,"小白")); return list; } }
第四步:在web.xml中配置服务
<servlet> <servlet-name>hessian</servlet-name> <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class> <init-param> <param-name>home-class</param-name> <param-value>cn.itcast.service.HelloServiceImpl</param-value> </init-param> <init-param> <param-name>home-api</param-name> <param-value>cn.itcast.service.HelloService</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>hessian</servlet-name> <url-pattern>/hessian</url-pattern> </servlet-mapping>
客户端开发: 第一步:创建一个客户端项目,并导入hessian的jar包 第二步:创建一个接口(和服务端接口对应)
public interface HelloService { public String sayHello(String name); public Object findAllUser(); }
第三步:使用hessian提供的方式创建代理对象调用服务
HessianProxyFactory factory = new HessianProxyFactory(); HelloService proxy = (HelloService) factory.create(HelloService.class, "http://localhost:8080/hessian_server/hessian"); String ret = proxy.sayHello("test"); System.out.println(ret); Object users = proxy.findAllUser(); System.out.println(users);
4.crm–服务端
web.xml—->>>第二种
<servlet> <servlet-name>remoting</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>remoting</servlet-name> <url-pattern>/remoting/*</url-pattern> </servlet-mapping>------------在remoting-servlet.xml中(和web.xml同一目录) <!-- 业务类 --> <bean id="customerService" class="cn.itcast.crm.service.impl.CustomerServiceImpl" /> <!-- 注册hessian服务 --> <bean id="/customer" class="org.springframework.remoting.caucho.HessianServiceExporter"> <!-- 业务接口实现类 --> <property name="service" ref="customerService" /> <!-- 业务接口 --> <property name="serviceInterface" value="cn.itcast.crm.service.CustomerService" /> </bean> 客户端调用 <!-- 配置远程调用的代理对象--> <bean id="customerService" class="org.springframework.remoting.caucho.HessianProxyFactoryBean"> <!-- 注入接口类型 --> <property name="serviceInterface" value="com.bww.bos.crm.CustomerService"></property> <!-- 服务访问路径 --> <property name="serviceUrl" value="http://localhost:8080/crm/remoting/customer"></property> </bean>
将上面的代理对象通过注解方式注入到Action中,就可以使用啦
注意:将pojo类在客户端创建(必须和服务端的包名类名完全一致)
阅读全文
0 0
- Hessian入门
- Hessian入门
- Hessian 入门
- Hessian入门
- hessian 入门
- Hessian入门
- hessian入门
- Hessian简单入门
- hessian 入门错误解决
- Hessian简单入门
- Hessian一个入门案例
- Hessian入门案例
- Hessian入门相关
- Hessian的入门
- —Hessian入门
- 1、Hessian入门
- Hessian简要入门
- hessian入门,spring集成
- 阿里校招前端笔试题小结
- 在C++中,有哪4个与类型转换相关的关键字?这些关键字有什么特点?应该在什么场合使用?
- poj1182 食物链
- 前端架构变更记
- matlab2c使用c++实现matlab函数系列教程-triu函数
- hessian入门
- new 作用
- 配置SecureCRT密匙登录
- jsday02补充(正则 标签复习回顾)
- 开发人员常用的ID网站整理!
- CodeForces
- Node.js中Bootstrap-table的两种分页的使用方法
- ip拨号器
- 1426: 收集邮票