hessian是什么东西就不多说了,具体可以查阅相关的资料。由于hessian简洁的实现了轻量级的远程调用,因此在基于B/S构架的项目集成上所带来的简便是不言而喻的,下面就总结下hessian与项目集成的两种方式。
一、独立使用hessian
首先需要在web.xml中声明提供远程访问环境,具体方法如下:
<servlet> <servlet-name>remoteService</servlet-name> <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class> <init-param> <param-name>service-class</param-name> <param-value>com.soft.server.common.RemoteProviderImpl</param-value><!--提供远程服务的实现类--> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>remoteService</servlet-name> <url-pattern>/remote.service</url-pattern><!---访问服务名--> </servlet-mapping>
然后制定制定相关的业务方法。
二、用spring包装过的hessian
其中web.xml中的配置方法为
<servlet> <servlet-name>remoteService</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>remoteService</servlet-name> <url-pattern>/remote.service</url-pattern> </servlet-mapping>
spring中的配置为(注:该配置文件的名字必须要求为:服务名-servlet.xml,并且和web.xml放置在一起)
<bean name="remoteService" class="org.springframework.remoting.caucho.HessianServiceExporter"> <property name="service"> <ref bean="getRemoteService"/><!---接口的实现类---> </property> <property name="serviceInterface"> <value>com.soft.service.common.RemoteProvider</value><!--接口---> </property> </bean> <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/remote.service">remoteService</prop> </props> </property> </bean>
其余的就是根据需要实现业务方法。
三、客户端的访问方式示例
import com.caucho.hessian.client.HessianProxyFactory;
public class TestProvider {
public static void main(String []args) throws Exception
{
//Hessian服务的url
String url = "http://localhost:8080/soft/remote.service";
//创建HessianProxyFactory实例
HessianProxyFactory factory = new HessianProxyFactory();
//获得Hessian服务的远程引用
RemoteProvider d = (RemoteProvider) factory.create(RemoteProvider.class, url);
//调用远程服务。
System.out.println("下面调用Hessian服务: " + d.getName("201010"));
}
}
从配置的文件数来说,直接运用hessian貌似比用spring包装过的hessian过的简单些,但是运用spring包装过的hessian在开多个远程服务端时候有很大的优势。运用spring包装过的hessian需要注意把它的配置文件和web.xml放在同一目录下面。