国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Android平臺(tái)與SSH2的通信

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

樊紅林

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

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

中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)13-0035-01

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

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

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

1.1 Android客戶端

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

1.2 PC客戶端

通過瀏覽器瀏覽網(wǎng)頁是主要的方式,所以PC客戶端的開發(fā)也重要,主要采用HTML,JSP,等技術(shù)就可以實(shí)現(xiàn)完整的功能??蛻舳颂峤籋TTP請(qǐng)求就可以發(fā)送給后臺(tái)處理。

1.3 服務(wù)器

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

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

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

DAO層負(fù)責(zé)與數(shù)據(jù)庫進(jìn)行交互。

2 Android與Servlet

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

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

jsonObject = HttpUtil.query(urlString);

2.1 后臺(tái)BaseServlet實(shí)現(xiàn)方式

由于加入了Spring框架,因此可以交給Spring來管理Servlet,并且只是處理Android提交過來的數(shù)據(jù),瀏覽器提交的數(shù)據(jù)交給Struts2來進(jìn)行處理。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ù)進(jìn)行封閉返回給Android客戶端,主要代碼如下:

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

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

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

JSONObject jsonObject = new JSONObject();

jsonObject.put("hasUser", hasUser);

3 結(jié)語

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

參考文獻(xiàn):

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

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

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

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

猜你喜歡
分層
有趣的分層現(xiàn)象
一種沉降環(huán)可準(zhǔn)確就位的分層沉降儀
雨林的分層
有趣的分層
“分層”是座美麗的橋
跨越式跳高遞進(jìn)與分層設(shè)計(jì)
岳西县| 象州县| 广德县| 休宁县| 潜山县| 安新县| 恩平市| 图片| 蓬溪县| 鸡东县| 雷州市| 蕉岭县| 称多县| 离岛区| 辽中县| 镶黄旗| 阿鲁科尔沁旗| 施甸县| 兰州市| 扶风县| 都江堰市| 石屏县| 焦作市| 江山市| 山西省| 柳林县| 泽库县| 巴东县| 广宗县| 四会市| 灌南县| 云龙县| 凤城市| 屯昌县| 兰坪| 高青县| 禄劝| 嘉义县| 洛川县| 思茅市| 临桂县|