前段时间为了完成项目中的远程调用功能,查了很多资料,学习了Webservice远程调用和Spring远程调用,现在将Spring远程调用的方法总结如下,希望对有需要的人能够提供一点点帮助。
远程调用分为两个工程:客户端和服务器端,每个工程都必须添加Spring 的Core,AOP,Remoting,Web 4个jar包。
服务器端如下:
src下有一个包,包下有一个接口和一个实现了该接口的类
接口和实现类内容:
public interface HelloService {
String getPerson(String name);
}
public class HelloServiceImpl implements HelloService {
public String getPerson(String name) {
// TODO Auto-generated method stub
return "Hello "+name;
}
}
包结构图如下:
WebRoot下的WEB-INF下有两个配置文件 web.xml和server_config.xml
web.xml的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>remoteservice</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/server_config.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>remoteservice</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
server_config.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.5.xsd">
<!--<bean id="service" class="hello.HelloService"></bean>
--><bean id="serviceImpl" class="hello.HelloServiceImpl"></bean>
<bean name="/service.do"
class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
<property name="serviceInterface" value="hello.HelloService"></property>
<property name="service" ref="serviceImpl"></property>
</bean>
</beans>
客户端如下:
src下有一个包和一个配置文件client.xml,包内有一个和服务器端一致的接口和一个测试类
包结构图如下:
测试类的内容如下:
public class TestService {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ApplicationContext context = new ClassPathXmlApplicationContext("client_config.xml");
HelloService service = (HelloService)context.getBean("serviceProxy");
String str = service.getPerson("zhangrongrong");
System.out.println(str);
}
}
client.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.5.xsd">
<bean id="serviceProxy"
class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
<property name="serviceUrl"
value="http://127.0.0.1:8080/spring_server/service.do">
</property>
<property name="serviceInterface"
value="chello.HelloService">
</property>
</bean>
</beans>
- 大小: 8.9 KB
- 大小: 8 KB
分享到:
相关推荐
首先,我们要明确Spring远程调用(Remoting)的基本概念。远程调用是指应用程序的不同组件或服务之间,通过网络进行通信的一种方式。Spring支持多种远程调用协议,如RMI(Remote Method Invocation)、Hessian、 ...
这就是Spring框架实现远程调用服务端接口以实现WebService功能的基本流程。由于HttpInvoker基于HTTP,它天生具备良好的网络穿透能力,适合于分布式系统中的跨网络通信。同时,由于使用了Java序列化,它的性能相对较...
Spring Cloud Feign 实现远程调用服务传输文件的方法 在微服务架构中,服务之间的调用和文件传输是非常常见的场景。Spring Cloud Feign 是一个基于 Java 的声明式 RESTful 客户端,提供了一种简单、可靠的方式来...
首先,我们需要理解什么是Spring远程调用。Spring Remote提供了一种机制,使得应用程序能够跨越网络边界调用其他服务的方法,仿佛它们是在同一进程中执行一样。HTTP远程调用是Spring Remote的一种实现方式,通过HTTP...
在提供的压缩包文件中,"三种方式(原始方式_spring_jndi)实现java远程调用(rmi)"包含了相关的示例代码,帮助开发者理解并实践这三种RMI实现方法。在MyEclipse或其他Java开发环境中导入这些代码,可以进行调试和...
在分布式系统中,远程调用是一个常见需求,Spring为此提供了一种轻量级的解决方案——HttpInvoker。本文将详细讲解如何利用Spring的HttpInvoker进行远程方法调用。 首先,我们需要理解什么是Spring HttpInvoker。...
Spring RMI(Remote Method Invocation)远程接口调用是Spring框架提供的一个特性,它允许你在分布式环境中调用对象的方法,使得应用程序能够跨越网络边界操作远程对象。这个技术在大型企业级应用中尤其有用,因为它...
上文我们利用Spring rmi实现了Spring的远程访问(Spring 实现远程访问详解——rmi),本文主要讲解利用HttpInvoke实现远程访问。 Spring httpInvoker使用标准java序列化机制,通过Http暴露业务服务。如果你的参数和...
通过使用 RmiProxyFactoryBean 和 RmiServiceExporter,并且,Spring支持两个传统的RMI(使用 java.rmi.Remote接口和java.rmi.RemoteException)和通过RMI调用器实现的暴露远程调用(支持任何Java接口)。...
- **RabbitMQ**:Spring Boot可以通过集成RabbitMQ实现消息队列的远程调用,适用于异步处理和解耦。 - **RESTful API**:基于HTTP协议,Spring Boot提供Spring MVC和WebFlux来创建RESTful服务,简单易用且跨平台。...
其他分布式组件可以通过相同的接口消费这个服务,实现远程调用。 7. **测试和部署**:测试Web服务的正确性,确保所有功能正常工作。然后,将应用部署到目标环境中,确保所有依赖项如数据库和网络服务都已准备就绪。...
在本项目中,"springboot实现远程控制"是一个利用Spring Boot技术栈构建的后端服务,结合了Java的Robot类和WebSocket技术,旨在创建一个简单的远程控制应用。这个应用允许用户通过浏览器(B/S架构)进行远程操作,实现...
本篇文章将深入探讨“远程调用服务框架”,包括其原理、实现方式以及Spring框架如何封装各种远程调用技术。 首先,Spring框架以其模块化和灵活性而著名,它提供了一个统一的编程模型,使得开发者能够轻松地集成不同...
struts2.3.4+spring3.2.0+hibernate4+hibernate_generic_dao struts hibernate spring最大化使用注释 基于spring的远程调用
服务消费者则需要通过@ServiceReference注解引用服务提供者提供的接口,Dubbo会自动从Nacos获取服务实例,从而实现远程调用。在消费者端,我们可以通过接口方法直接调用远程服务,就像调用本地方法一样便捷。 为了...
本示例聚焦于一个具体的场景:使用C#客户端远程调用基于Spring框架的Java Web服务。以下将详细阐述涉及的技术点。 首先,Spring框架是Java领域的一个核心组件,尤其在企业级应用开发中广泛使用。它提供了一个全面的...
OpenFeign 和 Dubbo一样是一个RPC远程调用框架,目的是使的我们调用接口和调用本地方法一样简单,开发者无需关心和远程的交互细节( 即不需要通过常规的 Http Client 构建请求再解析返回数据,让开发者在调用远程接口...
Sprig(可能是指Spring的拼写错误)在这里可能是指Spring框架,它提供了多种方式来实现远程调用,其中HTTP调用是常用的一种。本篇文章将深入探讨Spring中的HTTP调用,以及如何通过示例项目`HttpCall_Server`和`...
在云原生架构中,微服务间的通信是一个关键问题,Spring Cloud Alibaba 提供了一套解决方案,其中Feign是实现服务间远程调用的一种重要组件。本文将深入探讨如何使用Spring Cloud Alibaba的Feign进行实战应用,并...
1.SpringBoot聚合工程整合Dubbo,实现服务提供者与服务消费者的数据调用, 2.该项目提高了自己对Spring Boot整合...7. 本项目完全为聚合工程,DubboRPC远程调用数据,及注解式开发,注入远程对象实现消费者的消费。