`

Spring 企业级开发应用---------httpinvoke和spring的远程服务整合的应用

阅读更多

和burlap和hessian一样的配置细细

服务端服务的接口类

package cn.com.huawei.httpinvoker.service;

import java.util.List;

public interface IUserService {
  public List getUsernames();
}
服务端服务的实现类的应用

package cn.com.huawei.httpinvoker.service.impl;

import java.util.ArrayList;
import java.util.List;

import cn.com.huawei.httpinvoker.service.IUserService;

 

public class UserService  implements  IUserService{
   public List getUsernames()
   {
     List<String> usernames=new ArrayList<String>();
     usernames.add("xiaobai");
     usernames.add("xiaoli");
     return usernames;
   }
}

服务端web。xml的配置信息

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/applicationContext.xml</param-value>
 </context-param>
 <listener>
  <listener-class>
   org.springframework.web.context.ContextLoaderListener
  </listener-class>
 </listener>
 <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>
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
</web-app>

 


服务端的applicationcontext。xml的配置信息

<?xml version="1.0" encoding="UTF-8"?>
<beans
 xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
       <bean id="userservicetarget" class="cn.com.huawei.httpinvoker.service.impl.UserService"/>
</beans>

 

 

服务端的remoting-servlet。xml的配置信息

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
 <bean name="/UserService-httpinvoker"
  class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
  <property name="service" ref="userservicetarget" />
  <property name="serviceInterface"
   value="cn.com.huawei.httpinvoker.service.IUserService" />
 </bean>
</beans>

 

 

客户端的配置信息如下

package cn.com.huawei.httpinvoker.client;

import java.util.List;

import cn.com.huawei.httpinvoker.service.IUserService;


public class HttpInvokerClient {

 private IUserService userservice;

 public IUserService getUserservice() {
  return userservice;
 }

 public void setUserservice(IUserService userservice) {
  this.userservice = userservice;
 }

 public List getUsernames() {
  return this.userservice.getUsernames();
 }

}

 

package cn.com.huawei.httpinvoker.client;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class HttpInvokerTest {
 public static void main(String[] args) {
  ApplicationContext ctx = new ClassPathXmlApplicationContext(
    "applicationContext.xml");
  HttpInvokerClient hessina = (HttpInvokerClient) ctx.getBean("httpInvokerclient");
  System.out.println("rmiclient:" + hessina.getUsernames());
 }
}


客户端的client。properties的属性信息

# Properties file with server URL settings for remote access.
# Applied by PropertyPlaceholderConfigurer from "clientContext.xml".

serverName=localhost
httpPort=8080
rmiPort=1199
serverPath=SpringHttpInvoker
contextPath=remoting/UserService-httpinvoker

 

 

客户端的applicationcontext。xml的配置信息

<?xml version="1.0" encoding="UTF-8"?>
<beans
 xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
     <bean id="propertyConfigurer"
  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="location">
   <value>client.properties</value>
  </property>
 </bean>
     <bean id="httpInvokerclient" class="cn.com.huawei.httpinvoker.client.HttpInvokerClient">
       <property name="userservice">
         <ref bean="httpInvokerProxy"/>
       </property>
     </bean>
    <bean id="httpInvokerProxy" class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
  <property name="serviceUrl">
   <value>http://${serverName}:${httpPort}/${serverPath}/${contextPath}</value>
  </property>
  <property name="serviceInterface">
   <value>cn.com.huawei.httpinvoker.service.IUserService</value>
  </property>
  <!--
  Comment the following in to use Apache Commons HttpClient instead of the JDK's
  standard HttpURLConnection (as used by the default SimpleHttpInvokerRequestExecutor).
  -->
  <!--
  <property name="httpInvokerRequestExecutor">
   <bean class="org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor"/>
  </property>
   -->
 </bean>

</beans>

部署发布接口

分享到:
评论

相关推荐

    spring-cglib-repack-3.2.0.jar和spring-objenesis-repack-2.1.jar

    总的来说,`spring-cglib-repack-3.2.0.jar`和`spring-objenesis-repack-2.1.jar`是Spring框架正常运行的关键组成部分,它们分别负责动态子类生成和无参构造函数对象的快速实例化,对于理解和优化Spring应用的性能有...

    Java开发案例-springboot-40-整合X Spring File Storage文件存储-源代码+文档.rar

    Java开发案例-springboot-40-整合X Spring File Storage文件存储-源代码+文档.rar Java开发案例-springboot-40-整合X Spring File Storage文件存储-源代码+文档.rar Java开发案例-springboot-40-整合X Spring File ...

    spring-cglib-repack-3.2.6.jar和spring-objenesis-repack-2.6.jar

    Spring框架是Java开发中广泛应用的一个开源框架,它极大地简化了企业级应用的开发工作。在提供的文件中,我们看到了两个与Spring相关的库:`spring-cglib-repack-3.2.6.jar` 和 `spring-objenesis-repack-2.6.jar`。...

    Spring-session2整合spring5+redis

    标题中的“Spring-session2整合spring5+redis”指的是在Spring框架的第五个主要版本(Spring 5)中,集成Spring Session 2与Redis数据库来管理Web应用的会话(Session)。Spring Session是一个开源项目,旨在提供一...

    Java开发案例-springboot-37-整合spring-retry实现服务重试-源代码+文档.rar

    Java开发案例-springboot-37-整合spring-retry实现服务重试-源代码+文档.rar Java开发案例-springboot-37-整合spring-retry实现服务重试-源代码+文档.rar Java开发案例-springboot-37-整合spring-retry实现服务重试-...

    spring-cglib-repack-3.2.5.jar,spring-objenesis-repack-2.6.jar

    在Java开发领域,Spring框架是不可或缺的重要组成部分,它为开发者提供了强大的依赖注入、AOP(面向切面编程)以及各种企业级服务。标题中的"spring-cglib-repack-3.2.5.jar"和"spring-objenesis-repack-2.6.jar"是...

    spring-boot-starter-web.jar

    Spring Boot 是在 Spring 的基础上创建一款开源框架,它提供了 spring-boot-starter-web(Web 场景启动器) 来为 Web 开发予以支持。spring-boot-starter-web 为我们提供了嵌入的 Servlet 容器以及 SpringMVC 的依赖...

    轻量级J2EE企业应用实战--Struts+Spring+Hibernate整合开发笔记

    本资源为轻量级 J2EE 企业应用实战开发笔记,涵盖 Struts、Spring 和 Hibernate 三大框架的整合开发实践。笔记从 JDK 安装和配置环境变量开始,接着介绍了 JSP 的技术原理和使用方法,包括 JSP 注释、声明、表达式、...

    spring导入eclipse时少的spring-cglib-repack-3.2.4.jar和spring-objenesis-repack-2.4.jar

    然而,有时候在导入Spring项目时,可能会遇到一些问题,例如标题中提到的"spring-cglib-repack-3.2.4.jar"和"spring-objenesis-repack-2.4.jar"这两个jar包的缺失。这些jar包对于Spring框架的正常运行至关重要,因为...

    springboot 整合spring-boot-starter-mail 发邮件.rar

    springboot 整合spring-boot-starter-mail 发邮件

    SpringBoot企业级开发教程_源代码.zip

    在现代的软件开发领域,SpringBoot已经成为了Java企业级应用开发的首选框架,其简洁的配置、快速的启动和丰富的生态系统深受开发者喜爱。本教程源代码提供了深入理解SpringBoot开发实践的机会,涵盖了从基础设置到...

    spring-framework-reference-4.3.19.pdf

    Spring框架提供了一种全面的方式来解决各种各样的问题,从依赖注入到事务管理,再到Web应用开发。 - **快速入门**:Spring框架为开发者提供了快速入门指南,帮助新手快速上手。通过简单的示例,开发者可以快速理解...

    spring-boot-samples-master

    5. **集成第三方服务**:"spring-boot-sample-actuator"展示了Spring Boot的监控和健康检查功能,而"spring-boot-sample-cloud-connectors"则演示了如何连接到云服务,如Heroku或Cloud Foundry。 6. **测试**:...

    spring-tool-suite-3.9.6.RELEASE-e4.9.0-win32.zip

    标题中的"spring-tool-suite-3.9.6.RELEASE-e4.9.0-win32.zip"是一款基于Eclipse的Spring开发工具集,名为Spring Tool Suite(STS)。它专为简化Spring框架的开发而设计,提供了丰富的功能和集成,帮助开发者高效地...

    spring源码阅读所需jar spring-cglib-repack-3.2.8.jar 和spring-objenesis-repack-2.6.jar

    Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单...

    spring-cglib-repack-3.2.0.jar和spring-objenesis-2.2.jar

    标题 "spring-cglib-repack-3.2.0.jar" 和 "spring-objenesis-2.2.jar" 指的是两个在Spring框架源代码构建过程中常用的库。这两个库在Spring框架的运行和开发中起着至关重要的作用。 首先,让我们详细了解一下...

    Spring框架(spring-framework-5.2.6.RELEASE)的jar包

    5. **Instrumentation**:这个模块主要用于服务器端的类加载器和应用级监控,通常在容器环境中使用。 6. **Test**:测试模块支持Spring应用的单元测试和集成测试,包括对Mock对象的支持。 在"spring-framework-...

    spring-5.2.8.RELEASE-dist.zip

    Spring框架是Java开发中最广泛应用的开源框架之一,它极大地简化了企业级应用的开发过程。Spring 5.2.8.RELEASE是该框架的一个重要版本,代表了Spring框架的最新稳定版。在这个版本中,开发者可以期待一系列的增强...

    spring-framework-2.5-rc2-with-dependencies\spring-framework-2.5-rc2\spring-framework-2.5-rc2docs

    总之,Spring Framework 2.5 RC2是Java开发中不可或缺的一部分,它的强大功能和易用性使其在企业级应用中广泛采用。通过阅读和研究“spring-framework-2.5-rc2-with-dependencies\spring-framework-2.5-rc2\spring-...

Global site tag (gtag.js) - Google Analytics