APP下载

Android平台与SSH2的通信

2015-07-13樊红林

电脑知识与技术 2015年13期
关键词:分层

樊红林

摘要:该文设计并实现了由SSH2框架作为后台,Android移动设备和PC浏览器作为客户端,其中SSH2采用了分层的方式,由下至上分别是持久持,DAO层,业务层,服务层,WEB层。通过分层使得系统具有较高的扩展性,便于将来维护。Android通过JSON传递数据给后台,而PC浏览器直接通过网页的方式提交数据给后台。

关键词: Android;SSH2;JSON;分层

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)13-0035-01

如今的智能手机变得越来越普及,特别是基于Android和ios操作系统的手机随处可看到,因此开发手机软件变得由为重要,但是如何解决Android与后台的数据传输变得极其重要。Struts2当中可以加入JSON插件,使得Struts2可以帮你处理Android传送过来的数据。但是也可以通过Servlet解决这个问题。

1 系统架构设计

整个系统架构,如图1所示。

1.1 Android客户端

Android客户端当,主要是通过Activity组成,其中包括了多个View,就形成了所看到的界面,但是这还不能实现需要的功能,后台通过取得组件,之后进行逻辑的处理。Activity之间也可以进行跳转。当要传递数据给后台实现逻辑功能的时候,Android直接把数据封闭好传递给Servlet。如http:localhost:8080/Book/ LoginServlet?name=name&password=password。服务器端接收传递来的参数,并封闭实现功能,完成逻辑功能后,把返回的参数通过JSON进行封闭,返回给Android客户端进行处理。

1.2 PC客户端

通过浏览器浏览网页是主要的方式,所以PC客户端的开发也重要,主要采用HTML,JSP,等技术就可以实现完整的功能。客户端提交HTTP请求就可以发送给后台处理。

1.3 服务器

服务器端主要是由Struts2,Spring, Hibernate 组成,通过DAO层,服务层,WEB层实现分层。

Web层负责表现层与服务层的交互,用户提交的请求能过Struts2进行拦截,交给Action进行处理,浏览器传递过来的数据就可以能过此来进行处理。

业务层负责调用DAO的方法,进行数据的增删查改。并且负责给WEB层提供接口方法,实现中间层的功能。

DAO层负责与数据库进行交互。

2 Android与Servlet

以下代码为Android客户端后台封装数据后,发送给Servlet。

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

jsonObject = HttpUtil.query(urlString);

2.1 后台BaseServlet实现方式

由于加入了Spring框架,因此可以交给Spring来管理Servlet,并且只是处理Android提交过来的数据,浏览器提交的数据交给Struts2来进行处理。BaseServlet 继承至HttpServlet。

BaseServlet如下:

private ApplicationContext application;

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

public ApplicationContext getApplicationContext() {

return this.application;}

2.2 LoginServlet继承BaseServlet

LoginServlet继承至BaseServlet接收Android客户端传递过来的参数,并且把返回的数据进行封闭返回给Android客户端,主要代码如下:

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

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

//业务逻辑处理并返回值

JSONObject jsonObject = new JSONObject();

jsonObject.put("hasUser", hasUser);

3 结语

本文章实现了Android的通信,能够较好地与SSH2后台进行通信,达到了移动端开发的目地,从而对今后的开发有极大的帮助。通过此种思路,使浏览器传递的数据和Android传递的数据可以分开处理,更容易分成多个模块分别开发。

参考文献:

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

[2] (美)威尔德, 斯尼德, 等. SpringFramework 2入门经典[M]. 赵利通 译. 北京:清华大学出版社,2009.

[3] 刘京华. Java Web整合开发王者归来[M]. 北京:清华大学出版社,2010(14).

[4] 姚昱旻, 刘卫国. Android的架构与应用开发研究[J]. 计算机系统应用,2008,17(11):110-112.

猜你喜欢

分层
有趣的分层现象
一种沉降环可准确就位的分层沉降仪
雨林的分层
有趣的分层
“分层”是座美丽的桥
跨越式跳高递进与分层设计