Presentation is loading. Please wait.

Presentation is loading. Please wait.

第11章 Android客户端与服务器端交互 QQ号: QQ群: (Android编程入门) 网络资源:

Similar presentations


Presentation on theme: "第11章 Android客户端与服务器端交互 QQ号: QQ群: (Android编程入门) 网络资源:"— Presentation transcript:

1 第11章 Android客户端与服务器端交互 QQ号:1281147324 QQ群:490420731(Android编程入门) 网络资源:

2 主要内容

3 高校信息查询平台

4 高校信息查询平台

5 HTTP协议 1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 3、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 4、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

6 GET和POST的区别 Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据;
Get将需要传递的数据按照“键=值”的形式,添加到URL的后面,并且两者使用“?”连接,而多个变量之间使用“&”连接;Post是将传递的数据放在请求的数据体中,不会在URL中显示; Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前,Post的所有操作对用户来说都是不可见的; Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post。

7 Apache HttpClient API HttpClient:是HTTP客户端的接口,该接口封装了执行Http请求所需要的各种对象,这些对象可以处理cookie、授权、连接管理以及其他一些特性。HttpClient的线程安全依赖于具体的客户端的实现和配置。 HttpGet:该类采用GET方式发送HTTP请求,通常将请求的URL作为参数传给该类的构造方法; HttpPost:该类采用POST方式发送HTTP请求,通常将请求的URL作为参数传给该类的构造方法; HttpResponse:该接口封装了HTTP的相应信息,通过调用相应方法可以获取HTTP响应信息,例如获取响应状态、响应内容等。 HttpEntity:HTTP信息封装类,通过该类可以获取HTTP请求或响应的内容、长度、类型、编码方式等信息,HttpEntity对象可以通过Http消息发送和接收,既可以存在于请求消息中,也可以存在于响应消息中。

8 HttpClient执行过程

9 客户端发送请求 创建HttpGet或HttpPost对象,将要请求的URL通过构造方法传入HttpGet或HttpPost对象。
通过上述的执行过程,我们可以总结出无论是使用HttpGet,还是使用HttpPost,都必须通过以下3步来访问HTTP资源。 创建HttpGet或HttpPost对象,将要请求的URL通过构造方法传入HttpGet或HttpPost对象。 使用DefaultHttpClient类的execute方法发送HTTP GET或HTTP POST请求,并返回HttpResponse对象。 通过HttpResponse接口的getEntity方法返回响应信息,并进行相应的处理。 注意:如果使用HttpPost方法提交HTTP POST请求,还需要使用HttpPost类的setEntity方法设置请求参数。

10 Tomcat服务器 Tomcat 服务器是一个免费的开源的Web 应用服务器,它是一个轻量级应用服务器, 在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试Java Web程序的首选。 安装和使用中需注意: Tomcat 端口号:默认为8080,可自己设置 Tomcat应用程序管理员账户和密码 Tomcat的启动方法 JavaWeb应用程序部署

11 Servlet介绍 Servlet的执行过程: Servlet通常被称为服务器端小程序,是运行在服务器端的程序,用于处理及响应客户端的请求。
Servlet实质上是个特殊的Java类,该类必须继承HttpServlet,每个Servlet可以响应客户端的请求,Servlet提供了不同的方法用于响应客户端请求。通常客户端的请求只有GET和POST两种,Servlet为了响应这两种请求,必须重写doGet()和doPost()两个方法。 Servlet的执行过程: 1、客户端发送请求至服务器端 2、服务器将请求信息发送至Servlet 3、Servlet生成响应内容并将其传给服务器。响应内容动态生成, 通常取决于客户端的请求。 4、服务器将响应返回给客户端

12 服务器端编程步骤 1、编写Servlet相关类,处理具体的请求; 2、在Web.xml文件中,对Servlet类进行配置;
3、部署Java Web应用 客户端发送请求,服务器端接收请求执行的过程如下: 1、根据Server.xml文件,查找请求所对应资源的物理路径; 2、查看该路径下的Web.xml文件,找到具体的Servlet信息; 3、通过反射机制,创建Servlet类对象,然后执行其doGet()或doPost()方法,并返回结果。

13 整体流程图 高校信息查询平台

14 高校信息查询平台 客户端文档结构图 服务器端文档结构图

15 客户端与服务器端交互(调用关系) 高校信息查询平台

16 注册功能 高校信息查询平台

17 文件上传功能 高校信息查询平台 注册功能

18 文件上传功能 高校信息查询平台

19 资料下载功能 高校信息查询平台

20 信息查询功能 高校信息查询平台

21 信息查询功能 高校信息查询平台

22


Download ppt "第11章 Android客户端与服务器端交互 QQ号: QQ群: (Android编程入门) 网络资源:"

Similar presentations


Ads by Google