<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 找個美女做老婆 閱讀(355) 評論(0)  編輯  收藏


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


    網站導航:
     

    導航

    統計

    公告

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

    常用鏈接

    留言簿(6)

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 99热这里只有精品免费播放| 老司机午夜性生免费福利| 国产精品色午夜免费视频| 人妻丰满熟妇无码区免费| 亚洲熟妇少妇任你躁在线观看| 亚洲毛片αv无线播放一区| 中文字幕无码免费久久99 | 无码av免费一区二区三区试看| 激情综合亚洲色婷婷五月APP| 亚洲国产AV无码专区亚洲AV| 国产日本一线在线观看免费| 中文在线免费看视频| 黄视频在线观看免费| 中美日韩在线网免费毛片视频| 国产av无码专区亚洲av毛片搜| 亚洲国产综合AV在线观看| 亚洲AV男人的天堂在线观看| 亚洲色偷偷色噜噜狠狠99网| 2020亚洲男人天堂精品| 国产亚洲欧美日韩亚洲中文色| 亚洲成a人片在线观看天堂无码| 亚洲日韩AV一区二区三区四区| 亚洲国产精品自在自线观看| WWW亚洲色大成网络.COM| 国产精品亚洲一区二区无码| 永久免费精品影视网站| 国产麻豆成人传媒免费观看| 亚洲大片免费观看| 免费a级毛片无码a∨蜜芽试看| 俄罗斯极品美女毛片免费播放| 亚洲精品无码永久在线观看| 亚洲天堂在线播放| 亚洲videos| 久久er国产精品免费观看8| 18禁免费无码无遮挡不卡网站 | 久久国产精品亚洲综合 | 成人浮力影院免费看| 国产成人免费A在线视频| 亚洲AV无码专区电影在线观看| 亚洲性色精品一区二区在线| 国产亚洲精品美女2020久久|