版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高等职业教育“十四五”规划教材
JavaWeb开发任务教程
严梅吴道君何受倩◎主编
黄龙泉◎副主编
内容简介
本书从JavaWeb应用开发技术的原理出发,结合网站应用开发实例对各知识点进行
详细讲解,并将知识点融入实际项目的开发中,项目中的每个任务解决一个实际开发中
的技术要点。全书共分8个单元,包括搭建JavaWeb开发环境、Servlet编程基础、JSP
编程技术、文件上传和下载、过滤器和监听器、JDBC数据库技术、EL表达式和JSTL
标签、综合项目实战—在线购物商城。完成本书的学习后,读者即可使用JavaWeb
相关技术搭建一个动态网站。
本书适合作为高等职业院校计算机相关专业的教材,也可作为各类Java技术培训班
的教材,以及具有一定Java语言基础的人员的参考用书。
图书在版编目(CIP)数据
JavaWeb开发任务教程/严梅,吴道君,何受倩主编.—2版.—北京:
中国铁道出版社有限公司,2022.1
高等职业教育“十四五”规划教材
ISBN978-7-113-27945-5
Ⅰ.①J…Ⅱ.①严…②吴…③何…Ⅲ.①JAVA语言-程序设计-
高等职业教育-教材Ⅳ.①TP312.8
中国版本图书馆CIP数据核字(2021)第086198号
书名:JavaWeb开发任务教程
作者:严梅吴道君何受倩
策划:韩从付编辑部电话:(010)63549508
责任编辑:陆慧萍彭立辉
封面设计:刘颖
责任校对:苗丹
责任印制:樊启鹏
出版发行:中国铁道出版社有限公司(100054,北京市西城区右安门西街8号)
网址:/51eds/
印刷:三河市兴博印务有限公司
版次:2017年8月第1版2022年1月第2版2022年1月第1次印刷
开本:787mm×1092mm1/16印张:15字数:353千
书号:ISBN978-7-113-27945-5
定价:41.00元
版权所有侵权必究
凡购买铁道版图书,如有印制质量问题,请与本社教材图书营销部联系调换。电话:(010)63550836
打击盗版举报电话:(010)63549461
前言
Java是一种简单的、跨平台的、面向对象的、分布式的、解释性的、健壮的、安
全的、可移植的、性能优异的语言,自1995年Sun公司推出Java语言之后,已有
二十多年的发展历史,出现了许多与之相关的技术和应用。JavaWeb开发是用Java
技术进行互联网领域的应用开发,目前,JavaWeb技术已经成为企业进行Web开发
所采用的主流解决方案之一。JavaWeb技术包括Servlet技术、JSP技术、JDBC技术,
以及Struts、Spring和Hibernate开源框架等一系列应用技术。本书作为JavaWeb开发
入门级教程,以Servlet技术、JSP技术为重点,详细介绍了应用Java技术开发Web
应用的相关技术及编程方法。
本书致力于将知识点融入实际项目的开发中,从JavaWeb应用开发技术的原理
出发,结合网站应用开发实例对各知识点进行详细讲解,每个任务解决一个实际开发
中的技术要点。完成本书学习后,读者能使用JavaWeb相关技术搭建一个动态网站。
本书在第一版的基础上,将IDE开发工具更新到行业内更加通用的Eclipse10,将HTML
版本由4.0升级到了HMTL5,Tomcat由版本7.x升级到9.x,并为任务透析部分配备
了微视频讲解,方便读者扫描学习。本书将整个知识结构分为8个单元,每个单元的
主要内容如下:
单元一主要介绍了Web开发中的常用技术,包括请求响应的过程、原理及HTTP
请求响应模型相关的基本知识,以及如何搭建JavaWeb开发环境。
单元二主要介绍了Servlet技术,包括Servlet的创建、配置,Servlet的生命周期,
Servlet读取表单数据、处理页面的跳转、处理头信息,Servlet数据共享域、Cookie的
应用等内容。
单元三介绍了JSP编程技术,包括JSP的各种语法元素,包括JSP脚本元素、JSP
的指令元素、内建对象、JavaBean等内容。
单元四介绍了文件上传和下载的原理,以及一些常见问题的解决方法。
单元五介绍了过滤器和监听器,包括过滤器的原理、作用、开发步骤;监听器的
原理、开发步骤,列举了常用的监听器的作用和使用方法。
单元六介绍了JDBC数据库技术,使用JDBC中相关的接口和类实现对数据库的
增删查改,以及事务、数据库连接池等内容。
单元七介绍了EL表达式和JSTL标签的使用,包括EL运算符、如何使用EL将
各数据域中的内容显示到页面上,常见JSTL标签在页面上的使用等。
I
JavaWeb开发任务教程
单元八展示了一个综合的网站项目,将前面所学的知识进行综合应用,介绍了
MVC设计模式和DAO设计模式,并将设计模式运用到实际案例中;介绍了该实际案
例的总体功能架构及数据库的设计;将网站开发关键难点技术做出详细的讲解,包括
分页、文本编辑器的使用、购物车、订单提交、后台管理等内容。
本书各单元中的任务按照“任务描述”→“必备知识”→“任务透析”→“课堂
提问”等几个环节来组织和编排,以任务为导向,贯穿案例教学的思想,符合认知规
律,能提高学习的质量和学习效果。本书所有程序全部上机调试通过,另外,本书还
提供了多媒体课件和所有的案例程序源码,可到/51eds/下载。
本书由严梅、吴道君、何受倩任主编,黄龙泉任副主编。其中:单元二、单元三、
单元四、单元八由严梅编写,单元五、单元六由吴道君编写,单元七由何受倩编写,
单元一由黄龙泉编写。本书由张怡芳、王耀军审稿。
由于时间仓促,编者水平有限,书中难免存在疏漏和不足之处,敬请广大读者批
评指正。如果有任何意见和建议,欢迎与我们联系,联系邮箱:yanmei200801@126.com。
编者
2021年5月
II
目录
目录
单元一搭建JavaWeb开发环境·······································································1
任务一理解HTTP请求响应模型······················································1
任务二了解Web应用开发常用技术··················································9
任务三搭建JavaWeb开发环境·······················································12
单元小结·····················································································22
思考练习·····················································································22
单元二Servlet编程基础·················································································23
任务一开发第一个Servlet程序·······················································23
任务二测试Servlet生命周期··························································30
任务三使用Servlet读取表单数据····················································33
任务四使用Servlet处理页面跳转····················································38
任务五使用Servlet处理头信息·······················································42
任务六使用Servlet数据共享域·······················································49
任务七使用Servlet处理Cookie······················································54
单元小结·····················································································60
思考练习·····················································································60
单元三JSP编程技术·······················································································62
任务一了解JSP··········································································62
任务二应用JSP脚本元素······························································68
任务三应用JSP指令元素······························································72
任务四应用JSP动作元素······························································79
任务五应用JSP内建对象······························································88
单元小结···················································································102
思考练习···················································································102
单元四文件上传和下载················································································104
任务一上传文件·······································································104
任务二下载文件·······································································112
单元小结···················································································116
思考练习···················································································116
单元五过滤器和监听器·················································································117
任务一使用过滤器····································································117
任务二使用监听器····································································128
I
JavaWeb开发任务教程
单元小结···················································································138
思考练习···················································································138
单元六JDBC数据库技术··············································································139
任务一JDBC入门·····································································139
任务二用Statement实现CRUD····················································145
任务三用PreparedStatement实现CRUD··········································155
任务四JDBC中处理事务·····························································161
任务五应用数据库连接池····························································165
单元小结···················································································170
思考练习···················································································170
单元七EL表达式和JSTL标签····································································173
任务一使用EL表达式·······························································173
任务二使用JSTL标签·······························································181
单元小结···················································································191
思考练习···················································································191
单元八综合项目实战—在线购物商城·······················································193
任务一掌握MVC设计模式和DAO设计模式····································193
任务二项目设计·······································································200
任务三关键技术实现·································································203
思考练习答案···································································································232
参考文献···········································································································234
II
单元一搭建JavaWeb开发环境
单元一
搭建JavaWeb开发环境
理解HTTP请求响应模型,了解Web应用开发的技术及发展过程,了解常用的
JSP/Servlet容器,掌握搭建Eclipse+Tomcat+MySQL工作环境的方法,学会开发一个
基本的JavaWeb项目。
本单元包括以下几个任务:
●理解HTTP请求响应模型
●了解Web应用开发常用技术
●搭建JavaWeb开发环境
任务一理解HTTP请求响应模型
了解访问网站的数据流转过程,了解HTTP协议,理解HTTP请求响应模型。
1.访问网站的完整流程
在浏览器的地址栏中输入百度网址,得到百度网站首页,可以将整个过程分为7
步。网站请求响应示意图如图1-1所示。
①客户机向DNS服务器请求解析域名所对应的IP地址。
②DNS系统解析出百度的地址是7:443。
③客户机与服务器建立连接。
④客户机发出读取文件的请求命令。
⑤服务器对客户机的请求做出响应,把百度首页HTML文本内容返回给客户机。
⑥释放连接。
⑦客户机解析HTML文本,并显示百度网站首页中的内容。
1
JavaWeb开发任务教程
2.HTTP协议
超文本传输协议(HyperTextTransferProtocol,HTTP)是互联网上应用最广泛的
一种网络协议,所有的WWW文件都必须遵守这个标准,HTTP协议定义Web客户端
如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。设计
HTTP的目的是提供一种发布和接收HTML页面的方法,它可以使浏览器更加高效,
使网络传输减少,不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的
哪一部分,以及哪部分内容首先显示(如文本先于图形)等。浏览器通过HTTP传输
协议将Web服务器上站点的网页代码提取出来,并翻译成网页。
HTTP协议在发展过程中,经历了HTTP1.0和HTTP1.1两个阶段。
HTTP1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服
务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪
每个客户也不记录过去的请求。但是,这也造成了一些性能上的缺陷,例如,一个包
含有许多图像的网页文件中并没有包含真正的图像数据内容,而只是指明了这些图像
的URL地址。当Web浏览器访问这个网页文件时,浏览器首先要发出针对该网页文
件的请求,当浏览器解析Web服务器返回的该网页文档中的HTML内容时,发现其
中的<img>图像标签后,浏览器将根据<img>标签中的src属性所指定的URL地址再次
向服务器发出下载图像数据的请求,如图1-2所示。
图1-1网站请求响应示意图图1-2HTTP1.0访问图解
显然,访问一个包含有许多图像的网页文件的整个过程包含了多次请求和响应,
每次请求和响应都需要建立一个单独的连接,每次连接只是传输一个文档和图像,
上一次和下一次请求完全分离。即使图像文件都很小,客户端和服务器端每次建立
和关闭连接也是一个相对比较费时的过程,并且会严重影响客户机和服务器的性能。
当一个网页文件中同时包含JavaScript文件、CSS文件等内容时,也会出现类似上述
情况。
为了克服HTTP1.0的这个缺陷,HTTP1.1支持持久连接,在一个TCP连接上可以
传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟。一个包含有许多
图像的网页文件的多个请求和应答可以在一个连接中传输,但每个单独的网页文件的
请求和应答仍然需要使用各自的连接。HTTP1.1还允许客户端不用等待上一次请求结
果返回,就可以发出下一次请求,但服务器端必须按照接收到客户端请求的先后顺序
2
单元一搭建JavaWeb开发环境
依次回送响应结果,以保证客户端能够区分出每次请求的响应内容,这样显著地减少
了整个下载过程所需要的时间。基于HTTP1.1协议的客户机与服务器的信息交换过程
如图1-3所示。
图1-3HTTP1.1访问图解
可见,HTTP1.1在继承了HTTP1.0优点的基础上,也克服了HTTP1.0的性能问题。不
仅如此,HTTP1.1还通过增加更多的请求头和响应头来改进和扩充HTTP1.0的功能。例如,
由于HTTP1.0不支持Host请求头字段,Web浏览器无法使用主机头名来明确表示要访问
服务器上的哪个Web站点,这样就无法使用Web服务器在同一个IP地址和端口号上配置
多个虚拟Web站点。在HTTP1.1中增加Host请求头字段后,Web浏览器可以使用主机头
名来明确表示要访问服务器上的哪个Web站点,这就实现了在一台Web服务器上可以在
同一个IP地址和端口号上使用不同的主机名来创建多个虚拟Web站点。HTTP1.1的持续
连接,也需要增加新的请求头来帮助实现,例如,Connection请求头的值为Keep-Alive时,
客户端通知服务器返回本次请求结果后保持连接;Connection请求头的值为Close时,客
户端通知服务器返回本次请求结果后关闭连接。HTTP1.1还提供了与身份认证、状态管理
和Cache缓存等机制相关的请求头和响应头。
3.URL统一资源定位符
在浏览器的地址栏中输入的网站地址称为统一资源定位符(UniformResource
Locator,URL),就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet
地址。当在浏览器的地址栏中输入一个URL或者单击一个超链接时,URL就确定了
要浏览的地址。
客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其
他工具,客户端发起一个到某URL地址的HTTP请求,请求访问资源,如访问HTML
文件和图像等。应答的服务器收到请求后,将对应的资源返回给客户端。
4.HTTP请求/响应的步骤
HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含
请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响
应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。
HTTP请求响应的步骤如下:
①客户端连接到Web服务器。一个HTTP客户端,通常是浏览器,与Web服务
器的HTTP端口(默认为80)建立一个TCP套接字连接。
3
JavaWeb开发任务教程
②发送HTTP请求。通过TCP套接字,客户端向Web服务器发送一个文本的请
求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。
③服务器接受请求并返回HTTP响应。Web服务器解析请求,定位请求资源。服
务器将资源副本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空
行和响应数据4部分组成。
④释放连接TCP连接。若Connection模式为Close,则服务器主动关闭TCP连
接,客户端被动关闭连接,释放TCP连接;若Connection模式为Keep-Alive,则该
连接会保持一段时间,在该时间内可以继续接收请求。
⑤客户端浏览器解析HTML内容。客户端浏览器首先解析状态行,查看表明请
求是否成功的状态代码,然后解析每一个响应头,响应头告知以下为若干字节的HTML
文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进
行格式化,并在浏览器窗口中显示。
5.HTTP报文结构
HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。请求消
息由请求头、报文主体组成。其中,请求头包含请求的方法、URL、协议版本,以及
请求修饰符、客户信息和MIME类型等。报文格式如下:
请求行-通用信息头-请求头-实体头-报文主体
典型的请求头消息内容如下:
Get/HTTP1.1
Host:
Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
Pragma:no-cache
Cache-Control:no-cache
User-Agent:"Mozilla/5.0(WindowsNT6.1;Win64;x64;rv:51.0)Gecko/
20100101Firefox/51.0"
服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误
的编码加上包含服务器信息、实体元信息以及可能的实体内容。响应报文格式如下:
状态行-通用信息头-响应头-实体头-报文主体
典型的响应头消息内容如下:
HTTP/1.0200OK
Date:Mon,20Mar201712:30:21GMT
Expires:Mon,20Mar201712:29:37GMT
Server:Apache/1.3.14(Unix)
Content-type:text/html;charset=utf-8
Last-modified:Tue,17Apr201606:46:28GMT
Content-length:39725426
Content-range:bytes55******/40279980
6.请求方法
HTTP协议中共定义了8种方法(又称“动作”)来表明对Request-URI指定的资
源的不同操作方式,其表示的含义如表1-1所示。
4
单元一搭建JavaWeb开发环境
表1-1HTTP的8种请求方式
请求方式含义
GET向特定URI的资源发出请求
向指定URI的资源提交数据进行处理请求(如提交表单或者上传文件)。数据被包含在请
POST
求体中。POST请求可能会导致新的资源的创建和已有资源的修改
返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送“*”
OPTIONS
的请求来测试服务器的功能
向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在
HEAD
不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息
PUT向指定资源位置上传其最新内容
DELETE请求服务器删除Request-URI所标识的资源
TRACE回显服务器收到的请求,主要用于测试或诊断
CONNECT保留将来使用
在Web开发中,最常用的方法为GET方法与POST方法。
(1)GET方法
GET方法是默认的HTTP请求方法,经常使用GET方法提交表单数据。但用GET
方法提交的表单数据只经过简单的编码,同时作为URL的一部分向Web服务器发送,
因此,如果使用GET方法提交表单数据就存在安全隐患。例如:
http://localhost/Test/LoginServlet?Name=Tom&Age=30&Password=123
从上面的URL请求中很容易辨认出表单提交的内容(即“?”之后的内容)。另外,
因为GET方法提交的数据将作为URL请求的一部分,所以提交的数据量不能太大。
(2)POST方法
POST方法是GET方法的一个替代方法,它主要向Web服务器提交表单数据,尤
其是大批量的数据。POST方法克服了GET方法的一些缺点。通过POST方法提交表
单数据时,数据不是作为URL请求的一部分,而是作为请求数据正文传送给Web服
务器,这就克服了GET方法中的信息无法保密和数据量太小的缺点。因此,出于安
全考虑以及对用户隐私的尊重,提交表单时建议采用POST方法。
7.响应状态码
服务器一旦收到请求,会向客户端发回一个状态行,如“HTTP/1.1200OK”和
(响应的)消息,其中200就是响应状态码。状态码元由3位数字组成,表示请求是
否被理解或被满足。
状态代码的第一个数字代表当前响应的类型:
1xx代表信息,即请求已被服务器接收,继续处理。
2xx表示成功,即请求已成功被服务器接收、理解并接受。
3xx表示重定向,即需要后续操作才能完成这一请求。
4xx表示请求错误,即请求含有词法错误或者无法被执行。
5xx表示服务器错误,即服务器在处理某个正确请求时发生错误。
具体编码代表的意义如表1-2所示。
5
JavaWeb开发任务教程
表1-2HTTP消息状态码详解
消息描述
1xx:信息
服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继
100Continue
续发送其余的请求
101SwitchingProtocols服务器转换协议:服务器将遵从客户的请求转换到另外一种协议
2xx:成功
200OK请求成功(其后是对GET和POST请求的应答文档)
201Created请求被创建完成,同时新的资源被创建
202Accepted供处理的请求已被接受,但是处理未完成
203Non-authoritative
文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的副本
Information
没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而
204NoContent
Servlet可以确定用户文档足够新,这个状态代码很有用
没有新文档,浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入
205ResetContent
内容
206PartialContent客户发送了一个带有Range头的GET请求,服务器完成了它
3xx:重定向
300MultipleChoices多重选择。链接列表。用户可以选择某链接到达目的地。最多允许5个地址
301MovedPermanently所请求的页面已经转移至新的URL
302Found所请求的页面已经临时转移至新的URL
303SeeOther所请求的页面可在别的URL下被找到
未按预期修改文档。客户端有缓冲的文档并发出了一个条件性的请求(一般提
304NotModified供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,
原来缓冲的文档还可以继续使用
305UseProxy客户请求的文档应该通过Location头所指明的代理服务器提取
306Unused此代码被用于前一版本,目前已不再使用,但是代码依然被保留
307TemporaryRedirect被请求的页面已经临时移至新的URL
4xx:客户端错误
400BadRequest服务器未能理解请求
401Unauthorized被请求的页面需要用户名和密码
401.1登录失败
401.2服务器配置导致登录失败
401.3由于ACL对资源的限制而未获得授权
6
单元一搭建JavaWeb开发环境
续表
消息描述
401.4筛选器授权失败
401.5ISAPI/CGI应用程序授权失败
401.7访问被Web服务器上的URL授权策略拒绝。这个错误代码为IIS6.0所专用
402PaymentRequired此代码尚无法使用
403Forbidden对被请求页面的访问被禁止
403.1执行访问被禁止
403.2读访问被禁止
403.3写访问被禁止
403.4要求SSL
403.5要求SSL128
403.6IP地址被拒绝
403.7要求客户端证书
403.8站点访问被拒绝
403.9用户数过多
403.10配置无效
403.11密码更改
403.12拒绝访问映射表
403.13客户端证书被吊销
403.14拒绝目录列表
403.15超出客户端访问许可
403.16客户端证书不受信任或无效
403.17客户端证书已过期或尚未生效
在当前的应用程序池中不能执行所请求的URL。这个错误代码为IIS6.0
403.18
所专用
不能为这个应用程序池中的客户端执行CGI。这个错误代码为IIS6.0所
403.19
专用
403.20Passport登录失败。这个错误代码为IIS6.0所专用
404NotFound服务器无法找到被请求的页面
404.0(无)——没有找到文件或目录
404.1无法在所请求的端口上访问Web站点
404.2Web服务扩展锁定策略阻止本请求
404.3MIME映射策略阻止本请求
405MethodNotAllowed请求中指定的方法不被允许
7
JavaWeb开发任务教程
续表
消息描述
406NotAcceptable服务器生成的响应无法被客户端所接受
407ProxyAuthenticationRequired用户必须首先使用代理服务器进行验证,这样请求才会被处理
408RequestTimeout请求超出了服务器的等待时间
409Conflict由于冲突,请求无法被完成
410Gone被请求的页面不可用
411LengthRequiredContent-Length未被定义。如果无此内容,服务器不会接受请求
412PreconditionFailed请求中的前提条件被服务器评估为失败
413RequestEntityTooLarge由于所请求的实体太大,服务器不会接受请求
由于URL太长,服务器不会接受请求。当POST请求被转换为带有很长的
414Request-urlTooLong
查询信息的GET请求时,就会发生这种情况
415UnsupportedMediaType由于媒介类型不被支持,服务器不会接受请求
416RequestedRangeNotSatisfiable服务器不能满足客户在请求中指定的Range头
417ExpectationFailed执行失败
423锁定的错误
5xx:服务器错误
500InternalServerError请求未完成。服务器遇到不可预知的情况
500.12应用程序正忙于在Web服务器上重新启动
500.13Web服务器太忙
500.15不允许直接请求Global.asa
500.16UNC授权凭据不正确。这个错误代码为IIS6.0所专用
500.18URL授权存储不能打开。这个错误代码为IIS6.0所专用
500.100内部ASP错误
501NotImplemented请求未完成。服务器不支持所请求的功能
502BadGateway请求未完成。服务器从上游服务器收到一个无效的响应
502.1CGI应用程序超时
502.2CGI应用程序出错
503ServiceUnavailable请求未完成。服务器临时过载或宕机
504GatewayTimeout网关超时
505HTTPVersionNotSupport服务器不支持请求中指明的HTTP协议版本
通常,一个HTTP请求/响应的工作流程大概可以用以下4步来概括:
步骤1:客户端浏览器先要与服务器建立连接,在浏览器上最常见的场景就是单
击一个链接,这就触发了连接的建立。
步骤2:连接建立后,客户端浏览器发送一个请求到服务器,这个过程其实是组
装请求报文的过程。
步骤3:服务器端接收到请求报文后,对报文进行解析,组装成一定格式的响应
8
单元一搭建JavaWeb开发环境
报文,返回给客户端。
步骤4:客户端浏览器接收到响应报文后,通过浏览器内核对其进行解析,按照
一定的外观进行显示,然后与服务器断开连接。
①简述HTTP协议的作用。
②访问网站的完整流程是什么?
③GET方法和POST方法有何区别?分别何时用到GET和POST方法?
任务二了解Web应用开发常用技术
了解Web应用开发常用的技术,比较服务器端技术和客户端技术的区别。
1.客户端技术
(1)HTML+CSS
HTML(超文本标记语言)是标准通用标记语言下的一个应用。“超文本”就是指
页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言的结构
包括“头”部分(Head)和“主体”部分(Body),其中“头”部分提供关于网页的
信息,“主体”部分提供网页的具体内容。网页的本质就是HTML通过结合使用其他
的Web技术(如脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。
因此,HTML是万维网编程的基础,也就是说万维网是建立在超文本基础之上的。
CSS(CascadingStyleSheet,层叠样式表,或级联样式表)是一组格式设置规则,
用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与
表现形式分离。页面内容存放在HTML文档中,而用于定义表现形式的CSS规则则存
放在另一个文件中或HTML文档的某一部分,通常为文件“头”部分。将内容与表现
形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简
练,缩短浏览器的加载时间。
(2)JavaScript
JavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,
内置支持类型。它的解释器称为JavaScript引擎,为浏览器的一部分,广泛用于客户
端的脚本语言,最早在HTML网页上使用,用来给HTML网页增加动态效果。JavaScript
脚本语言同其他语言一样,有它自身的基本数据类型、表达式和算术运算符及程序的
基本程序框架。JavaScript提供了4种基本的数据类型和2种特殊数据类型用来处理
数据和文字。变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。
(3)JQuery
JQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的
9
JavaWeb开发任务教程
JavaScript代码库(或JavaScript框架)。JQuery设计的宗旨是“WriteLess,DoMore”,
即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种
简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
JQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有
高效灵活的CSS选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富
的插件。JQuery兼容各种主流浏览器,如IE6.0+、FF1.5+、Safari2.0+、Opera9.0+等。
2.服务器端技术
在开发动态网站时,离不开服务器端技术,服务器端技术主要有CGI、ASP、PHP、
ASP.NET和JavaEE等。
(1)CGI
CGI(CommonGatewayInterface,通用网关接口)是最早用来创建动态网页的技
术,它可以使浏览器与服务器之间产生互动。它允许使用不同语言编写适合的CGI
程序,该程序被放在Web服务器上运行。当客户端发出请求给服务器时,服务器根
据用户请求建立一个新的进程来执行指定的CGI程序并将执行结果以网页的形式返
回给客户端的浏览器并显示出来。虽然CGI是当前应用程序的基础技术,但这种技术
的编制比较困难,且效率低下,因为每次页面被请求时,都要求服务器重新将CGI
程序编写成可执行的代码。在CGI中最常用的语言有C/C++、Java和Perl。
(2)ASP
ASP(ActiveServer
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年临时员工派遣协议范本
- 2025年借壳上市交易合作协议
- 2025年仓储干果坚果保管合同
- 2025年售房合同解除协议
- 2025年死因赠与合同的咨询平台
- 2025年食堂食材采购与社区支持农业合同范本大全3篇
- 2025版生物质木屑颗粒燃料买卖合同4篇
- 二零二五年度不动产抵押担保物业管理合同样本3篇
- 2025版微股东众筹入股协议书-新能源开发项目专用3篇
- 二零二五年度科研实验室租赁合同租金调整与设备配置补充协议
- 《中华民族多元一体格局》
- 2023年四川省绵阳市中考数学试卷
- 南安市第三次全国文物普查不可移动文物-各乡镇、街道分布情况登记清单(表五)
- 选煤厂安全知识培训课件
- 项目前期选址分析报告
- 急性肺栓塞抢救流程
- 《形象价值百万》课件
- 红色文化教育国内外研究现状范文十
- 中医基础理论-肝
- 小学外来人员出入校门登记表
- 《土地利用规划学》完整课件
评论
0/150
提交评论