HttpInvoker远程调用实例

一、服务器端:
1、服务接口与实现类
 
 
 
Java代码
package org.eesite.bbs.remote;  
  
  
  
public interface IRemoteService {  
  
    public String getString(String msg);  
  
}  
  
   
  
package org.eesite.bbs.remote;  
  
  
  
public class RemoteServiceImpl implements IRemoteService {  
  
    public String getString(String msg) {  
  
       String str = "正在请求调用...远程服务调用成功! " + msg;  
  
       return str;  
  
    }  
  
}  
package org.eesite.bbs.remote; public interface IRemoteService { public String getString(String msg); } package org.eesite.bbs.remote; public class RemoteServiceImpl implements IRemoteService { public String getString(String msg) { String str = "正在请求调用...远程服务调用成功! " + msg; return str; } }
 
 
2、服务暴露配置remote-servlet.xml
 
Xml代码
<?xml version="1.0" encoding="UTF-8"?>  
  
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " http://www.springframework.org/dtd/spring-beans.dtd">  
  
<beans>  
  
    <!-- 通过Spring HttpInvoker机制暴露远程访问服务 -->  
  
    <bean id="rmiService"  
  
       class="org.eesite.bbs.remote.RemoteServiceImpl" />  
  
   
  
    <bean name="/remoteService"  
  
class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">  
  
       <property name="service" ref="rmiService" />  
  
       <property name="serviceInterface"  
  
           value="org.eesite.bbs.remote.IRemoteService" />  
  
    </bean>  
  
</beans>  
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <!-- 通过Spring HttpInvoker机制暴露远程访问服务 --> <bean id="rmiService" class="org.eesite.bbs.remote.RemoteServiceImpl" /> <bean name="/remoteService" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter"> <property name="service" ref="rmiService" /> <property name="serviceInterface" value="org.eesite.bbs.remote.IRemoteService" /> </bean> </beans>
 
 
 
 
3、web.xml配置
 
 
 
Xml代码
<!-- 加载服务配置文件 -->  
  
<context-param>  
  
       <param-name>contextConfigLocation</param-name>  
  
       <param-value>/WEB-INF/remote-servlet.xml</param-value>  
  
    </context-param>  
  
   
  
<!-- 配置DispatcherServlet -->  
  
    <servlet>  
  
        <servlet-name>remote</servlet-name>  
  
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  
        <!-- 配置该Servlet随应用启动时候启动 -->  
  
        <load-on-startup>1</load-on-startup>  
  
    </servlet>  
  
<!-- 配置DispatcherServlet映射的url -->  
  
    <servlet-mapping>  
  
       <servlet-name>remote</servlet-name>  
  
       <url-pattern>/remoting

public class TestRemote {
 
  
    public static void main(String[] args) {
       ApplicationContext applicationContext = new ClassPathXmlApplicationContext("remote.xml");
       IRemoteService service = (IRemoteService) applicationContext
              .getBean("remoteService");
       String msg = service.getString("哈哈,我来了!");
       System.out.println(msg);
    }
}
 
测试结果:正在请求调用...远程服务调用成功! 哈哈,我来了!

猜你喜欢

转载自wsqwsq000.iteye.com/blog/1120682