`

Spring中HttpInvoker实例

阅读更多

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

 

Spring版本2.5.6.SEC01

1.服务端:

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

IPersonService.java

 

Java代码 
  1. public interface IPersonService {  
  2.     public String queryPersonName();  
  3. }  

 

PersonServiceImpl.java

 

C-sharp代码 
  1. public class PersonServiceImpl implements IPersonService {  
  2.     public String queryPersonName() {  
  3.         return "test";  
  4.     }  
  5. }  

 

service-config.xml

 

Java代码 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">  
  3. <beans>  
  4.     <bean id="personService"  
  5.         class="com.travelsky.angel.service.impl.PersonServiceImpl" />  
  6.     <bean id="serviceExporter"  
  7.         class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">  
  8.         <property name="service" ref="personService" />  
  9.         <property name="serviceInterface"  
  10.             value="com.travelsky.angel.service.IPersonService" />  
  11.     </bean>  
  12.     <bean id="urlMapping"  
  13.         class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">  
  14.         <property name="mappings">  
  15.             <props>  
  16.                 <prop key="/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. public class HttpInvokerClient {  
  2.     public static void main(String[] args) {  
  3.         ApplicationContext context = new ClassPathXmlApplicationContext("httpinvoker-client.xml");  
  4.         IPersonService service = (IPersonService) context.getBean("personServiceProxy");  
  5.         String result = service.queryPerson();  
  6.         System.out.println(result);  
  7.     }  
  8. }  

 

httpinvoker-client.xml

 

Java代码 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">  
  3. <beans>  
  4.     <bean id="personServiceProxy"  
  5.         class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">  
  6.         <property name="serviceUrl"  
  7.             value="http://127.0.0.1:8080/ProjectContextRoot/person.service" />  
  8.         <property name="serviceInterface"  
  9.             value="com.travelsky.angel.service.IPersonService" />  
  10.     </bean>  
  11. </beans>  

 

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

分享到:
评论

相关推荐

    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