第11章 Android客户端与服务器交互.

Slides:



Advertisements
Similar presentations
第 4 章 配合 例子源代码一起使用 Power point 制作:耿祥义 张跃平 普通高等教育 “ 十一五 ” 国家级规划教材 JSP 内置对象.
Advertisements

LOGO 第 9 章 Java Servlet 和 JSP 编程 孙焘. 重点: servlet 编程原理 1 servlet 的基础类与编程实现 2 JSP 编程原理 3 JSP 的常用语法 4.
第 9 章 测试部署  9.1 测试  9.2 部署. 9.1 测试  应用测试:使用 JUnit 单元测试框架 测试的目的是检验开发结果是否满足规定需求,测试是保证软件质量的一个重要手段, 在软件开发过程中是不可缺少的组成部分。 单元测试与集成测试分别有各自的定义:在实际开发中,两者之间的界定是模糊的。
Web Maple— 云端计 算 数学学院刘海洋 胡婷婷. 需求 什么是 Web Maple ? Maple : “ 数学家的软件 ” 符号和数值计算 动态编程语言 集成编辑环境与图形输出 Web Maple :网页上的数学家 完整的 Maple 功能 云端计算 网页独特的输入输出格式.
1 项目一 计算机网络概论 2 项目二 计算机网络协议与体系结构 3 项目三 物理层基础与应用 4 项目四 数据链路层基础与应用 5 项目五 网络层基础与应用 6 项目六 传输层的基础与应用 7 项目七 应用层的基础与应用 8 项目八 网络管理与网络安全.
资源平台应用培训 武汉市交通学校信息化建设指导委员会.
动态网站开发 【HTTP与网络基础】 李博杰
动态Web开发技术--JSP.
課程地圖 (104年入學-日間部) 校通識核心 專業課程 必修與選修 與管理模組 網路技術 App設計與應用模組 學院通識核心 學院專業核心
104年度國立宜蘭大學新進主管研討 主計業務宣導說明
第一章 JSP概述.
102年實施之高中職及五專多元入學(含免試入學)之招生機制
C语言程序设计 李伟光.
读者与图书馆 2009年春季版 总第 15 期 山 东 交 通 学 院 图 书 馆 2009年3月.
教學經驗分享 吳毅成 國立交通大學資訊工程系 2012年4月.
Web与信息检索 LJ JUFE-SIT.
SAE Java 实际应用 在这里写上你的标题 作者名字/日期
2012级暑期放假安全教育 及宿舍搬迁工作布置会 北京化工大学理学院 辅导员:曹鼎 2013年6月6日.
云智慧助力在线医疗服务性能优化 —让IT运营更简单 2015年4月 云智慧科技(北京)有限公司.
汇报大纲 一、报送系统总体介绍 二、自查及检查评分报送流程 三、自查及检查方法及关键点 四、建议及注意事项.
配合< JSP程序设计>例子源代码一起使用
张孝祥IT课堂 -深入体验Java Web开发内幕
MVC Servlet与MVC设计模式.
信 息 与 软 件 工 程 学 院 实验室开放实验介绍.
俄语字母的发音体系 阅读规则.
2015年云南财经大学图书馆 新生入馆教育考核试题 答题指南
转正述职报告 乐恩公司 史航
荷福威士顿机器人科技有限公司 上海荷福集团
苏州大汇信息科技有限公司 招聘简介.
第7章 计算机网络基础.
第1章 导论 倚动实验室.
Lab312.
Hello World 體驗實作第一個JSP程式.
第9章 过滤器和监听器技术 过滤器(Filter)和监听器(Listener)是两种特殊的Servlet技术。过滤器可以对用户的请求信息和响应信息进行过滤,常被用于权限检查和参数编码统一设置等。监听器可以用来对Web应用进行监听和控制的,增强Web应用的事件处理能力。 本章主要介绍过滤器和监听器的编程接口、基本结构、信息配置、部署和运行,最后通过案例说明过滤器和监听器的典型应用。
利用 ISA Server 2004 建置應用層防護機制
软件设计模式与体系结构课程设计 周 宇 College of Information Science and Technology
数据库操作示例 import java.sql.*; //导入java.sql包 public class JDBCDemo {
Tomcat的组织结构及集群原理 李 山.
崑山科技大學資訊管理系 伺服網頁程式設計 系統開發細部流程 教師:游峰碩.
欢迎各位领导莅临胜利科技检查指导工作 安徽省公共电子阅览室 免费软件安装培训 全国公共文化发展中心安徽省级分中心 2014年09月.
Oracle Containers for J2EE(OC4J) 独立版
简单的介绍,简单的配置,简单的扩展 By jfm
考试题型 填空题(30) 选择题(20) 名词解释(10) 问答题(24) 计算题(16) 附加题(30) 成绩核算:
ASP动态网页设计实用教程 主讲教师: 开课单位:.
成大醫院斗六分院 資訊安全-網際網路安全 資訊室 陳威文 副主任.
第一讲 J2EE基础 博和利初级培训 —开发技能.
第11章 Android客户端与服务器端交互 QQ号: QQ群: (Android编程入门) 网络资源:
欢迎各位 Nice to Meet U.
Python联合服务器的使用.
第一章 JSP概述 study-thinking-action.
Tomcat之旅-介绍、安装和配置.
第 7 章 JDBC数据库访问.
第3章电子商务网站的建设流程 《电子商务网站建设与管理》配套课件.
第4章 TCP/IP应用层常用协议 4.1 Telnet 协 议 4.2 文件传输协议FTP 4.3 电子邮件的工作原理及其协议
3 電子商務技術.
VSB9网站群管理平台 系统管理.
VSB9网站群管理平台 系统管理.
JSP程序设计 第9章 Servlet简介.
第十二章 过滤器.
第十二章 学习使用Ant Apache Ant是一个基于Java的构建工具,它可以 会构建多种项目,但是目前主要被用于Java项目 的构建, Ant是用Java语言编写,可以在多个操 作系统中运行,目前在绝大部分的Java开源项目 中,都选择使用Ant作为构建项目的工具,Ant已 经成为Java开源项目构建的事实标准,而且越来.
主编:钟元生 赵圣鲁.
目标 U9+PLM 关键特征 物料集成 单点登录 应用价值 BOM集成 数据共享 工艺集成 消息集成
【VA虚拟应用管理平台】专题培训 接入防火墙 陕西益和信息技术开发有限责任公司 2011年2月.
方格紙上畫正方形.
Internet课程设计 教师:陈 妍 朱海萍 西安交通大学计算机系
讀取網路資料及JSON開放資料 靜宜大學資管系 楊子青
第1章 WWW和LAMP基本觀念.
----以《西北民族音乐学术资源数据库》为例 西安音乐学院 景 月 亲
第21章 Spring 的MVC框架 Spring不但一个很好的集成框剪,它还提供了构建Web应用程序的全功能MVC模块。Spring 的MVC框架非常强大并不逊色于其他专业的Web框架,如Struts、WebWork。但在国内Spring MVC应用的并不是特别多,原因可能是Struts太深入人心的缘故吧。
第1章 HTML基础 主讲人:刘泰然 经济管理学院.
Presentation transcript:

