• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Android平臺與SSH2的通信

      2015-07-13 11:59樊紅林
      電腦知識與技術(shù) 2015年13期
      關(guān)鍵詞:分層

      樊紅林

      摘要:該文設(shè)計并實現(xiàn)了由SSH2框架作為后臺,Android移動設(shè)備和PC瀏覽器作為客戶端,其中SSH2采用了分層的方式,由下至上分別是持久持,DAO層,業(yè)務(wù)層,服務(wù)層,WEB層。通過分層使得系統(tǒng)具有較高的擴展性,便于將來維護。Android通過JSON傳遞數(shù)據(jù)給后臺,而PC瀏覽器直接通過網(wǎng)頁的方式提交數(shù)據(jù)給后臺。

      關(guān)鍵詞: Android;SSH2;JSON;分層

      中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2015)13-0035-01

      如今的智能手機變得越來越普及,特別是基于Android和ios操作系統(tǒng)的手機隨處可看到,因此開發(fā)手機軟件變得由為重要,但是如何解決Android與后臺的數(shù)據(jù)傳輸變得極其重要。Struts2當中可以加入JSON插件,使得Struts2可以幫你處理Android傳送過來的數(shù)據(jù)。但是也可以通過Servlet解決這個問題。

      1 系統(tǒng)架構(gòu)設(shè)計

      整個系統(tǒng)架構(gòu),如圖1所示。

      1.1 Android客戶端

      Android客戶端當,主要是通過Activity組成,其中包括了多個View,就形成了所看到的界面,但是這還不能實現(xiàn)需要的功能,后臺通過取得組件,之后進行邏輯的處理。Activity之間也可以進行跳轉(zhuǎn)。當要傳遞數(shù)據(jù)給后臺實現(xiàn)邏輯功能的時候,Android直接把數(shù)據(jù)封閉好傳遞給Servlet。如http:localhost:8080/Book/ LoginServlet?name=name&password=password。服務(wù)器端接收傳遞來的參數(shù),并封閉實現(xiàn)功能,完成邏輯功能后,把返回的參數(shù)通過JSON進行封閉,返回給Android客戶端進行處理。

      1.2 PC客戶端

      通過瀏覽器瀏覽網(wǎng)頁是主要的方式,所以PC客戶端的開發(fā)也重要,主要采用HTML,JSP,等技術(shù)就可以實現(xiàn)完整的功能。客戶端提交HTTP請求就可以發(fā)送給后臺處理。

      1.3 服務(wù)器

      服務(wù)器端主要是由Struts2,Spring, Hibernate 組成,通過DAO層,服務(wù)層,WEB層實現(xiàn)分層。

      Web層負責表現(xiàn)層與服務(wù)層的交互,用戶提交的請求能過Struts2進行攔截,交給Action進行處理,瀏覽器傳遞過來的數(shù)據(jù)就可以能過此來進行處理。

      業(yè)務(wù)層負責調(diào)用DAO的方法,進行數(shù)據(jù)的增刪查改。并且負責給WEB層提供接口方法,實現(xiàn)中間層的功能。

      DAO層負責與數(shù)據(jù)庫進行交互。

      2 Android與Servlet

      以下代碼為Android客戶端后臺封裝數(shù)據(jù)后,發(fā)送給Servlet。

      String urlString=http:localhost:8080/BookLoginServlet ?name=name&password=password

      jsonObject = HttpUtil.query(urlString);

      2.1 后臺BaseServlet實現(xiàn)方式

      由于加入了Spring框架,因此可以交給Spring來管理Servlet,并且只是處理Android提交過來的數(shù)據(jù),瀏覽器提交的數(shù)據(jù)交給Struts2來進行處理。BaseServlet 繼承至HttpServlet。

      BaseServlet如下:

      private ApplicationContext application;

      application=WebApplicationContextUtils.getWebApplicationContext (getServletContext());}

      public ApplicationContext getApplicationContext() {

      return this.application;}

      2.2 LoginServlet繼承BaseServlet

      LoginServlet繼承至BaseServlet接收Android客戶端傳遞過來的參數(shù),并且把返回的數(shù)據(jù)進行封閉返回給Android客戶端,主要代碼如下:

      String username = req.getParameter("name");

      String password = req.getParameter("password");

      //業(yè)務(wù)邏輯處理并返回值

      JSONObject jsonObject = new JSONObject();

      jsonObject.put("hasUser", hasUser);

      3 結(jié)語

      本文章實現(xiàn)了Android的通信,能夠較好地與SSH2后臺進行通信,達到了移動端開發(fā)的目地,從而對今后的開發(fā)有極大的幫助。通過此種思路,使瀏覽器傳遞的數(shù)據(jù)和Android傳遞的數(shù)據(jù)可以分開處理,更容易分成多個模塊分別開發(fā)。

      參考文獻:

      [1] Bruce Eckel. Thinking in Java[M]. Upper Saddle River, New Jersey, USA: PrenticeHall,2006.

      [2] (美)威爾德, 斯尼德, 等. SpringFramework 2入門經(jīng)典[M]. 趙利通 譯. 北京:清華大學出版社,2009.

      [3] 劉京華. Java Web整合開發(fā)王者歸來[M]. 北京:清華大學出版社,2010(14).

      [4] 姚昱旻, 劉衛(wèi)國. Android的架構(gòu)與應(yīng)用開發(fā)研究[J]. 計算機系統(tǒng)應(yīng)用,2008,17(11):110-112.

      猜你喜歡
      分層
      有趣的分層現(xiàn)象
      一種沉降環(huán)可準確就位的分層沉降儀
      雨林的分層
      有趣的分層
      “分層”是座美麗的橋
      跨越式跳高遞進與分層設(shè)計
      衡阳市| 浙江省| 石台县| 宁晋县| 富裕县| 昌乐县| 毕节市| 东城区| 崇信县| 泰宁县| 进贤县| 历史| 东兰县| 寿宁县| 诏安县| 黔西县| 芜湖县| 进贤县| 清水河县| 清水县| 临西县| 元江| 东乌珠穆沁旗| 华坪县| 讷河市| 宁乡县| 仙居县| 金乡县| 敦煌市| 峨边| 台北市| 永平县| 中宁县| 新巴尔虎左旗| 宝兴县| 贡山| 黄陵县| 桂林市| 吉林省| 伊金霍洛旗| 抚顺县|