<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java學習

    java,spring,structs,hibernate,jsf,ireport,jfreechart,jasperreport,tomcat,jboss -----本博客已經搬家了,新的地址是 http://www.javaly.cn 如果有對文章有任何疑問或者有任何不懂的地方,歡迎到www.javaly.cn (Java樂園)指出,我會盡力幫助解決。一起進步

     

    在 web project 中的 jsp 程序中 使用 Web Service

    新建WEB工程 testservice
     目錄如下:
     cn--test--service--impl

     2.要導入的包
           activation-1.0.2.jar
         commons-codec-1.3.jar
         commons-httpclient-3.0.jar
         commons-logging-1.0.4.jar
         jaxen-1.1-beta-8.jar
         jdom-1.0.jar
         log4j-1.2.x.jar
         mail-1.3.3_01.jar
         spring-1.2.x.jar
         stax-api-1.0.jar
         wsdl4j-1.5.2.jar
         wstx-asl-2.9.jar
         xbean-2.1.0.jar
         xbean-spring-2.2.jar
         xfire-all-1.0.jar
         XmlSchema-1.0.jar


     3.數據發布端
     (1)編寫發布接口
     package cn.test.service;

     public interface ADService {
      String[][] getDatas();
     }

     (2)編寫實現類
     package cn.test.service.impl;

     import cn.test.service.ADService;

     public class ADServiceImpl implements ADService{

      public String[][] getDatas() {
       
       String ads[][] = new String[3][3];
       
       for(int i=0;i<3;i++){
        for(int j=0;j<3;j++){
         ads[i][j] = String.valueOf(i * j);
        }
       }
       return ads;
      }

     }
     
      4.增加xfire的配置文件services.xml
        在src目錄中加入/src/META-INF/xfire/services.xml
        <beans xmlns="http://xfire.codehaus.org/config/1.0">
     <service>
      <name>AD</name>     <!-- 這個名字比較重要,調用時用的就是它 -->
      <namespace>http://localhost/ADService</namespace>//使用這個地址訪問
      <serviceClass>cn.test.service.ADService</serviceClass>
      <implementationClass>
       cn.test.service.impl.ADServiceImpl //實現的類
      </implementationClass>
      <!-- 這個東西是一個修飾器 貌似調用了SPRING的整合有關 加了會報一個錯誤
      <inHandlers>
       <handler
        handlerClass="org.codehaus.xfire.demo.handlers.CheckVersionHandler" />
      </inHandlers>
      -->
     </service>
        </beans>
       
     5.配置web.xml
        在web.xml中加入:
             <servlet>
      <servlet-name>XFireServlet</servlet-name> //使用內置的Servlet
      <display-name>XFire Servlet</display-name>
      <servlet-class>
       org.codehaus.xfire.transport.http.XFireConfigurableServlet
      </servlet-class>
     </servlet>
     <servlet-mapping>
      <servlet-name>XFireServlet</servlet-name>
      <url-pattern>/services/*</url-pattern>  //過濾的路徑
     </servlet-mapping>

     

     6.測試xfire是否部署成功
     http://localhost/testservice/services/AD?wsdl


     7.編寫客戶端
     package cn.test.service;

     import java.net.MalformedURLException;
     import org.codehaus.xfire.XFire;
     import org.codehaus.xfire.XFireFactory;
     import org.codehaus.xfire.client.XFireProxyFactory;
     import org.codehaus.xfire.service.Service;
     import org.codehaus.xfire.service.binding.ObjectServiceFactory;

     public class CallService {
      public String[][] getData(){
          Service serviceModel = new ObjectServiceFactory().create(ADService.class);       //注意,此處用的接口是發布端的接口ADService.class
        
          XFire xfire = XFireFactory.newInstance().getXFire();
          XFireProxyFactory factory = new XFireProxyFactory(xfire);    
        
          String serviceUrl = "http://localhost/testservice/services/AD";
            
          ADService client = null;
          try {
          client = (ADService) factory.create(serviceModel, serviceUrl);  //通過類名和地址來達到類的實例
          } catch (MalformedURLException e) {
         System.out.println("WsClient.callWebService(): EXCEPTION: " + e.toString());
          }  
            
         
          String[][] datas = null ;
          try {
       datas = client.getDatas();
          } catch (Exception e){
       System.out.println("WsClient.callWebService(): EXCEPTION: " + e.toString());
          }      
         
          //將所有的數據逐個打印出來
          int len = datas.length;
          for(int i=0;i<len;i++){
       int len2 = datas[i].length;
       for(int j=0;j<len2;j++){
        System.out.print("\t"+datas[i][j]);
       }
       System.out.println();
          }

          return datas;
      }
     }

      8.寫一個JSP調用客戶端
     <%@ page language="java" import="java.util.*,cn.yicha.service.*" pageEncoding="utf-8"%>
     
     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     <html>
       <head>
         <title>My JSP 'index.jsp' starting page</title> 
       </head> 
       <body>
      webservice test!
        
         <%
      CallService cs = new CallService();
      cs.getData();
        
          %>
       </body>
     </html>

    posted on 2009-04-03 16:43 找個美女做老婆 閱讀(352) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    公告

    本blog已經搬到新家了, 新家:www.javaly.cn
     http://www.javaly.cn

    常用鏈接

    留言簿(6)

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日产亚洲一区二区三区| 久久国产乱子精品免费女| 中文字幕亚洲精品资源网| 亚洲女同成人AⅤ人片在线观看| 亚洲免费在线视频播放| 99热在线日韩精品免费| 美女裸免费观看网站| 久久久久高潮毛片免费全部播放 | 国产一级a毛一级a看免费视频 | 人妻无码久久一区二区三区免费| 免费看黄网站在线看| 亚洲国产精品网站在线播放| 亚洲导航深夜福利| 日本高清免费不卡在线| 成年黄网站色大免费全看| 久久综合给合久久国产免费| 两个人看的www免费高清| fc2免费人成在线视频| 黄色网址免费在线| 国产精品亚洲а∨无码播放麻豆| 亚洲色大成网站www永久男同| 亚洲大香伊人蕉在人依线| 亚洲国产精品免费视频| 亚洲国产综合专区在线电影| 亚洲日韩精品无码一区二区三区| 亚洲人妻av伦理| 在线观看国产区亚洲一区成人| 波多野结衣中文一区二区免费| 国产特级淫片免费看| 国产免费AV片无码永久免费| 国产免费观看青青草原网站| 国产免费久久精品| 亚洲情a成黄在线观看| 久久久久亚洲爆乳少妇无 | 国产在线观a免费观看| 手机看片国产免费永久| 国产免费网站看v片在线| 性色午夜视频免费男人的天堂| 日本xxxx色视频在线观看免费| 日本免费人成在线网站| 黄色成人网站免费无码av|