zoukankan      html  css  js  c++  java
  • spring 远程调用

    spring远程调用:
    ------------------------
    -----------server-----------
    1.创建web项目
    2.添加spring类库
        org.springframework.aop-3.1.0.RELEASE.jar
        org.springframework.asm-3.1.0.RELEASE.jar
        org.springframework.beans-3.1.0.RELEASE.jar
        org.springframework.context-3.1.0.RELEASE.jar
        org.springframework.context.support-3.1.0.RELEASE.jar
        org.springframework.core-3.1.0.RELEASE.jar
        org.springframework.web-3.1.0.RELEASE.jar
        org.springframework.web.servlet-3.1.0.RELEASE.jar
        org.springframework.expression-3.1.0.RELEASE.jar
    
        com.springsource.org.aopalliance-1.0.0.jar
        com.springsource.org.apache.commons.logging-1.1.1.jar
    3.创建接口和实现类
        public interface WelcomeService {
            public void sayHello(String name);
        }
    
        public class WelcomeServiceImpl implements WelcomeService {
            public void sayHello(String name) {
                System.out.println(name);
            }
        }
    4.配置spring配置文件.
        [web-inf/${servler-name}-servlet.xml]
        <?xml version="1.0"?>
        <beans xmlns="http://www.springframework.org/schema/beans"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
            xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"
            xmlns:cache="http://www.springframework.org/schema/cache"
            xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd ">
            
            <!-- pojo -->
            <bean id="welcomeService" class="cn.itcast.spring.rpc.service.WelcomeServiceImpl" />
            
            <!-- 导出器,将pojo对象转变成controller,处理请求 -->
            <bean name="/ws.service" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
                <property name="serviceInterface">
                    <value>cn.itcast.spring.rpc.service.WelcomeService</value>
                </property>
                <property name="service" ref="welcomeService" />
            </bean>
        </beans>
    
    -----------client-----------
    5.创建java项目
    6.引入类库
        同服务端.
    7.复制服务端接口到客户端.
    8.创建src/client.xml spring配置文件
        <?xml version="1.0"?>
        <beans xmlns="http://www.springframework.org/schema/beans"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
            xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"
            xmlns:cache="http://www.springframework.org/schema/cache"
            xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd ">
            <!-- 客户端代理 -->
            <bean id="wsClient" class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
                <property name="serviceUrl">
                    <value>http://localhost:8080/lsn_springrpc_0909_server/ws.service</value>
                </property>
                <property name="serviceInterface">
                    <value>cn.itcast.spring.rpc.service.WelcomeService</value>
                </property>
            </bean>
        </beans>
    9.创建测试类
        public class App {
            public static void main(String[] args) {
                ApplicationContext ac = new ClassPathXmlApplicationContext("client.xml");
                WelcomeService ws = (WelcomeService) ac.getBean("wsClient");
                ws.sayHello("tom");
            }
        }
    10.运行
        先启动服务器端
        在启动客户端.
    
    将项目中的统计服务对外公开,供第三方系统整合
    -------------------------------------------
    --------- server ---------
    1.引入类库
        org.springframework.web.servlet-3.1.0.RELEASE.jar
    2.配置web.xml文件DispatcherServlet
        <!--  配置spring远程调用使用的分发器servlet -->
        <servlet>
            <servlet-name>service</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:service-spring-http-inovker.xml</param-value>
            </init-param>
        </servlet>
        <servlet-mapping>
            <servlet-name>service</servlet-name>
            <url-pattern>/*.service</url-pattern>
        </servlet-mapping>
    3.配置spring远程调用配置文件
        [conf/service-spring-http-invoker.xml]
        <?xml version="1.0"?>
        <beans xmlns="http://www.springframework.org/schema/beans"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
            xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"
            xmlns:cache="http://www.springframework.org/schema/cache"
            xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd ">
            
            <!-- 远程调用统计服务类 -->
            <bean name="/ss.service" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
                <property name="serviceInterface" value="cn.itcast.surveypark.service.StatisticsService" />
                <property name="service" ref="statisticsService" />
            </bean>
        </beans>
    
    -------  client  ----------
    4.添加客户端配置bean.
        <!-- 客户端代理 -->
        <bean id="ssClient" class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
            <property name="serviceUrl">
                <value>http://localhost:8000/lsn_surveypark0909/ss.service</value>
            </property>
            <property name="serviceInterface">
                <value>cn.itcast.surveypark.service.StatisticsService</value>
            </property>
        </bean>
    5.测试
  • 相关阅读:
    Codeforces Round #494 (Div. 3) D. Coins and Queries (贪心,数学)
    Codeforces Round #645 (Div. 2) D. The Best Vacation (贪心,二分)
    Codeforces Round #481 (Div. 3) F. Mentors (模拟,排序)
    Codeforces Round #646 (Div. 2) B. Subsequence Hate (思维,前缀和)
    windows的类似shell 命令操作 风行天下
    Linux防火墙iptables的策略 风行天下
    HP服务器安装配置教程 风行天下
    zabbix 监控数据库 及 tcp连接数 风行天下
    Linux日志 风行天下
    CENTOS 挂载ntfs移动硬盘 风行天下
  • 原文地址:https://www.cnblogs.com/kite/p/3745304.html
Copyright © 2011-2022 走看看