当前位置 >> 课程学习 >> 第1章 >> 1.2. Web程序设计的方法

1.2. Web程序设计的方法

1.2.2 动态网站设计技术

    随着网络技术的不断发展,单纯的静态网页已经远远不能满足Internet发展的需要。静态网页由单纯的HTML语言组成,没有交互性。因此为了满足实际的需要,许多网页文件的扩展名不再只是htm,html,而是出现了php,jsp,asp,aspx等,这些扩展名的网页文件都是采用动态网页技术制作出来的。
    早期,动态网页使用的主要是CGI(Common Gataway Interface,公用网关接口)技术。可以使用不同的语言编写合适的GCI程序,如Visual Basic,Delphi C/C++等。虽然CGI技术已经发展成熟且功能强大,但是由于编程困难、效率低下、修改复杂等缺陷,所以有逐渐被新技术取代的趋势。
    与前面提到的网页文件的扩展名相对应,目前比较受关注的动态网页设计技术主要有以下几种。
    (1)ASP。ASP全名Active Server Pages,是一个Web服务器端的开发环境,能运行动态的、交互的、高性能的Web服务应用程序。ASP的程序比HTML更方便且更有灵活性。ASP在Web服务器端运行,运行后再将运行结果以HTML格式传送到客户端的浏览器,所以ASP与一般的脚本语言相比要安全得多。ASP最大的好处是可以包含HTML标签,也可以直接存取数据库及使用ActiveX控件,因此在程序编制上要比HTML方便,而且更富有灵活性。通过使用ASP的组件和对象技术,用户可以直接使用ActiveX,调用对象方法和属性,以简单的方式实现强大的交互功能。ASP采用脚本语言VBScript或JScript作为开发语言。
    (2)PHP。PHP是一种跨平台的服务器端的嵌入式脚本语言,大量地借用C,Java和Perl语言的语法,并耦合PHP本身的特性,Web开发者能够快速的写出动态生成页面,并且支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱直接可以从PHP官方站点(http://www.php.net)自由下载。而且可以不受限制地获得源码,甚至可以从中加进所需要的特色。
    (3)JSP。JSP(Java Server Page)是Sun公司推出的新一代站点开发语言,Sun公司借助在JAVA上的不凡造诣,在JAVA应用程序和JAVA Applet之外又增加了一项新的硕果。JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
    (4)ASP.NET。ASP.NET是一种用于创建基于Web的应用程序的编程模型。从本质上来说,运行时和.net Framework类库集成,可以用于创建动态Web页。ASP.NET需要在Web服务器的环境中运行,如Microsoft Internet Information Server(互联网信息服务器,IIS),并且根据浏览器请求指示在服务器上执行程序。与直接由Web服务器提供的静态HTML不同的是,ASP.NET页面实际上是在服务器上执行以后再产生结果的。页面的最后生成也许是由许多不同的指令和数据源构造的。
    ASP.NET页面以.aspx扩展名存储,页面由文本、标记(如HTML)及ASP.NET特定服务器标记和脚本组合在一起,然后存储在Web服务器上。可以将存储后的ASP.NET页面看成是一套描述如何创建一个HTML页面的指令。当该页面被请求浏览时,服务器端程序将会用纯标记来创建一个客户端浏览器可以解释并能显示的页面。因为显示后的输出是纯标记,所以任何浏览器都能解释执行;所有的动态过程都发生在Web服务器端。ASP.NET特定服务器标记非常强大。例如,可以对用户的动作作出反应,连接至数据存储及自动创建非常复杂的HTML结构。
    正像前面提到的那样,ASP.NET只是.NET Framework的一部分,所以ASP.NET页面可以利用这个框架提供的所有服务,包括数据访问、安全及更多其他服务。因为ASP.NET可以使用所有这些服务,所以相比以前,能够创建更加丰富的Web应用程序。只需花少量的时间来构建所有应用程序所需的构建块,而将大多数时间用在应用程序独有的特殊逻辑上。
    ASP.NET还在Web编程中引入了一些与ASP不一样的新技术,主要包括以下内容。
   (1)语言独立性。因为ASP.NET是.NET Framework的一部分,所以可以使用用户选择的语言来构建ASP.NET应用程序,如C#、VB或J#。而典型的ASP则仅限于JScript或者VBScript页面。
   (2)编译而不是解释。与典型的ASP在每一次页面请求时都解释页面不同的是,ASP.NET在服务器端动态的将页面编译成可以运行得非常快的本机编程指令。
   (3)事件驱动编程模式。在典型的ASP中,页面总是以自顶向下的线性方式执行,并且ASP程序指令与HTML标记常常混在一起,这样会使得页面难以阅读,甚至更加难以维护。ASP.NET引入了事件驱动模型,这个模型允许将代码与标记内容分离,将代码并入处理专门任务的有意义的单元中。例如,响应客户端的按钮单击动作。这种事件模型极大的提高了页面的可读性和可维护性。
   (4)服务器控件。ASP.NET带给Web编程的一个最大的好处就是将公共的呈现和行为封装成服务器控件,可以在应用程序中很方便地重复使用。就像HTML标记一样,服务器控件以声明的形式创建,但是表现为一个位于服务器端的可编程对象,可以与代码进行交互并输出定制的动态HTML呈现。ASP.NET包含了大约80多个服务器控件,这些控件封装了从标准表单元素到复杂控件(如网格和菜单)的所有内容。
   (5)控件设计时间的改善(当使用Visual Web Developer时)。通过使用设计时间界面可以减少花费在开发复杂页面上的时间,这些界面包括任务面板、标签级导航栏和可以设置控件属性的向导。