日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Flex與JavaServlet交互實例淺析

這是一個用Flex與后臺的 Servlet進行交互的例子,希望對一些剛學(xué)習(xí)Flex的新手有所幫助。為了搞清楚Flex是如何與后臺進行通訊,本人在剛開始學(xué)Flex前五天可以說是碌碌無為,這個文章的目的就是為了使初學(xué)者少走彎路。

站在用戶的角度思考問題,與客戶深入溝通,找到和靜網(wǎng)站設(shè)計與和靜網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設(shè)計、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、空間域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋和靜地區(qū)。

交互原理:三個字母---------XML,客戶端接受從服務(wù)器端發(fā)送過來的XML數(shù)據(jù)。

本例工作流程:客戶端很簡單就一個DataGrid組件,用來顯示服務(wù)器端傳送過來的數(shù)據(jù)。對應(yīng)的mxml文件如下:

XML 代碼

 
 
 
  1. ﹤?xml version="1.0" encoding="UTF-8"?﹥       
  2.  ﹤mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"﹥       
  3.      ﹤mx:Model source="http://localhost:8080/flex/first" id="model"﹥       
  4.                 
  5.     ﹤/mx:Model﹥       
  6.     ﹤mx:Panel title="用戶信息" width="776" height="281" fontSize="18"﹥       
  7.          ﹤mx:DataGrid dataProvider="{model.user}" width="748" height="231"﹥       
  8.             ﹤mx:columns﹥       
  9.                  ﹤mx:DataGridColumn dataField="name" headerText="用戶"﹥       
  10.                              
  11.                  ﹤/mx:DataGridColumn﹥       
  12.                  ﹤mx:DataGridColumn dataField="pwd" headerText="密碼"﹥       
  13.                              
  14.                  ﹤/mx:DataGridColumn﹥       
  15.                 ﹤mx:DataGridColumn dataField="school" headerText="現(xiàn)在學(xué)校"﹥       
  16.                             
  17.                 ﹤/mx:DataGridColumn﹥       
  18.              ﹤/mx:columns﹥       
  19.          ﹤/mx:DataGrid﹥       
  20.      ﹤/mx:Panel﹥       
  21.  ﹤/mx:Application﹥     

在此需要注意﹤mx:Model﹥標簽,source屬性指定的是一個servlet映射,這個servlet的作用是利用response向客戶端寫入XML。

讀取數(shù)據(jù)庫數(shù)據(jù),生成XML文件由兩個類組成,一個為FirstServlet.java,一個為XML.java,其中前者就是一個普通的servlet,用來寫XML文件,后者專門用來生成XML文件,由Java XML API操作完成。廢話少說,先看看代碼

FirstServlet代碼摘要:

Java 代碼

 
 
 
  1. try {        
  2.             xml.init() ;        
  3.             Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver") ;        
  4.           //*********建立數(shù)據(jù)庫 名為flex*************//        
  5.             String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=flex" ;        
  6.             //**********換上你自己的用戶名和密碼信息************//        
  7.             con = DriverManager.getConnection(url, "sa", "135780") ;        
  8.             stmt = con.createStatement() ;        
  9.             //**********里面建表名為USERS  具體SQL語句見附件下載**********//        
  10.             result = stmt.executeQuery("select * from USERS") ;        
  11.         } catch(Exception e) {        
  12.             e.printStackTrace() ;        
  13.         }        
  14.         //重要:設(shè)置響應(yīng)格式為XML格式        
  15.         response.setContentType("text/xml") ;        
  16.         response.setCharacterEncoding("UTF-8") ;        
  17.         PrintWriter out = response.getWriter() ;     

以上為servlet連接數(shù)據(jù)庫并設(shè)置響應(yīng)格式的代碼,下面是寫XML文件的關(guān)鍵代碼:

