小海賊的夜晚

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            14 隨筆 :: 0 文章 :: 9 評(píng)論 :: 0 Trackbacks

          Hessian是一個(gè)簡(jiǎn)單的二進(jìn)制的Web服務(wù)方案(其實(shí)我覺得它更多的是一種二進(jìn)制對(duì)象傳遞方式),它只需要一個(gè)客戶端接口和服務(wù)端程序就可以輕松實(shí)現(xiàn)程序的遠(yuǎn)程調(diào)用啦。
          下面就以Hessian主頁(yè)上的例子來(lái)show一下這種簡(jiǎn)單的RPC應(yīng)用方案啦


          1、在tomcat下創(chuàng)建一個(gè)應(yīng)用test,在其下的WEB-INF/src目錄下編寫以下程序文件。

          2、創(chuàng)建服務(wù)端程序文件example/BasicService.java,內(nèi)容如下:
          package example;

          public class BasicService implements Basic {
            private String _greeting = "Hello, world";

            public void setGreeting(String greeting)
            {
              _greeting = greeting;
            }

            public String hello()
            {
              return _greeting;
            }
          }

          3、創(chuàng)建一個(gè)本地接口,example/Basic.java,內(nèi)容如下:
          package example;

          public interface Basic {
             public String hello(); //與服務(wù)端的hello方法對(duì)應(yīng)
          }


          4、創(chuàng)建客戶端測(cè)試程序,example/BasicClient.java,內(nèi)容如下:

          package example;

          import com.caucho.hessian.client.HessianProxyFactory;

          public class BasicClient {
            public static void main(String []args)
              throws Exception
            {
              String url = "

              HessianProxyFactory factory = new HessianProxyFactory();
              Basic basic = (Basic) factory.create(Basic.class, url);

              System.out.println("Hello: " + basic.hello());
            }
          }

          5、修改WEB-INF下的web.xml文件,填充以下內(nèi)容:

            <?xml version="1.0" encoding="ISO-8859-1"?>

          <!DOCTYPE web-app
              PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
              "
           <web-app>
            <servlet>
             <servlet-name>hello</servlet-name>
             <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
              <init-param>
                <param-name>home-class</param-name>
                <param-value>example.BasicService</param-value>
              </init-param>
              <init-param>
                <param-name>home-api</param-name>
                <param-value>example.Basic</param-value>
              </init-param>
            </servlet>

            <servlet-mapping>
              <url-pattern>/hello</url-pattern>
              <servlet-name>hello</servlet-name>
            </servlet-mapping>
          </web-app>

          6、啟動(dòng)tomcat后,運(yùn)行一下BasicClient類

          看一看,是不是輸出以下的內(nèi)容啦,如果有恭喜你,已經(jīng)成功創(chuàng)建你的第一個(gè)RPC Hessian應(yīng)用了。
          > Hello: Hello, world


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 仁化县| 新乡县| 大理市| 九龙城区| 阜阳市| 什邡市| 秦皇岛市| 万盛区| 维西| 固始县| 宜州市| 石柱| 山阴县| 绥滨县| 南宫市| 孝义市| 西和县| 浦北县| 上虞市| 邢台县| 六盘水市| 绵阳市| 舒兰市| 谢通门县| 微山县| 锦州市| 珠海市| 安泽县| 平南县| 桐乡市| 揭西县| 阳高县| 曲靖市| 察隅县| 临漳县| 睢宁县| 莱州市| 鲁山县| 枣阳市| 南康市| 京山县|