中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flex與Java Servlet交互的示例分析

發布時間:2021-11-20 17:06:37 來源:億速云 閱讀:115 作者:柒染 欄目:編程語言

本篇文章給大家分享的是有關Flex與Java Servlet交互的示例分析,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

為了搞清楚Flex是如何與后臺進行通訊,本人在剛開始學Flex前五天可以說是碌碌無為,這個文章的目的就是為了使初學者少走彎路。

交互原理:三個字母---------XML,客戶端接受從服務器端發送過來的XML數據。

工作流程:客戶端很簡單就一個DataGrid組件,用來顯示服務器端傳送過來的數據。對應的mxml文件如下:

XML 代碼

﹤?xml version="1.0" encoding="UTF-8"?﹥        ﹤mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"﹥            ﹤mx:Model source="http://localhost:8080/flex/first" id="model"﹥                           ﹤/mx:Model﹥           ﹤mx:Panel title="用戶信息" width="776" height="281" fontSize="18"﹥                ﹤mx:DataGrid dataProvider="{model.user}" width="748" height="231"﹥                   ﹤mx:columns﹥                        ﹤mx:DataGridColumn dataField="name" headerText="用戶"﹥                                                     ﹤/mx:DataGridColumn﹥                        ﹤mx:DataGridColumn dataField="pwd" headerText="密碼"﹥                                                     ﹤/mx:DataGridColumn﹥                       ﹤mx:DataGridColumn dataField="school" headerText="現在學校"﹥                                                   ﹤/mx:DataGridColumn﹥                    ﹤/mx:columns﹥                ﹤/mx:DataGrid﹥            ﹤/mx:Panel﹥        ﹤/mx:Application﹥

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

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

FirstServlet代碼摘要:

Java 代碼

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

以上為servlet連接數據庫并設置響應格式的代碼,下面是寫XML文件的關鍵代碼:

Java 代碼

while(result.next()) {                        String[] strs = new String[3] ;                       strs[0] = result.getString("name") ;                        strs[1] = result.getString("pwd") ;                       strs[2] = result.getString("school") ;                        //*****創建XMLdocument*******//                     xml.create(strs) ;                   }                     result.close() ;                    stmt.close() ;                    con.close() ;                    //*******寫XML文件到客戶端********//                    xml.output(out) ;

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

Java 代碼

/**          * 把XML文檔寫入到輸出流          *           * @param out          *       ----指定的輸出流          * @throws Exception          *           * 編寫者:王景輝 湖南農業大學&湖南愛瑞潔投資管理公司      */          public void output(Writer writer) throws Exception{               Transformer trans = TransformerFactory.newInstance().newTransformer() ;              trans.setOutputProperty(OutputKeys.ENCODING, "UTF-8") ;              Source source = new DOMSource(document) ;               Result result = new StreamResult(writer) ;              trans.transform(source, result) ;               writer.flush() ;              writer.close() ;          }

Java 代碼

/**      * 創建XML文檔      *       * @param   strs       *       -------傳送過來的姓名和密碼和學校參數      *       * 編寫者:王景輝 湖南農業大學&湖南愛瑞潔投資管理公司      */       public void create(String[] strs) {             //*********級子節點******//               Element first = document.createElement("user") ;               root.appendChild(first) ;                               for(int i=0; i﹤strs.length; i++) {                 if(i==0) {                     //*******第二級子節點******//                     Element name = document.createElement("name") ;                      name.appendChild(document.createTextNode(strs[i])) ;                       first.appendChild(name) ;                   } if(i==1) {                      Element pwd = document.createElement("pwd") ;                         pwd.appendChild(document.createTextNode(strs[i])) ;                         first.appendChild(pwd) ;                    } if(i==2) {                        Element school = document.createElement("school") ;                      school.appendChild(document.createTextNode(strs[i])) ;                        first.appendChild(school) ;                     }                }            }

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

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

程序運行方法:

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

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

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

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

以上就是Flex與Java Servlet交互的示例分析,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乾安县| 威信县| 顺昌县| 商都县| 崇信县| 乐亭县| 黔西县| 江门市| 义马市| 禄丰县| 盐城市| 楚雄市| 榆社县| 长汀县| 丰都县| 大埔区| 固镇县| 靖西县| 隆安县| 堆龙德庆县| 鄯善县| 昌平区| 乌海市| 芒康县| 望谟县| 安福县| 奈曼旗| 平塘县| 灵川县| 洛宁县| 满洲里市| 科技| 云南省| 抚顺市| 定安县| 津市市| 伊金霍洛旗| 改则县| 桦甸市| 恩施市| 天祝|