在项目中集成hessian小结

本文介绍了Hessian轻量级远程调用技术及其与项目的两种集成方式:独立使用Hessian和使用Spring包装Hessian。同时提供了客户端访问示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         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放在同一目录下面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值