第11章 Android客户端与服务器交互

本章知识结构图

高校信息查询平台

高校信息查询平台

HTTP协议 HTTP协议即超文本传输协议(Hypertext Transfer Protocol),是建立在TCP协议之上的一种应用,它是一种基于请求/响应的通信协议,每次连接只做一次请求/响应,服务器响应客户端请求后,就不会不会记录客户端的信息,更不会维护客户端的状态,因此HTTP又称为无状态的通信协议。 由于HTTP在每次请求结束后都会主动释放连接,因此HTTP连接是一种“短连接”、“无状态”,要保持客户端程序的在线状态,需要不断地向服务器发起连接请求。通常的做法是即使不需要获得任何数据,客户端也保持每隔一段固定的时间向服务器发送一次“保持连接”的请求,服务器在收到该请求后对客户端进行回复,表明知道客户端“在线”。若服务器长时间无法收到客户端的请求,则认为客户端“下线”,若客户端长时间无法收到服务器的回复,则认为网络已经断开。

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

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

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

HttpClient执行过程(GET请求)

HttpClient执行过程(POST请求)

Apache HttpClient API 使用HttpClient访问Http资源的步骤: 1、创建HttpGet或HttpPost对象,将需请求的URL通过构造方法传入HttpGet或HttpPost对象。 2、使用DefaultHttpClient类的execute()方法发送HTTP GET或HTTP POST请求,并返回HttpResponse对象。 3、通过HttpResponse接口的getEntity()方法返回响应信息,并进行相应的处理。 注意:如果使用HttpPost提交HTTP POST请求,还需要使用HttpPost类的setEntity()方法设置请求参数。

