Download presentation
Presentation is loading. Please wait.
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
信息查询功能 高校信息查询平台
Similar presentations