论文部分内容阅读
摘要:Android智能手机作为当今流行的移动互联网客户端,已广泛应用于各种生产生活领域内,对信息数据的快速传播与知识交流起了极大的促进作用。移动互联网的广泛普及与应用,带来了手机客户端与应用服务之间连接与传输数据的问题。该文提出了两种数据交换方式,提高了数据传输与应用效率。服务器采用Servlet接口处理,可以快速高效的进行数据处理。XML数据格式具备规范性和高识别效应,可以在小容量多种类的数据传输中使用。JSON数据格式由于具有文本特性,能够更好处理大容量数据传输。
关键词:Android通信;Android应用开发;Servlet通信
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2019)04-0054-02
1 手机客户端与应用服务器的请求响应过程
近年来,随着移动互联网在社会经济中的广泛应用,智能手机作为实用方便的客户端移动设备,已成为移动网络应用最重要的网络连接设备。Android作为智能手机的操作系统,被众多手机生产商所接受,同时基于它的应用软件几乎包涵了社会生活的各个领域,已成为当今影响力最强的操作系统之一。
在与Android客户端进行交互数据的应用服务器处理上,Java Servlet是运行在Web服务器或应用服务器上的程序,作为来自客户端请求和应用程序之间的连接层。使用 Servlet,可以收集来自网页表单和其他客户端的用户数据,呈现来自数据库或者其他源的记录,并可以向客戶端返回执行后的数据。
在与Android客户端进行交互数据的应用服务器处理上,Java Servlet是运行在Web服务器或应用服务器上的程序,作为来自Web浏览器或其他HTTP客户端请求和HTTP服务器上的数据库或应用程序之间的中间层。使用 Servlet,可以收集来自网页表单和其他客户端的用户数据,呈现来自数据库或者其他源的记录,并可以向客户端返回执行后的数据。Java Servlet具有以下优势:
(1)Servlet在Web服务器的地址空间内执行。不必再创建一个单独的进程来处理每个客户端请求,提高了应用服务的效率和执行速度。
(2)Servlet独立于平台操作,可以实现跨平台使用。
(3)Servlet是安全可信任的。服务器上的Java安全管理器执行了一系列限制,以保护服务器计算机上的资源。
(4)Java类库的全部功能对 Servlet 来说都是可用的。可以通过sockets和RMI机制与applets、数据库或其他软件进行交互。
Servlet执行过程一般包括:
(1)读取客户端(浏览器或手机)发送的显式的数据。
(2)读取客户端(浏览器)发送的隐式的 HTTP 请求数据。这包括 cookies、媒体类型和浏览器能理解的压缩格式等。
(3)处理数据并生成结果。这个过程可能需要访问数据库,执行RMI或CORBA调用,调用Web服务,或者直接计算得出对应的响应。
(4)发送显式的数据(即文档)到客户端(浏览器或手机)。该文档的格式可以是多种多样的,包括文本文件(HTML 或 XML)、二进制文件(GIF 图像)、Excel 等。
(5)发送隐式的HTTP响应到客户端(浏览器或手机)。这包括指出浏览器或其他客户端被返回的文档类型(例如 HTML),设置 cookies 和缓存参数,以及其他类似的任务。
2 应用服务器响应XML格式数据的处理过程
手机客户端连接Web服务器,向Servlet服务发出请求数据,然后接收服务响应后的XML格式数据,并进行数据解析。主要代码如下:
(1)手机客户端向服务器发出数据,并接收返回的XML数据,进行处理。
//客户端向服务器发送请求
String urlString = 服务器地址 应用程序名 "ClassInfoServlet?action=操作类型";
URL url = new URL(urlString);
//接收服务器处理后的XML数据
......
XMLReaderxr = 转换对象.getXMLReader();
XML文件处理类XML处理对象 = new XML文件处理类();
xr.setContentHandler(XML文件处理对象);
//获取数据并转换成XML文件
......
xr.parse(is);
Return classInfoListHander.获取数据方法();
其中XML文件处理类。其内容如下:
public class XML文件处理类 extends DefaultHandler {
//处理XML文件数据值
public void characters(char[] ch, int start, int length) throws SAXException {
//处理过程
}
//处理XML结束标签
public void endElement(String uri, String localName, String qName) throws SAXException {
//处理过程
}
//处理XML开始文档
public void startDocument() throws SAXException { classInfoList = new ArrayList();
}
//处理XML结束标签
public void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException {
//处理过程
}
}
(2)Servlet服务接收客户端的请求,并进行数据处理。
void doPost( ) throws ServletException, IOException{
/*获取action参数,根据action的值执行不同的业务处理*/
String action = request.getParameter("action");
if(action.equals(请求类型)) {
/* 获取请求参数,并执行具体的业务处理操作 */
......
//向客户端返回XML数据
StringBuffer sb = new StringBuffer();
//建立返回数据的XML文档
sb.append(开始标签).append("\r\n")
.append(子项开始标签)
.append(子项数据)
.append(子项结束标签).append("\r\n")
.append(子项开始标签)
.append(子项数据)
.append(子项结束标签).append("\r\n")
......
sb.append(结束标签).append("\r\n");
PrintWriter out = response.getWriter();
out.print(sb.toString());
}
服务器的Servlet向Android客户端返回XML格式数据
3 应用服务器响应JSON格式数据的处理过程
手机客户端连接Web服务器,向Servlet服务发出请求数据,然后接收服务响应后的JSON格式数据,并进行数据解析,主要代码如下:
(1)手机客户端向服务器发生请求数据,并接收返回的JSON格式数据,进行处理:
String urlString = 服务器地址 应用程序名 "ClassInfoServlet?action=操作类型";
urlString = "
关键词:Android通信;Android应用开发;Servlet通信
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2019)04-0054-02
1 手机客户端与应用服务器的请求响应过程
近年来,随着移动互联网在社会经济中的广泛应用,智能手机作为实用方便的客户端移动设备,已成为移动网络应用最重要的网络连接设备。Android作为智能手机的操作系统,被众多手机生产商所接受,同时基于它的应用软件几乎包涵了社会生活的各个领域,已成为当今影响力最强的操作系统之一。
在与Android客户端进行交互数据的应用服务器处理上,Java Servlet是运行在Web服务器或应用服务器上的程序,作为来自客户端请求和应用程序之间的连接层。使用 Servlet,可以收集来自网页表单和其他客户端的用户数据,呈现来自数据库或者其他源的记录,并可以向客戶端返回执行后的数据。
在与Android客户端进行交互数据的应用服务器处理上,Java Servlet是运行在Web服务器或应用服务器上的程序,作为来自Web浏览器或其他HTTP客户端请求和HTTP服务器上的数据库或应用程序之间的中间层。使用 Servlet,可以收集来自网页表单和其他客户端的用户数据,呈现来自数据库或者其他源的记录,并可以向客户端返回执行后的数据。Java Servlet具有以下优势:
(1)Servlet在Web服务器的地址空间内执行。不必再创建一个单独的进程来处理每个客户端请求,提高了应用服务的效率和执行速度。
(2)Servlet独立于平台操作,可以实现跨平台使用。
(3)Servlet是安全可信任的。服务器上的Java安全管理器执行了一系列限制,以保护服务器计算机上的资源。
(4)Java类库的全部功能对 Servlet 来说都是可用的。可以通过sockets和RMI机制与applets、数据库或其他软件进行交互。
Servlet执行过程一般包括:
(1)读取客户端(浏览器或手机)发送的显式的数据。
(2)读取客户端(浏览器)发送的隐式的 HTTP 请求数据。这包括 cookies、媒体类型和浏览器能理解的压缩格式等。
(3)处理数据并生成结果。这个过程可能需要访问数据库,执行RMI或CORBA调用,调用Web服务,或者直接计算得出对应的响应。
(4)发送显式的数据(即文档)到客户端(浏览器或手机)。该文档的格式可以是多种多样的,包括文本文件(HTML 或 XML)、二进制文件(GIF 图像)、Excel 等。
(5)发送隐式的HTTP响应到客户端(浏览器或手机)。这包括指出浏览器或其他客户端被返回的文档类型(例如 HTML),设置 cookies 和缓存参数,以及其他类似的任务。
2 应用服务器响应XML格式数据的处理过程
手机客户端连接Web服务器,向Servlet服务发出请求数据,然后接收服务响应后的XML格式数据,并进行数据解析。主要代码如下:
(1)手机客户端向服务器发出数据,并接收返回的XML数据,进行处理。
//客户端向服务器发送请求
String urlString = 服务器地址 应用程序名 "ClassInfoServlet?action=操作类型";
URL url = new URL(urlString);
//接收服务器处理后的XML数据
......
XMLReaderxr = 转换对象.getXMLReader();
XML文件处理类XML处理对象 = new XML文件处理类();
xr.setContentHandler(XML文件处理对象);
//获取数据并转换成XML文件
......
xr.parse(is);
Return classInfoListHander.获取数据方法();
其中XML文件处理类。其内容如下:
public class XML文件处理类 extends DefaultHandler {
//处理XML文件数据值
public void characters(char[] ch, int start, int length) throws SAXException {
//处理过程
}
//处理XML结束标签
public void endElement(String uri, String localName, String qName) throws SAXException {
//处理过程
}
//处理XML开始文档
public void startDocument() throws SAXException { classInfoList = new ArrayList
}
//处理XML结束标签
public void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException {
//处理过程
}
}
(2)Servlet服务接收客户端的请求,并进行数据处理。
void doPost( ) throws ServletException, IOException{
/*获取action参数,根据action的值执行不同的业务处理*/
String action = request.getParameter("action");
if(action.equals(请求类型)) {
/* 获取请求参数,并执行具体的业务处理操作 */
......
//向客户端返回XML数据
StringBuffer sb = new StringBuffer();
//建立返回数据的XML文档
sb.append(开始标签).append("\r\n")
.append(子项开始标签)
.append(子项数据)
.append(子项结束标签).append("\r\n")
.append(子项开始标签)
.append(子项数据)
.append(子项结束标签).append("\r\n")
......
sb.append(结束标签).append("\r\n");
PrintWriter out = response.getWriter();
out.print(sb.toString());
}
服务器的Servlet向Android客户端返回XML格式数据
3 应用服务器响应JSON格式数据的处理过程
手机客户端连接Web服务器,向Servlet服务发出请求数据,然后接收服务响应后的JSON格式数据,并进行数据解析,主要代码如下:
(1)手机客户端向服务器发生请求数据,并接收返回的JSON格式数据,进行处理:
String urlString = 服务器地址 应用程序名 "ClassInfoServlet?action=操作类型";
urlString = "