
1.1 Web基础知识
Web基础知识
JSP(Java Server Pages)是目前企业中常用的一种动态网页开发技术,是Java Web开发体系中非常重要的一门技术。在学习JSP之前,首先需要了解与Web相关的一些知识,本节将从Web基础、HTTP协议、Web客户端应用技术、Web服务器端应用技术等方面进行介绍。
1.Web基础
Web的本意是蜘蛛网和网,在网页设计中称为网页。Web出现于1989年3月,由欧洲粒子物理研究所(CERN)的科学家蒂姆·伯纳斯·李(Tim Berners Lee)发明。1990年11月,第一个Web服务器正式运行,通过Web浏览器可以看到最早的Web页面。1991年,Web技术标准正式发布。1993年,第一个图形界面的浏览器Mosaic开发成功。1995年,著名的 Netscape Navigator 浏览器问世。随后,微软(Microsoft)公司推出了著名的IE浏览器(Windows操作系统默认安装IE浏览器)。目前,与Web相关的各种技术标准都由万维网联盟(World Wide Web Consortium,W3C)管理和维护。
Web 是一个分布式的超媒体信息系统,它将大量的信息分布在网上,为用户提供更多的多媒体网络信息服务。从技术层面上看,Web技术的核心有以下3点。
超文本传输协议(HTTP),实现网络的信息传输。
统一资源定位符(URL),实现互联网信息定位的统一标识(如 http://www. inspuruptec.com中的“www.inspuruptec.com”)。
超文本标记语言(HTML),实现信息的表示与存储。
2.HTTP协议简介
超文本传输协议(HyperText Transfer Protocol,HTTP)是专门为Web设计的一种应用层协议。在 Web 应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议就是HTTP。也就是说,HTTP协议是Web浏览器与Web服务器之间的一问一答的交互过程中必须遵循的规则。
HTTP是TCP/IP协议集中的一个应用层协议,用于定义Web浏览器与Web服务器之间交换数据的过程以及数据本身的格式。HTTP协议的版本有HTTP/1.0、HTTP/1.1、HTTP-NG。深入理解HTTP协议,对管理和维护复杂的Web站点、开发具有特殊用途的Web服务器程序具有直接影响。
3.Web客户端应用技术
Web 是开发互联网应用的技术总称,它是一种典型的分布式应用架构。Web 应用中的每一次信息交换都要涉及客户端和服务端两个层面。因此,Web 开发技术大体上也可以被分为客户端技术和服务端技术两类。本节主要介绍Web客户端技术。
Web 客户端的主要任务是展现信息内容。Web 客户端设计技术主要包括:HTML 语言、Java Applets、脚本程序、CSS、DHTML、插件技术及VRML技术。
(1)HTML语言的诞生
Web 客户端的主要任务是展现信息内容,HTML 语言是信息展现的最有效载体之一。作为一种实用的超文本语言,HTML的历史最早可以追溯到20世纪40年代。1969年,IBM公司的查尔斯·戈德法布(Charles Goldfarb)发明了可用于描述超文本信息的GML语言。1978—1986年,在美国国家标准学会(American National Standards Institute,ANSI)等组织的努力下,GML语言进一步发展成为著名的SGML语言标准。当蒂姆·伯纳斯·李在1989年试图创建一个基于超文本的分布式应用系统时,意识到SGML过于复杂,不利于信息的传递和解析。于是他对SGML语言做了大刀阔斧的简化和完善。1990年,第一个图形化的Web浏览器“World Wide Web”终于可以使用一种为Web量身定制的语言——HTML来展现超文本信息了。
(2)从静态信息到动态信息
最初的HTML语言只能在浏览器中展现静态的文本或图像信息,随后由静态技术逐步向动态技术转变。Web出现后,GIF动画第一次为HTML页面引入了动感元素。1995年,Java语言的问世带来了更大的变革。Java 语言天生就具备的与平台无关的特点,让人们找到了在浏览器中开发动态应用的捷径。CSS和DHTML技术真正让HTML页面又酷又炫、动感无限起来。1997年,Microsoft发布了IE 4.0,并将动态HTML标记、CSS和动态对象模型发展成了一套完整、实用、高效的客户端开发技术体系,Microsoft称其为DHTML。同样是实现HTML页面的动态效果,DHTML技术无需启动Java虚拟机或其他脚本环境,可以在浏览器的支持下,获得更好的展现效果和更高的执行效率。
为了在HTML页面中实现音频、视频等更为复杂的多媒体应用,HTML引入了对QuickTime插件的支持,插件这种开发方式也迅速风靡了浏览器的世界。20世纪90年代中期问世的COM和ActiveX也一度很流行。Real Player插件、Microsoft自己的媒体播放插件Media Player也被预装到了各种Windows版本之中。随后,Flash插件横空出世,被广泛应用于网页动画设计,成为当前网页动画设计最流行的插件之一。
4.Web服务器端应用技术
与Web客户端技术从静态向动态的演进过程类似,Web服务端的开发技术也是由静态逐渐向动态发展、完善起来的,其技术也在不断变化。
最早的Web服务器只是简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器。
第一种真正使服务器能根据运行时的具体情况动态生成HTML页面的技术是大名鼎鼎的CGI技术。CGI技术允许服务端的应用程序根据客户端的请求,动态生成HTML页面,这使客户端和服务端的动态信息交换成为可能。
早期的CGI程序大多是编译后的可执行程序,其编程语言可以是C、C++、Pascal等任何通用的程序设计语言。为了简化CGI程序的修改、编译和发布过程,人们开始探寻用脚本语言实现CGI应用的可行方式。
1994年,出现了专用于Web服务器端编程的PHP语言。PHP语言将HTML代码和PHP指令合成为完整的服务端动态页面,可以用一种更加简便、快捷的方式实现动态Web功能。
1996年,Microsoft在其Web服务器IIS 3.0中引入了ASP技术。ASP使用的脚本语言是大众熟悉的VB Script和JavaScript。
1998年,JSP技术诞生,JSP页面使用的脚本语言是Java语言,JSP开发服务器端的动态网页具有很多优势,因此成为很多开发者选择使用的主流Web服务器端开发技术,JSP的优点见下节的介绍。
随后,XML 语言及相关技术又成为主流。XML 语言对信息的格式和表达方法做了最大程度的规范,应用软件可以按照统一的方式处理所有XML信息,信息在整个Web 世界里的共享和交换就有了技术上的保障。HTML语言关心的是信息的表现形式,而XML语言关心的是信息本身的格式和数据内容。