2.2 主流动态网站技术及实现模式
2.2.1 几种主流的动态网站开发技术
1.ASP(Active Server Pages)
ASP是由微软公司推出的动态网站开发技术,它使用VBScript或JavaScript作为脚本语言,基本上只能运行在Windows平台上。国内ASP的应用较广,与国际上PHP占主导地位的情况正好相反。不过近年来这种形势发生了改变,在小型网站的开发领域,PHP逐渐占据了重要的位置。
2.PHP(Personal Home Pages)
PHP使用的脚本语言类似于C、Java、Perl等语言,是免费使用的开源技术。开发者使用PHP技术可以快速地建立一个交互式的Web站点。但由于PHP本身的一些缺点,使得它不适合开发大型的电子商务站点,多用于创建比较小型的网站。
3.JSP(Java Server Pages)
JSP是由Sun公司在1999年推出的动态网站开发技术。
在推出JSP之前,Sun公司使用Servlet技术来开发网络应用,Servlet一般是实现了javax.servlet.Servlet接口的Java类,可以处理用户请求并向客户端发回响应。使用Servlet技术开发一个网页时,无论是业务逻辑的处理还是页面效果的呈现,均使用Java语言编写代码实现,因此对程序开发人员的要求比较高,也在一定程度上阻碍了它的推广。
为了降低动态网站开发的难度,1999年6月Sun公司在Servlet的基础上推出了JSP技术,主要是在HTML格式的页面代码中嵌入具有逻辑处理能力的Java代码。采用这种形式,使得程序员的分工成为可能,网页效果与逻辑处理可分别交由不同的开发人员完成。
由于使用了Java语言作为网页的脚本语言,使用JSP技术编写的网页具有跨平台的特性。
4.ASP.NET
ASP.NET技术是微软公司推出的动态网页开发技术,它是可以使用在.NET CLR(Common Language Runtime)上的编程框架,可用于在服务器上生成功能强大的Web应用程序。它主要采用VB或C#作为脚本语言。
2.2.2 动态网站技术的实现模式
静态网页一般使用HTML语言结合CSS及JavaScript实现,浏览器软件通常都内置了对这些语言的支持,因此能直接解释静态网页的内容并将结果显示给用户。但是,HTML语言仅仅是一种描述页面静态元素的标签语言,并不具有逻辑处理的功能。例如,处理订票业务时,仅使用HTML语言是无法判断是否有指定航班的机票可供订购的。因此,需要使用具有逻辑处理功能的某种程序设计语言来编写这些处理代码。
纵观目前流行的几种动态网站开发技术,它们都采用了相似的实现模式,即以静态网页(HTML+CSS+JavaScript)为基础,在其中嵌入采用某种高级语言编写的逻辑代码段,使之具备“动态”生成网页内容的能力。
例如,ASP技术就采用了在HTML格式的网页代码中嵌入用VBScript或JavaScript编写的代码段的形式,而PHP使用的则是类似于Perl的脚本语言。
JSP也采用了上述的模式,它通过在传统的HTML页面中加入Java代码段及JSP标记来完成逻辑处理。
下面是一个简单的JSP页面,请大家尝试阅读:
程序清单 文件web\2\impression.jsp 1:<%-- 2: Document :impression 3: Created on:2009-7-21,10:14:21 4: Author :xuwz 5:--%> 6: 7:<%@page contentType="text/html" pageEncoding="UTF-8" import="java.util.*"%> 8:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 9:"http://www.w3.org/TR/html4/loose.dtd"> 10: 11:<html> 12: <head> 13: <meta http-equiv="Content-Type"content="text/html; charset=UTF-8"> 14: <title>First impression</title> 15: <link href="my.css"rel="stylesheet"type="text/css"> 16: </head> 17: <body> 18: <div id="wrap"> 19: <div id="logo"> 20: <p>JSP印象</p> 21: </div> 22: <div id="content"> 23: <% 24: Date d1=new Date(); 25: out.print("今天是"+d1+",欢迎您!"); 26: %> 27: </div> 28: <div id="foot">©My Company版权所有</div> 29: </div> 30: </body> 31:</html>
似乎是“新瓶装旧酒”?大家看到,这个文件中出现了HTML标签、CSS代码,以及Java代码,这些内容对您来说可能并不陌生,陌生的是它们现在同时出现在了一个程序文件中。此外,还有一些陌生的内容如下。
█ 第1~5行是注释代码,由符号“<%--”和“--%>”括起的内容为JSP的注释。
█ 第7行是JSP中的页面指令,说明本网页的一些特性。
█ 第23和26行的符号“<%”和“%>”,在它们之间出现的内容为采用Java语言编写的代码段。
另外,一个JSP页面中还可能出现表达式、动作等其他形式的页面元素,这些内容将在后续的学习过程中逐步接触到。