`

Spring中HttpInvoker实例

 
阅读更多

 

Spring版本2.5.6.SEC01

1.服务端:

需要如下jar包:spring.jar spring-webmvc.jar

IPersonService.java

 

Java代码
  1. publicinterfaceIPersonService{
  2. publicStringqueryPersonName();
  3. }

 

PersonServiceImpl.java

 

C-sharp代码
  1. publicclassPersonServiceImplimplementsIPersonService{
  2. publicStringqueryPersonName(){
  3. return"test";
  4. }
  5. }

 

service-config.xml

 

Java代码
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <!DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN2.0//EN""http://www.springframework.org/dtd/spring-beans-2.0.dtd">
  3. <beans>
  4. <beanid="personService"
  5. class="com.travelsky.angel.service.impl.PersonServiceImpl"/>
  6. <beanid="serviceExporter"
  7. class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
  8. <propertyname="service"ref="personService"/>
  9. <propertyname="serviceInterface"
  10. value="com.travelsky.angel.service.IPersonService"/>
  11. </bean>
  12. <beanid="urlMapping"
  13. class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  14. <propertyname="mappings">
  15. <props>
  16. <propkey="/person.service">serviceExporter</prop>
  17. </props>
  18. </property>
  19. </bean>
  20. </beans>

 

web.xml添加如下代码

 

Java代码
  1. <servlet>
  2. <servlet-name>dispatcherServlet</servlet-name>
  3. <servlet-class>
  4. org.springframework.web.servlet.DispatcherServlet
  5. </servlet-class>
  6. <init-param>
  7. <param-name>contextConfigLocation</param-name>
  8. <param-value>/WEB-INF/service-config.xml</param-value>
  9. </init-param>
  10. <load-on-startup>1</load-on-startup>
  11. </servlet>
  12. <servlet-mapping>
  13. <servlet-name>dispatcherServlet</servlet-name>
  14. <url-pattern>*.service</url-pattern>
  15. </servlet-mapping>

 

2.客户端:

客户端需要应用服务端的bean和接口,另外需要spring.jar

HttpInvokerClient.java

 

Java代码
  1. publicclassHttpInvokerClient{
  2. publicstaticvoidmain(String[]args){
  3. ApplicationContextcontext=newClassPathXmlApplicationContext("httpinvoker-client.xml");
  4. IPersonServiceservice=(IPersonService)context.getBean("personServiceProxy");
  5. Stringresult=service.queryPerson();
  6. System.out.println(result);
  7. }
  8. }

 

httpinvoker-client.xml

 

Java代码
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <!DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN2.0//EN""http://www.springframework.org/dtd/spring-beans-2.0.dtd">
  3. <beans>
  4. <beanid="personServiceProxy"
  5. class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
  6. <propertyname="serviceUrl"
  7. value="http://127.0.0.1:8080/ProjectContextRoot/person.service"/>
  8. <propertyname="serviceInterface"
  9. value="com.travelsky.angel.service.IPersonService"/>
  10. </bean>
  11. </beans>

 

注意:ProjectContextRoot对应.mymetadata中的context-root,如果修改,需要重新启动Eclipse

 

转自:http://up2pu.iteye.com/blog/988871

 

分享到:
评论

相关推荐

    Spring HttpInvoker 初学实例

    org.springframework.remoting.httpinvoker最基本的实现例子,这是3个eclipse的JavaEE工程,全部导入即可,能运行。 初学可以轻松了解Spring HttpInvoker 的结构和使用。

    Spring HttpInvoker的封装

    HttpInvoker是Spring框架的一部分,它提供了一种基于HTTP协议的远程调用机制,使得不同网络环境中的Java应用之间能够进行安全、高效的通信。本篇文章将深入探讨Spring HttpInvoker的原理以及如何对其进行封装,以便...

    Spring HttpInvoker

    Spring HttpInvoker,是一套基于Maven+Spring+SpringMVC+MyBatis框架,还包含了Invoker的客户端及服务器端的demo实例

    使用httpInvoker提供远程服务

    在分布式系统中,远程服务调用是常见的需求,Spring框架提供了多种远程服务支持,其中包括HttpInvoker。HttpInvoker是Spring框架的一部分,它允许开发者使用HTTP协议进行远程方法调用,而不需要额外的类库。与...

    spring httpInvoker示例

    &lt;bean id="serviceExporter" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter"&gt; ``` 这里,`ServiceImpl`是你实现`ServiceInterface`的具体类,`HttpInvokerServiceExporter`将...

    httpinvoker的使用实例

    在这个实例中,包含了服务端和服务端两个工程,分别模拟了HTTPInvoker的工作流程。 在服务端,你需要配置一个`HttpInvokerServiceExporter`,这个组件将你的业务接口暴露为HTTP服务。首先,定义一个服务接口,比如`...

    spring远程调用简单实例

    在本实例中,我们关注的是HTTP Invoker,这是一种基于HTTP的轻量级远程调用解决方案。HTTP Invoker不需要额外的二进制协议支持,而是利用Java序列化机制,将方法调用和参数以HTTP请求的形式发送到远程服务器,然后...

    用Http Invoker实现RCP客户端与后台的交互

    `Http Invoker`是Spring框架提供的一种基于HTTP协议的RPC实现,主要用于Java应用程序之间进行服务调用。本文将深入探讨如何使用Http Invoker实现RCP客户端与后台的交互,以及相关知识点。 1. **Http Invoker的基本...

    Hessian 、 HttpInvoker 、 XFire 、 Axis

    HttpInvoker主要面向Spring应用程序,易于集成,但相比Hessian,其数据传输效率较低,因为HTTP协议本身较重,且Java序列化也相对消耗资源。 XFire(后来被Apache CXF吸收)是一款基于XML的Web服务框架,它支持多种...

    Spring(RMI)实例

    Spring框架是Java开发中广泛应用的轻量级框架,它提供了丰富的功能来简化应用程序的构建...同时,这也是一个很好的起点,可以帮助开发者进一步探索Spring与其他远程调用协议,如Hessian、 Burlap或HTTP Invoker的集成。

    Spring 2.5 jar 所有开发包及完整文档及项目开发实例

    Spring 2.5 jar 所有开发包及完整文档及项目开发实例 spring jar 包详解spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下...

    外部接口调用 使用spring4+hessian4实例(二)

    它提供了多种集成远程服务的方式,包括RMI、HTTP Invoker、Hessian等。在Spring中配置Hessian服务,我们可以利用Spring的自动装配能力,简化服务的发布和消费过程。 要实现Spring4与Hessian4的结合,你需要完成以下...

    spring RMI 实例

    同时,随着Java技术的发展,虽然RMI在一些场景下依然有用,但很多现代的分布式通信框架,如Spring的JMS、HTTP Invoker、Hessian、 Burlap等,以及基于HTTP/REST的Web服务,已经提供了更灵活、更高效的选择。...

    spring2.0和spring2.5 及以上版本的jar包区别 spring jar 包详解

    2. **spring-beans.jar**:该jar包提供了BeanFactory,它是工厂模式的实现,通过BeanFactory可以实例化、定位、配置应用程序中的对象。同时,它还支持依赖注入(Dependency Injection, DI),使得组件之间的依赖关系...

    09_高性能应用设计与开发技术.pptx

    选择合适的远程访问协议,比如不需要SOAP的互通性,一个简单方案(如Spring的HttpInvoker支持)将更快更简单。 对影响大部分应用程序的aspect,考虑使用AspectJ代替Spring AOP; 尽量避免使用分布式事务(基于容器...

    rmi实例(Spring整合)

    4. **配合Spring Remoting**:Spring Remoting提供了一种抽象层,可以轻松地切换到其他远程调用机制,如Hessian、 Burlap或HTTP Invoker。这意味着如果你的系统开始时使用RMI,但后来希望切换到其他协议,Spring ...

    http接口相关介绍

    - 访问服务实例:通过HTTP Invoker代理调用服务器端的服务接口。 ##### 2.3 服务器端示例 - **服务接口**:`UcService.java` 接口提供两项服务:查询用户信息和记录日志。 ```java public interface Uc...

    Spring in Action 2nd Edition

    - **Spring远程服务**:Spring框架支持多种远程服务调用机制,如RMI、HTTP invoker等,简化了远程服务的开发和部署。 5. **Web层支持** - **Spring MVC**:Spring框架提供了一种模型-视图-控制器(Model-View-...

    夏昕spring

    Spring框架还支持远程服务调用,如RMI、HTTP Invoker等,使得分布式系统间的通信变得简单。 #### AOP(面向切面编程) Spring框架的AOP模块提供了一种声明式方式来实现横切关注点,如日志记录、安全控制等,无需...

Global site tag (gtag.js) - Google Analytics