一、服务器端:
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);
}
}
测试结果:正在请求调用...远程服务调用成功! 哈哈,我来了!