Tomcat服务器 Tomcat服务器是一个免费的、开源的Web应用服务器,它是一个轻量级应用服务器, 在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试Java Web程序的首选。 安装和使用中需注意: 1、设置Tomcat的端口号:默认情况下,该端口为8080,如果需要设置,最好选一个1024以上的端口号,1024以内的端口大部分都被系统所用,以避免端口冲突。 2、设置Tomcat管理员账户和密码,管理应用时需登录; 3、启动Tomcat:直接双击Tomcat安装路径下的bin路径中的tomcat6.exe即可。重复启动Tomcat,控制台将会报错并直接退出,因为第二次启动时,端口已经被占用,必须关闭之前的Tomcat,才能启动。

Servlet介绍 Servlet(Server+let)是在服务器上运行的小程序,具有独立于平台和协议的特性,可以生成动态的Web页面,用于处理及响应客户端的请求,担当客户请求(Web浏览器或其它HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet实质上是个特殊的Java类,该类继承于Servlet或其子类(例如HttpServlet),Servlet用于处理和响应客户端的请求,Servlet提供了不同的方法用于响应客户端请求。通常客户端的请求只有GET和POST两种,Servlet为了响应这两种请求,只需重写doGet()和doPost()两个方法即可。

Servlet介绍 Servlet处理和响应客户端请求的过程: (1)客户端发送请求至服务器端; (4)服务器将响应结果以指定的形式返回给客户端;

Servlet介绍 MyEclipse中创建Servlet的配置 注意:Mapping URL设置的值为访问该Servlet的URL路径。

Servlet介绍 在Tomcat中部署Java Web应用 Java Web部署方式有多种,使用Tomcat安装目录下的conf文件夹下的Server.xml文件进行部署。在该文件的倒数第四行即</host>标签之上,添加如下代码。 <Context path="/login" docBase="D:\myEclipse\InfoSearchServer\WebRoot" debug="0" reloadable= "true"> </Context> path:虚拟路径,启动Tomcat后,可通过http://localhost:8080/login/来访问该项目中的相关页面; docBase:项目根目录所在路径,是本机上的一个绝对路径,即Java Web应用所存放的位置,需要定位到WebRoot目录下; reloadable:设置为"true",表示修改Servlet文件后,不需要重启服务器就可以实现页面的同步更新。

Servlet介绍 当客户端发送http://localhost:8080/login/LoginServlet请 求时,服务器是如何处理和响应的呢? 1、根据Tomcat的Server.xml文件,查看login虚拟路径所对应的物理路径,即docBase所对应的值; 2、找到该物理路径下的web.xml文件,找到包含<url-pattern> /LoginServlet</url- pattern>的<Servlet-mapping>; 3、根据<servlet-name>LoginServlet</servlet-name>找到对应的<servlet-class>的值,获取类名iet.jxufe.cn.server.LoginServlet ; 4、根据反射机制,创建iet.jxufe.cn.server.LoginServlet类对象,并执行相应的方法,在方法处理中,会返回相应的处理结果。最后将结果返回给客户端。

Android客户端访问服务器 注意事项: 1、Tomcat已启动,并且Java Web程序已部署到Tomcat服务器中; 2、客户端访问服务端的URL要正确,在此为http://10.0.2.2:8080/login/LoginServlet而不是Java Web中的http://localhost:8080/login/LoginServlet。因为模拟机通过127.0.0.1访问的是模拟器本身。在模拟器上访问安装模拟器的电脑,需要使用android内置的IP:10.0.2.2。10.0.2.2 是模拟器设置的特定ip,是你的电脑的别名,如果是网络服务器,可直接写相应的IP或网址; 3、需要在清单文件中添加访问网络的权限; 4、不能直接访问网络,需进行相应处理,建议采用消息传递机制;

Android客户端访问服务器 访问MySQL数据库的一般步骤 1、添加数据库相应的jar包到Java Web应用下,放在WebRoot\WEB-INF\lib文件夹下; 2、加载驱动、获取数据库连接、捕获异常处理; String url = “jdbc:mysql://localhost:3306/数据库名"; Class.forName(“com.mysql.jdbc.Driver”);//加载驱动 conn = DriverManager.getConnection(url, “用户名”,”密码”); 3、编写相应的增删查改的SQL语句; 4、执行操作获取结果(PrepareStatement、ResultSet);

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

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

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

注册功能程序流程图 高校信息查询平台

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

文件上传功能程序流程图 高校信息查询平台

资料下载功能 注册功能

资料下载功能程序流程图 高校信息查询平台

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

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