当前位置: 主页 > 网站制作 >

1.1.1 Web技术的发展

发布时间:2011-12-31 16:18 阅读次数: 出处/作者:admin 在线投稿

1.1  MVC思想概述
今天,我们见到的绝大部分应用,都是基于B/S(浏览器/服务器)架构的,其中的服务器就是Web服务器。可见,Web应用是目前广泛使用的应用模式,而Struts 2是一个具有很好的实用价值的Web MVC框架。介绍Struts MVC框架之前,我们首先介绍Web应用的发展历史和MVC思想。
1.1.1  Web技术的发展
随着Internet技术的广泛使用,Web技术已经广泛应用于Internet上,但早期的Web应用全部是静态的HTML页面,用于将一些文本信息呈现给浏览者,但这些信息是固定写在HTML页面里的,该页面不具备与用户交互的能力,没有动态显示的功能。
很自然地,人们希望Web应用里应该包含一些能动态执行的页面,最早的CGI(通用网关接口)技术满足了该要求,CGI技术使得Web应用可以与客户端浏览器交互,不再需要使用静态的HTML页面。CGI技术可以从数据库读取信息,将这些信息呈现给用户;还可以获取用户的请求参数,并将这些参数保存到数据库里。
CGI技术开启了动态Web应用的时代,给了这种技术无限的可能性。但CGI技术存在很多缺点,其中最大的缺点就是开发动态Web应用难度非常大,而且在性能等各方面也存在限制。到1997年时,随着Java语言的广泛使用,Servlet技术迅速成为动态Web应用的主要开发技术。相比传统的CGI应用而言,Servlet具有大量的优势:
Servlet是基于Java语言创建的,而Java语言则内建了多线程支持,这一点大大提高了动态Web应用的性能。
Servlet应用可以充分利用Java语言的优势,例如JDBC(Java DataBase Connection)等。同时,Java语言提供了丰富的类库,这些都简化了Servlet的开发。
除此之外,Servlet运行在Web服务器中,由Web服务器去负责管理Servlet的实例化,并对客户端提供多线程、网络通信等功能,这都保证Servlet有更好的稳定性和性能。
Servlet在Web应用中被映射成一个URL(统一资源定位),该URL可以被客户端浏览器请求,当用户向指定URL对应的Servlet发送请求时,该请求被Web服务器接收到,该Web服务器负责处理多线程、网络通信等功能,而Servlet的内容则决定了服务器对客户端的响应内容。
图1.1显示了Servlet的响应流程。
正如图1.1所显示的,浏览器向Web服务器内指定的Servlet发送请求,Web服务器根据Servlet生成对客户端的响应。
实际上,这是后来所有的动态Web编程技术所使用的模型,这种模型都需要一个动态的程序,或者一个动态页面,当客户端向该动态程序或动态页面发送请求时,Web服务器根据该动态程序来生成对客户端的响应。

图1.1  Servlet的响应流程

到了1998年,微软发布了ASP 2.0。它是Windows NT 4 Option Pack的一部分,作为IIS 4.0的外接式附件。它与ASP 1.0的主要区别在于它的外部组件是可以初始化的,这样,在ASP程序内部的所有组件都有了独立的内存空间,并可以进行事务处理。标志着ASP技术开始真正作为动态Web编程技术。
当ASP技术在世界上广泛流行时,人们很快感受到这种简单的技术的魅力:ASP使用VBScript作为脚本语言,它的语法简单、开发效率非常高。而且,世界上已经有了非常多的VB程序员,这些VB程序员可以很轻易地过渡成ASP程序员——因此,ASP技术马上成为应用最广泛的动态Web开发技术。
随后,由Sun带领的Java阵营,立即发布了JSP标准,从某种程度上来看,JSP是Java阵营为了对抗ASP推出的一种动态Web编程技术。
ASP和JSP从名称上如此相似,但它们的运行机制存在一些差别,这主要是因为VBScript是一种脚本语言,无需编译,而JSP使用Java作为脚本语句——但Java从来就不是解释型的脚本语言,因此JSP页面并不能立即执行。因此,JSP必须编译成Servlet,这就是说:JSP的实质还是Servlet。不过,书写JSP比书写Servlet简单得多。
JSP的运行机理如图1.2所示。

图1.2  JSP的运行机理

对比图1.1和图1.2,发现不论是Servlet动态Web技术,还是JSP动态Web技术,它们的实质完全一样。可以这样理解:JSP是一种更简单的Servlet技术,这也是JSP技术出现的意义——作为一个和ASP对抗的技术,简单就是JSP的最大优势。
随着实际Web应用的使用越来越广泛,Web应用的规模也越来越大,开发人员发现动态Web应用的维护成本越来越大,即使只需要修改该页面的一个简单按钮文本,或者一段静态的文本内容,也不得不打开混杂的动态脚本的页面源文件进行修改——这是一种很大的风险,完全有可能引入新的错误。
这个时候,人们意识到:使用单纯的ASP,或者JSP页面充当过多角色是相当失败的选择,这对于后期的维护相当不利。慢慢地开发人员开始在Web开发中使用MVC模式。
随后就是Java阵营发布了一套完整的企业开发规范:J2EE(现在已经更名为Java EE),紧跟着微软也发布了ASP.NET技术,它们都采用一种优秀的分层思想,力图解决Web应用维护困难的问题。
动态Web编程技术大致有如图1.3所示的路线。

上一篇:CSS的常用技巧放送,css基础教程,div css教程 下一篇:技术分析:谈Web数据库访问技术

联系方式:


ro单机版