`

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

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

    spring httpInvoker示例

    spring+httpInvoker 实例,含服务端和客户端代码,myEclipse工程,直接导入就可以测试,适合初学者. 提供 普通参数返回值和自定义对象返回值,两个方式.

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

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

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

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

    Spring 实现远程访问详解——jms和activemq

    前几章我们分别利用spring rmi、httpinvoker、httpclient、webservice技术实现不同服务器间的远程访问。本章我将通过spring jms和activemq实现单Web项目服务器间异步访问和多Web项目服务器间异步访问。 一. 简介 1. ...

    JAVA上百实例源码以及开源项目源代码

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    JAVA上百实例源码以及开源项目

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    carmine:使用 HTTP(S) 的轻量级 Java RMI 替代方案

    该库为 (远程方法调用)或 [Spring HTTP Invoker]( ),使用HTTP(S)协议进行客户端和服务器端之间的通信。 主要特征 Java 到 Java 的远程方法调用是使用HTTP(S)协议完成的 在客户端处理远程对象仅在实例化过程中...

    java开源包1

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包2

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包3

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包6

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包5

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包10

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包8

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包7

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包9

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包11

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

Global site tag (gtag.js) - Google Analytics