Java 代碼

 
 
 
  1. while(result.next()) {        
  2.                 String[] strs = new String[3] ;        
  3.                strs[0] = result.getString("name") ;        
  4.                 strs[1] = result.getString("pwd") ;        
  5.                strs[2] = result.getString("school") ;        
  6.                 //*****創(chuàng)建XMLdocument*******//        
  7.              xml.create(strs) ;        
  8.            }        
  9.              result.close() ;        
  10.             stmt.close() ;        
  11.             con.close() ;        
  12.             //*******寫XML文件到客戶端********//        
  13.             xml.output(out) ;     

其中末行的xml是XML.java的一個實例,XML的一些重要方法如下:

Java 代碼

 
 
 
  1. /**      
  2.     * 把XML文檔寫入到輸出流      
  3.     *       
  4.     * @param out      
  5.     *       ----指定的輸出流      
  6.     * @throws Exception      
  7.     *       
  8.     * 編寫者:王景輝 湖南農(nóng)業(yè)大學(xué)&湖南愛瑞潔投資管理公司      
  9. */       
  10.    public void output(Writer writer) throws Exception{        
  11.        Transformer trans = TransformerFactory.newInstance().newTransformer() ;        
  12.       trans.setOutputProperty(OutputKeys.ENCODING, "UTF-8") ;        
  13.       Source source = new DOMSource(document) ;        
  14.        Result result = new StreamResult(writer) ;        
  15.       trans.transform(source, result) ;        
  16.        writer.flush() ;        
  17.       writer.close() ;        
  18.   }     

Java 代碼

 
 
 
  1. /**      
  2. * 創(chuàng)建XML文檔      
  3. *       
  4. * @param   strs       
  5. *       -------傳送過來的姓名和密碼和學(xué)校參數(shù)      
  6. *       
  7. * 編寫者:王景輝 湖南農(nóng)業(yè)大學(xué)&湖南愛瑞潔投資管理公司      
  8. */       
  9. public void create(String[] strs) {        
  10.      //*********級子節(jié)點******//        
  11.        Element first = document.createElement("user") ;        
  12.        root.appendChild(first) ;        
  13.                 
  14.        for(int i=0; i﹤strs.length; i++) {        
  15.          if(i==0) {        
  16.              //*******第二級子節(jié)點******//        
  17.              Element name = document.createElement("name") ;        
  18.               name.appendChild(document.createTextNode(strs[i])) ;        
  19.                first.appendChild(name) ;        
  20.            } if(i==1) {        
  21.               Element pwd = document.createElement("pwd") ;        
  22.                  pwd.appendChild(document.createTextNode(strs[i])) ;        
  23.                  first.appendChild(pwd) ;        
  24.             } if(i==2) {        
  25.                 Element school = document.createElement("school") ;        
  26.               school.appendChild(document.createTextNode(strs[i])) ;        
  27.                 first.appendChild(school) ;        
  28.              }        
  29.         }        
  30.     }     

其實說到底,這個例子沒有什么神秘的,只要記住,XML是Flex與后臺進行數(shù)據(jù)交換的媒介,無論后臺數(shù)據(jù)怎么千變?nèi)f化,出口就有這一個。如果試驗,可以先從簡單開始,不涉及查詢數(shù)據(jù)庫,直接在servlet寫出XML。

如果大家還有什么疑問,歡迎留言,我也是初學(xué)者,讓我們共同進步。

程序運行方法:

STEP1:  在SQLServer2000里建一個數(shù)據(jù)庫flex,然后在查詢分析器導(dǎo)入附件所帶的SQL語句.sql,生成所需表格

STEP2:  把FlexDataService安裝目錄下的flex.war解壓到(比如說D:\a),然后把D:\a\web-inf下的flex整個目錄拷貝到 WEB程序的WEB-INF下,把D:\a\web-inf\lib目錄下的jar包拷貝到對應(yīng)WEB程序下的lib目錄下。

STEP4:  拷貝工程文件到你所建的MyEclipse工程

因為Flex與Java進行通信涉及到的文件會非常多,如果你以前會部署,那再好不過。一般情況下,根據(jù)上述步驟能部署成功。

Flex與Java Servlet交互實例淺析就到這里告一段落了,不知道你的感覺如何?


標題名稱:Flex與JavaServlet交互實例淺析
文章鏈接:http://www.5511xx.com/article/cogpjie.html