服务器端部署:
在web.xml中:
<!-- http invoker 发布配置 -->
<servlet>
<servlet-name>enhttpinvoker</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation </param-name>
<param-value>classpath*:/httpinvoker-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>enhttpinvoker</servlet-name>
<url-pattern>/httpservices/*</url-pattern>
</servlet-mapping>
在httpinvoker-servlet.xml中:
<bean name="/httpinvokerOpenSer" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
<property name="service" ref="openFacadeImp"></property>
<property name="serviceInterface">
<value>com.dvte.boss.httpinvoker.custopen.IOpenFacade</value>
</property>
</bean>
其中IOpenFacade是接口类,openFacadeImp对应的是实现类,由spring容器负责创建实例,所以OpenFacadeImp事先要扫描到容器中。
IOpenFacade接口如下:
public interface IOpenFacade{
ReturnMsg addUser(User u);
}
客户端的部署:
在applicationContext.xml中:
<bean id="ServletProxy"
在客户端调用:
public static void main(String[] args){
ClassPathXmlApplicationC
这样就可以完成一个远程的调用的过程,但前提是这个只使用在spring之间的调用。