Java Web程序设计(慕课版)
上QQ阅读APP看书,第一时间看更新

1.3 Web开发技术

在开发Web应用程序时,通常需要应用客户端和服务器两方面的技术。其中,客户端应用的技术主要用于展现信息内容,而服务器端应用的技术则主要用于进行业务逻辑的处理和与数据库的交互等。下面进行详细介绍。

1.3.1 客户端应用技术

41842-00-021-1

客户端应用技术

进行Web应用开发,离不开客户端技术的支持。目前,比较常用的客户端技术包括HTML、CSS样式、Flash和客户端脚本技术。下面进行详细介绍。

1. HTML

HTML是客户端技术的基础,主要用于显示网页信息,它不需要编译,由浏览器解释执行。HTML简单易用,它在文件中加入标签,使其可以显示各种各样的字体、图形及闪烁效果,还增加了结构和标记,如头元素、文字、列表、表格、表单、框架、图像和多媒体等,并且提供了与Internet中其他文档的超链接。例如,在一个HTML页中,应用图像标记插入一个图片,可以使用如图1-5所示的代码,该HTML页运行后的效果如图1-6所示。

41842-00-022-1

图1-5 HTML文件

41842-00-022-2

图1-6 运行结果

说明

HTML不区分大小写,这一点与Java不同,例如,图1-5中的HTML标记<body></body>标记也可以写为<BODY></BODY>。

2. CSS样式

CSS样式就是一种叫作样式表(style sheet)的技术,也有人称之为层叠样式表(Cascading Style Sheet)。在制作网页时,采用CSS样式,可以有效地对页面的布局、字体、颜色、背景和其他效果实现更加精确的控制;只要对相应的代码做一些简单修改,就可以改变整个页面的风格。CSS大大提高了开发者对信息展现格式的控制能力,特别是在目前比较流行的CSS+DIV布局的网站中,CSS的作用更是举足轻重了。例如,在“心之语许愿墙”网站中,如果将程序中的CSS代码删除,将显示图1-7所示的效果,而添加CSS代码后,将显示图1-8所示的效果。

41842-00-022-3

图1-7 没有添加CSS样式的页面效果

41842-00-022-4

图1-8 添加CSS样式的页面效果

在网页中使用CSS样式不仅可以美化页面,而且可以优化网页速度。因为CSS样式表文件只是简单的文本格式,不需要安装额外的第三方插件;另外,由于CSS提供了很多滤镜效果,从而避免使用大量的图片,这样将大大缩小文件的体积,提高下载速度。

3. Flash

Flash是一种交互式矢量动画制作技术,它可以包含动画、音频、视频及应用程序,而且Flash文件比较小,非常适合在Web上应用。很多Web开发者都将Flash技术引入网页中,使网页更具有表现力。特别是应用Flash技术可实现动态播放网站广告或新闻图片,并且加入随机的转场效果,如图1-9所示。但因为Flash技术是一个比较早期的技术,所以现在更流行使用客户端脚本技术来实现网页动态效果。不过Flash Player则依旧是各大网站的主流视频插件。

41842-00-023-1

图1-9 在网页中插入的Flash Player播放器

4. 客户端脚本技术

客户端脚本技术是指嵌入到Web页面中的程序代码,这些程序代码是一种解释性的语言,浏览器可以对客户端脚本进行解释。通过脚本语言可以实现以编程的方式对页面元素进行控制,从而增加页面的灵活性。常用的客户端脚本语言有JavaScript和VBScript。目前,应用最为广泛的客户端脚本语言是JavaScript脚本。

1.3.2 服务器端应用技术

41842-00-023-2

服务器端应用技术

在开发动态网站时,离不开服务器端技术。从技术发展的先后来看,服务器端技术主要有CGI、ASP、PHP、ASP.NET和JSP。下面进行详细介绍。

1. CGI

CGI是最早用来创建动态网页的一种技术,它可以使浏览器与服务器之间产生互动关系。CGI(Common Gateway Interface)即通用网关接口,它允许使用不同的语言来编写适合的CGI程序,该程序被放在Web服务器上运行。当客户端发出请求给服务器时,服务器根据用户请求建立一个新的进程来执行指定的CGI程序,并将执行结果以网页的形式传输到客户端的浏览器上显示。CGI可以说是当前应用程序的基础技术,但这种技术编制方式比较困难而且效率低下,因为每次页面被请求时,都要求服务器重新将CGI程序编译成可执行的代码。在CGI中使用最为常见的语言为C/C++、Java和Perl(Practical Extraction and Report Language,文件分析报告语言)。

2. ASP

ASP(Active Server Page)是一种使用很广泛的开发动态网站的技术。它通过在页面代码中嵌入VBScript或JavaScript脚本语言来生成动态的内容,服务器端必须安装了适当的解释器后,才可以通过调用此解释器来执行脚本程序,然后将执行结果与静态内容部分结合并传送到客户端浏览器上。对于一些复杂的操作,ASP可以调用存在于后台的COM组件来完成,所以说COM组件无限扩充了ASP的能力,正因如此依赖本地的COM组件,使得它主要用于Windows NT平台中,所以Windows本身存在的问题都会映射到它的身上。当然该技术也存在很多优点,简单易学,并且ASP是与微软的IIS捆绑在一起,在安装Windows操作系统的同时安装上IIS就可以运行ASP应用程序了。

3. PHP

PHP来自于Personal Home Page一词,但现在的PHP已经不再表示名词的缩写,而是一种开发动态网页技术的名称。PHP语法类似于C,并且混合了Perl、C++和Java的一些特性。它是一种开源的Web服务器脚本语言,与ASP一样可以在页面中加入脚本代码来生成动态内容,对于一些复杂的操作可以封装到函数或类中。PHP提供了许多已经定义好的函数,例如,提供的标准的数据库接口,使得数据库连接方便、扩展性强。PHP可以被多个平台支持,但被广泛应用于UNIX/Linux平台。由于PHP本身的代码对外开放,又经过许多软件工程师的检测,因此到目前为止该技术具有公认的安全性能。

4. ASP.NET

ASP.NET是一种建立动态Web应用程序的技术。它是.NET框架的一部分,可以使用任何.NET兼容的语言来编写ASP.NET应用程序。使用Visual Basic .NET,C#,J#,ASP.NET页面(Web Forms)进行编译,可以提供比脚本语言更出色的性能表现。Web Forms允许在网页基础上建立强大的窗体。当建立页面时,可以使用ASP.NET服务端控件来建立常用的UI元素,并对它们编程来完成一般的任务。这些控件允许开发者使用内建可重用的组件和自定义组件来快速建立Web Form,使代码简单化。

5. JSP

Java Server Page(JSP)是以Java为基础开发的,所以它沿用了Java强大的API功能。JSP页面中的HTML代码用来显示静态内容部分;嵌入页面中的Java代码与JSP标记用来生成动态的内容部分。JSP允许程序员编写自己的标签库来完成应用程序的特定要求。JSP可以被预编译,提高了程序的运行速度。另外,JSP开发的应用程序经过一次编译后,便可随时随地运行。所以在绝大部分系统平台中,代码无需做修改就可以在支持JSP的任何服务器中运行。