Java Web开发任务教程
上QQ阅读APP看书,第一时间看更新

任务二 Web应用开发常用技术

任务描述

了解Web应用开发常用的技术,比较服务器端技术和客户端技术的区别。

必备知识

1.客户端技术

(1)HTML+CSS

HTML(超文本标记语言)是标准通用标记语言下的一个应用。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言的结构包括“头”部分(Head)和“主体”部分(Body),其中“头”部分提供关于网页的信息,“主体”部分提供网页的具体内容。网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网编程的基础,也就是说万维网是建立在超文本基础之上的。

CSS(Cascading Style Sheet,层叠样式表,或级联样式表)是一组格式设置规则,用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离。页面内容存放在HTML文档中,而用于定义表现形式的CSS规则则存放在另一个文件中或HTML文档的某一部分,通常为文件“头”部分。将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间。

(2)JavaScript

JavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。JavaScript脚本语言同其他语言一样,有它自身的基本数据类型、表达式和算术运算符及程序的基本程序框架。JavaScript提供了4种基本的数据类型和2种特殊数据类型用来处理数据和文字。变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。

(3)JQuery

JQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。JQuery设计的宗旨是“Write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

JQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的CSS选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。JQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。

2.服务器端技术

在开发动态网站时,离不开服务器端技术,服务器端技术主要有CGI、ASP、PHP、ASP.NET和JavaEE等。

(1)CGI

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

(2)ASP

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

(3)PHP

PHP(Hypertext Preprocessor,超文本预处理器)的语法类似于C,并且混合了Perl、C++和Java的一些特性,它是一种开源的Web服务器脚本语言,与ASP一样可以在页面中加入脚本代码生成动态内容。对于一些复杂的操作可以封装到类或函数中。在PHP中提供了许多已经定义好的函数,例如提供的标准数据库接口,使得数据库连接方便,扩展性强。PHP可以被多个平台支持,但被应用最广泛的还是UNIX/Linux平台。由于PHP本身的代码对外开放,经过了许多软件工程师的检测,因此,该技术具有公认的安全性能。

(4)ASP.NET

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

(5)JavaEE

JavaEE是Sun公司(2009年4月20日被甲骨文公司收购)推出的企业级应用程序版本。这个版本以前称为J2EE。能够帮助用户开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序。Java EE是在Java SE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(Service Oriented Architecture,SOA)和Web 2.0应用程序。

JavaEE体系结构非常庞大,包括JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail和JAF。本书重点介绍JSP、Servlet、JDBC等技术的核心内容。

Servlet(Server Applet),全称Java Servlet,是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

JSP(Java Server Pages,Java服务器页面)是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm、*.html)中插入Java程序段(Scriptlet)和JSP标记(Tag),从而形成JSP文件,扩展名为.jsp。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。它实现了HTML语法中的Java扩展(以<%、%>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的是一个HTML文本,因此客户端只要有浏览器就能浏览。

JDBC(Java DataBase Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

JavaEE的发展非常迅速,从JavaEE 5到JavaEE 7,新特性层出不穷。如一些基于JVM平台的Grails、Scala,主流SSH框架,谷歌的GWT,BPM工作流的JBPM、Activiti、Vaadin、OSGI,Apache组织大量协议组件和库,各种开源模板技术,各种搜索引擎,各种规则引擎等,读者可以在掌握本书内容的基础上,开展后续的学习。

课堂提问

1.谈谈你所了解的客户端和服务器端技术,分析其各自的特点。

2.JavaEE技术和JavaSE技术有什么区别和联系。