论文部分内容阅读
摘要:网页从开始简单的 HTML 到复杂的服务语言,走过了10多个年头,各种技术层出不穷,ASP、ASP.NET 及 JSP 作为目前Web开发的主流技术,它们在技术特点、开发平台、数据库连接等方面各具特色,既存在区别,又有共同共通之处。本文介绍了 ASP 技术、ASP.NET 技术和 JSP 技术的产生背景,并且对三种 Web 开发技术进行了详细比较。
关键词: ASP;ASP.NET;JSP;session;JavaBean,数据库;
一、 产生背景
ASP(全写是Active Server Page)意为“動态服务器页面”,是微软公司1996年11月开发的代替CGI脚本程序的一种Web应用开发技术,它的语法和Visual BASIC类似,可以像SSI(Server Side Include)那样把后台脚本代码内嵌到HTML页面中,可以与数据库和其它程序进行交互,是一种简单、方便的编程工具,现在常用于各种动态网站中,它的网页文件的格式是 .asp。
ASP虽然简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题,2000年微软在 .net 战略中新推出的ASP.NET,它借鉴了Java技术的优点,不是 ASP 的简单升级,而是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。ASP.NET 是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET)创作应用程序,使得 Web 开发更加方便。
JSP是Java Server Pages的缩写,是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,其根本是一个简化的Servlet设计,是J2EE(Java 2 platform Enterprise Edition)应用体系中的一部分。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。JSP是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
二、ASP、ASP.NET及JSP的技术特点
1.ASP的技术特点
(1) 利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术。
(2) ASP脚本是集成于HTML当中的,容易生成,无需编译或链接即可直接解释执行。
(3) ASP网页独立于浏览器,服务器上的ASP解释程序会在服务器端执行,并将结果以HTML格式传送到客户端浏览器上,用户端只要使用可解释常规HTML码的浏览器, 即可浏览ASP所设计的主页。
(4) ASP 提供了一些内置对象,在ASP脚本中可以方便地引用这些内置对象,还能通过定制 ActiveX Server Component(ActiveX服务器组件)来扩充功能。
(5) ASP与任何 ActiveX scripting 语言兼容,除了可使用 VBScript 和 Jscript 语言进行设计外,还可通过Plug-in的方式,使用由第三方所提供的其它 scripting 语言。
(6) 由于ASP脚本在服务器上执行,然后将程序执行生成的 HTML 码传回客户端浏览器,因此使用者不会看到 ASP 所编写的源程序码,可防止辛辛苦苦编写出来的程序代码被盗取。
2.ASP.NET 的技术特点
(1) ASP.NET简化了开发操作,虽然ASP很容易使用,但是网页程序过大时会显得相当复杂。ASP.NET在代码编写方面最大的特色是将页面逻辑和业务逻辑分开,它分离程序代码与显示内容,使网页更容易编写,同时程序代码看起来更洁净、更简单。
(2) ASP.NET支持多语言,在使用ASP制作网页时可以使用多种语言来编写程序,但是这些只限于脚本语言。ASP.NET则允许使用编译式的语言,提供较好的执行效率和跨语言的兼容性,如VB.NET,C#,等等。
(3) ASP.NET简化了部署与组件的操作,在ASP中调用组件,程序的部署过程会变得非常复杂。目前组件使用都需要复杂的注册操作,同时组件在使用中经常会被锁定而无法更新版本。在ASP.NET中不需要考虑组件注册的问题,直接将文件复制到目的计算机相应的目录下就可以了。
(4) ASP.NET技术提高程序执行效率,由于ASP.NET的程序代码是编译过的,所以执行时会比ASP的执行方式快很多。另外,ASP.NET也提供快取的能力,有效的缩短服务器的应答时间。
(5) ASP.NET具有更佳的安全机制,在ASP中唯一能使用的验证方式是Windows Authentication; 而ASP.NET则提供三种不同的登陆验证方式:Windows、Passport 和 Cookie。也可以利用Impersonation功能,使用登陆者的权限执行一些程序代码或存取资源。
(6) ASP.NET支持下一代的Web Service,简单的说,Web Service是指可以跨Internet调用的应用程序,提供应用程序重复使用的功能,它能使两个不同的系统拥有一个沟通的管道。
3.JSP
(1) 跨平台。JSP技术开发的Web应用程序是基于Java的,它可以使用Java API,所以它是跨平台的。
(2) 将内容的生成和显示进行分离。采用JSP技术开发的项目,通常使用HTML语言来设计和格式化静态页面的内容,而使用JSP标签和Java代码片段来实现动态部分。程序开发人员可以将业务处理代码全部放到JavaBean中,或者把业务处理代码交给Servlet、Struts等其他业务控制层来处理,从而实现业务代码从视图层分离。这样JSP页面只负责显示数据即可,当需要修改业务代码时,不会影响JSP页面的代码。 (3) 强调可重用的组件。绝大多数JSP页面依赖于可重用的、跨平台的组件来执行应用程序所要求的更为复杂的操作。基于共享和交换组件的方法加速了总体的开发过程。
(4) 多样化和功能强大的开发工具支持。这一点与 ASP很像,目前已有许多可以免费获得的Java开发工具,如 Eclipse、JBuilder 和 NeatBean等。
(5) 采用标识简化页面开发。Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。
三、ASP、ASP.NET及JSP的比较
1.平台的支持
ASP由微软公司推出,是基于WINDOWS平台的,简单易用,但由于ASP对于基于Win32逐渐模型的依赖,使得它移植性不好,不能跨平台运行。但是国内现在大部分的网站都是使用它来开发的。
从ASP上升级来的ASP.NET的推出是微软为了与 SUN公司的JSP在网络上的迅猛发展抵抗的,开发的效率比较高。因为ASP .NET是基于通用语言的编译运行的程序,其实现完全依赖于虚拟机,所以它拥有跨平台性,ASP .NET构建的应用程序可以运行在几乎全部的平台上。
JSP具有平台独立性,只要是一般的Java程序可以运行的平台,都支持JSP程序。不过,运行 JSP 程序之前须先装虚拟机 JDK。
可以說,ASP确实快过时了,在未来JSP和ASP.NET将会有巨大的潜力。
2.内置对象
所谓内置对象就是可以不加声明和创建就可以在页面脚本中使用的成员变量。ASP、ASP.NET 及 JSP 均支持内置对象,常用的内置对象有 response、request、Application、session和 server 等,在ASP、ASP.NET和JSP技术中这些内置对象的使用方法和作用基本相同,并且它们在ASP 和 JSP中使用的频率非常高,而在 ASP.NET 中,由于采用Web Control 技术,内置对象作用有所弱化,但还是广泛使用。
3.连接数据库
采用ASP、ASP.NET或者JSP技术生成动态网页,都离不开数据库的支撑。要实现大量存储数据需要借助于数据库管理系统。对数据库的基本操作包括增、删、改、查等,其中查询使用最频繁。
操作数据库之前须先连接数据库,ASP使用ODBC通过ADO连接数据库;ASP.NET 常常采用ADO.net技术操作数据库;而JSP通过一个叫JDBC技术或 JDBC-ODBC 桥的方法来实现数据库连接。
参考文献
[1] 邵良杉,刘好增. ASP.NET 3.5 (C#)实践教程[M] . 北京:清华大学出版社,2009
[2] 陈雪莲. JSP 程序设计教程 [M] . 北京:清华大学出版社,2008:148-156.
[3] 孙俊,李正明,杨继昌. ASP技术与ASP.NET 技术的比较 [J] .微型机与应用,2003,1
关键词: ASP;ASP.NET;JSP;session;JavaBean,数据库;
一、 产生背景
ASP(全写是Active Server Page)意为“動态服务器页面”,是微软公司1996年11月开发的代替CGI脚本程序的一种Web应用开发技术,它的语法和Visual BASIC类似,可以像SSI(Server Side Include)那样把后台脚本代码内嵌到HTML页面中,可以与数据库和其它程序进行交互,是一种简单、方便的编程工具,现在常用于各种动态网站中,它的网页文件的格式是 .asp。
ASP虽然简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题,2000年微软在 .net 战略中新推出的ASP.NET,它借鉴了Java技术的优点,不是 ASP 的简单升级,而是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。ASP.NET 是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET)创作应用程序,使得 Web 开发更加方便。
JSP是Java Server Pages的缩写,是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,其根本是一个简化的Servlet设计,是J2EE(Java 2 platform Enterprise Edition)应用体系中的一部分。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。JSP是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
二、ASP、ASP.NET及JSP的技术特点
1.ASP的技术特点
(1) 利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术。
(2) ASP脚本是集成于HTML当中的,容易生成,无需编译或链接即可直接解释执行。
(3) ASP网页独立于浏览器,服务器上的ASP解释程序会在服务器端执行,并将结果以HTML格式传送到客户端浏览器上,用户端只要使用可解释常规HTML码的浏览器, 即可浏览ASP所设计的主页。
(4) ASP 提供了一些内置对象,在ASP脚本中可以方便地引用这些内置对象,还能通过定制 ActiveX Server Component(ActiveX服务器组件)来扩充功能。
(5) ASP与任何 ActiveX scripting 语言兼容,除了可使用 VBScript 和 Jscript 语言进行设计外,还可通过Plug-in的方式,使用由第三方所提供的其它 scripting 语言。
(6) 由于ASP脚本在服务器上执行,然后将程序执行生成的 HTML 码传回客户端浏览器,因此使用者不会看到 ASP 所编写的源程序码,可防止辛辛苦苦编写出来的程序代码被盗取。
2.ASP.NET 的技术特点
(1) ASP.NET简化了开发操作,虽然ASP很容易使用,但是网页程序过大时会显得相当复杂。ASP.NET在代码编写方面最大的特色是将页面逻辑和业务逻辑分开,它分离程序代码与显示内容,使网页更容易编写,同时程序代码看起来更洁净、更简单。
(2) ASP.NET支持多语言,在使用ASP制作网页时可以使用多种语言来编写程序,但是这些只限于脚本语言。ASP.NET则允许使用编译式的语言,提供较好的执行效率和跨语言的兼容性,如VB.NET,C#,等等。
(3) ASP.NET简化了部署与组件的操作,在ASP中调用组件,程序的部署过程会变得非常复杂。目前组件使用都需要复杂的注册操作,同时组件在使用中经常会被锁定而无法更新版本。在ASP.NET中不需要考虑组件注册的问题,直接将文件复制到目的计算机相应的目录下就可以了。
(4) ASP.NET技术提高程序执行效率,由于ASP.NET的程序代码是编译过的,所以执行时会比ASP的执行方式快很多。另外,ASP.NET也提供快取的能力,有效的缩短服务器的应答时间。
(5) ASP.NET具有更佳的安全机制,在ASP中唯一能使用的验证方式是Windows Authentication; 而ASP.NET则提供三种不同的登陆验证方式:Windows、Passport 和 Cookie。也可以利用Impersonation功能,使用登陆者的权限执行一些程序代码或存取资源。
(6) ASP.NET支持下一代的Web Service,简单的说,Web Service是指可以跨Internet调用的应用程序,提供应用程序重复使用的功能,它能使两个不同的系统拥有一个沟通的管道。
3.JSP
(1) 跨平台。JSP技术开发的Web应用程序是基于Java的,它可以使用Java API,所以它是跨平台的。
(2) 将内容的生成和显示进行分离。采用JSP技术开发的项目,通常使用HTML语言来设计和格式化静态页面的内容,而使用JSP标签和Java代码片段来实现动态部分。程序开发人员可以将业务处理代码全部放到JavaBean中,或者把业务处理代码交给Servlet、Struts等其他业务控制层来处理,从而实现业务代码从视图层分离。这样JSP页面只负责显示数据即可,当需要修改业务代码时,不会影响JSP页面的代码。 (3) 强调可重用的组件。绝大多数JSP页面依赖于可重用的、跨平台的组件来执行应用程序所要求的更为复杂的操作。基于共享和交换组件的方法加速了总体的开发过程。
(4) 多样化和功能强大的开发工具支持。这一点与 ASP很像,目前已有许多可以免费获得的Java开发工具,如 Eclipse、JBuilder 和 NeatBean等。
(5) 采用标识简化页面开发。Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。
三、ASP、ASP.NET及JSP的比较
1.平台的支持
ASP由微软公司推出,是基于WINDOWS平台的,简单易用,但由于ASP对于基于Win32逐渐模型的依赖,使得它移植性不好,不能跨平台运行。但是国内现在大部分的网站都是使用它来开发的。
从ASP上升级来的ASP.NET的推出是微软为了与 SUN公司的JSP在网络上的迅猛发展抵抗的,开发的效率比较高。因为ASP .NET是基于通用语言的编译运行的程序,其实现完全依赖于虚拟机,所以它拥有跨平台性,ASP .NET构建的应用程序可以运行在几乎全部的平台上。
JSP具有平台独立性,只要是一般的Java程序可以运行的平台,都支持JSP程序。不过,运行 JSP 程序之前须先装虚拟机 JDK。
可以說,ASP确实快过时了,在未来JSP和ASP.NET将会有巨大的潜力。
2.内置对象
所谓内置对象就是可以不加声明和创建就可以在页面脚本中使用的成员变量。ASP、ASP.NET 及 JSP 均支持内置对象,常用的内置对象有 response、request、Application、session和 server 等,在ASP、ASP.NET和JSP技术中这些内置对象的使用方法和作用基本相同,并且它们在ASP 和 JSP中使用的频率非常高,而在 ASP.NET 中,由于采用Web Control 技术,内置对象作用有所弱化,但还是广泛使用。
3.连接数据库
采用ASP、ASP.NET或者JSP技术生成动态网页,都离不开数据库的支撑。要实现大量存储数据需要借助于数据库管理系统。对数据库的基本操作包括增、删、改、查等,其中查询使用最频繁。
操作数据库之前须先连接数据库,ASP使用ODBC通过ADO连接数据库;ASP.NET 常常采用ADO.net技术操作数据库;而JSP通过一个叫JDBC技术或 JDBC-ODBC 桥的方法来实现数据库连接。
参考文献
[1] 邵良杉,刘好增. ASP.NET 3.5 (C#)实践教程[M] . 北京:清华大学出版社,2009
[2] 陈雪莲. JSP 程序设计教程 [M] . 北京:清华大学出版社,2008:148-156.
[3] 孙俊,李正明,杨继昌. ASP技术与ASP.NET 技术的比较 [J] .微型机与应用,2003,1