|
网页(yè)制作JSP与ASP的比较
总的来讲(jiǎng),JavaSever PagesTM(JSP)和 微软的Active Sever Pages(ASP)在技术方面有(yǒu)许多相似之处。两者都(dōu)是为基于(yú)WEB应用实(shí)现动态交互网页(yè)制(zhì)作提供的技(jì)术(shù)环境支持。同等程度上(shàng)来讲,两者都能够为(wéi)程(chéng)序开发人员提供实现应(yīng)用程序(xù)的编制与自带(dài)组件设计网页从逻(luó)辑上分离的技术。而且两(liǎng)者(zhě)都能够替代CGI使网站建设与发展变的较为简单与快捷。
尽管JavaSever Pages 技术和微软的(de)Active Sever Pages在许多(duō)方面都有(yǒu)相似的,但仍然存(cún)在很多(duō)不同之处,其(qí)中最本(běn)质上的区别在于:两者是来源(yuán)于不同(tóng)的技术规范组(zǔ)织,其实现的基础:WEB服务器平台(tái)要求不相同(tóng)。 一(yī)、JSP 技术:开放(fàng)的技(jì)术 JSP和ASP技术明显的不同(tóng)点:开发(fā)人员(yuán)在对两者各自软(ruǎn)件体系设(shè)计的深入了解的方式不同。JSP技(jì)术(shù)基于平台和(hé)服务器的互相独立,输(shū)入支(zhī)持来(lái)自(zì)广泛的,专门的,各种工具(jù)包,服务器的组件(jiàn)和数据库产品(pǐn)开(kāi)发商所提供。相比之下,ASP技(jì)术主(zhǔ)要依赖微软的技术支(zhī)持。 1、平(píng)台和服(fú)务(wù)器(qì)的独立性 JSP技(jì)术依附于一次写入,之后,可以运(yùn)行在任何具有(yǒu)符合JavaTM语法结构的环境(jìng)。取而代之过去依附于单一(yī)平台或开(kāi)发商(shāng),JSP技术能够运行在任何WEB服务器上并且支持(chí)来自多家开发商提供的各(gè)种各(gè)样工(gōng)具包。 由(yóu)于ASP是(shì)基于Activex控件技术提供(gòng)客户端和服务器端的开发组件,因此(cǐ)ASP技术基本(běn)上是局限于微软的操作系统平台之上。ASP主要工作环(huán)境是微软的(de)IIS应用程序(xù)结构,又因(yīn)Activex对象具(jù)有(yǒu)平台特性,所以ASP技(jì)术不能很(hěn)容易地实现在(zài)跨平台的WEB服务器的工(gōng)作。尽管ASP技术通过第三方提供的(de)产品能够(gòu)得到组件和(hé)服务实现跨平台(tái)的应用程(chéng)序,但是Activex对象必须事先放置于所选择的平台(tái)中。 2、开放的开(kāi)发过程,开(kāi)放(fàng)的原代码 SUN应用JAVA社团性(xìng)过程开发JSP技术。自从1995年,SUN已(yǐ)经(jīng)用这(zhè)种开放过程方法同(tóng)国(guó)际JAVA组织合作开发(fā)和修(xiū)改了(le)JAVA技术与规范。针(zhēn)对JSP的产品,SUN授权(quán)了工具提供(gòng)商(如(rú)Macromedia),结盟公司(如Apache,Netscape),最终用户,协作商及其他。最近,SUN将最新版(bǎn)本的JSP和JavaTM Servlet(JSP 1.1,JAVA SERVLET 2.2)的(de)原代码发放给Apache,以求JSP与Apache紧密的相互发展。Apache,SUN和(hé)许多其他的公(gōng)司及个人公开(kāi)成立(lì)一个健壮的咨询机(jī)构以便任何(hé)公司和个人都能免费取得信息。 JSP应用程序界面(API)毫(háo)无疑问已经取得(dé)成功(gōng),并将随JAVA组织不断开(kāi)放扩大继续完善。相反,ASP技术仅依(yī)靠微软本身(shēn)的推动(dòng),其发(fā)展是建(jiàn)立在独(dú)占的(de),封(fēng)闭(bì)的开发过程(chéng)基(jī)础之上。 ASP技术 JSP技术 WEB服(fú)务器 微软的IIS或(huò)个人WEB服(fú)务器 任何WEB服务(wù)器包括(kuò)Apache,Netscape,和IIS 操作系统平(píng)台 微软的(de)视窗系统 绝大多数(shù)的流行(háng)平(píng)台(tái),包(bāo)括solaris操作(zuò)系统,微软的(de)视(shì)窗系统,MAC OS,Linux,及(jí)其他(tā)UNIX系(xì)列平台(tái)产(chǎn)品。 跨平台访问 需要第三(sān)方ASP的引入产品(pǐn) 支持WEB信息机构环境中不同(tóng)系列的计算机群即保证用(yòng)户在当前软硬件及人力资源上的投(tóu)资完全兼(jiān)容,JSP技术提供灵活,开放选择:可以使用(yòng)各种各样的工具(jù)提供商提供的工具,高度体现工业化标准输(shū)入与配置 3、从开发人员的角度来看:ASP和JSP技术都能使开发(fā)者(zhě)实现通过点击网(wǎng)页(yè)中的组件制作交互式的,动态的内容和应用(yòng)程序的WEB站点。ASP仅支(zhī)持组件对象模型COM,而JSP技(jì)术提供的组(zǔ)件都是基于JavabeansTM技术或JSP标签库(kù)。由此可(kě)以看出两(liǎng)者(zhě)虽有(yǒu)相同之(zhī)处,但其区(qū)别是很(hěn)明显的。 1)JSP标签可扩充(chōng)性(xìng) 尽管ASP和JSP都使用标签与脚本技(jì)术来制作动态WEB网页(yè),JSP技术能够(gòu)使开发者扩展JSP标签得以应用,JSP开发者能定制标签库,所以(yǐ)网页(yè)制作者充(chōng)分利(lì)用与XML兼(jiān)容的标签技术强大的功能,大(dà)大减少对脚本(běn)语(yǔ)言(yán)的(de)依赖(lài)。由于定制标(biāo)签技术,使网页制作者降低了制作网页和(hé)向(xiàng)多(duō)个网页(yè)扩充关(guān)键(jiàn)功能的复杂程度。 2)JSP跨平(píng)台的可(kě)重用性 JSP的开发人员在开(kāi)发过程中(zhōng)一直关注可重用性。JSP组件(企(qǐ)业(yè)JavabeansTM,Javabeans,或定制的JSP标(biāo)签)都是跨(kuà)平(píng)台(tái)可重用的。企(qǐ)业(yè)Javabeans组件可以访问传(chuán)统(tǒng)的数据库,并能以分布式系统模式(shì)工作于UNIX和WINDOWS平台。JSP技术的标签(qiān)可扩充(chōng)功(gōng)能为开发人(rén)员提供简便(biàn)的(de),与XML兼容(róng)的接口即共享(xiǎng)网页(yè)的打包功能使其完(wán)全的工(gōng)业标准化。 这种基于组件(jiàn)的模式(shì)很有效(xiào)提高应用程序的(de)开发效率,因为(wéi)这种模式能(néng)够(gòu)使开发人员利用快捷的子组件快速创建模板应用程(chéng)序,然后再整合一些附加功能以后(hòu)便可使用。象这样有(yǒu)效的方法在(zài)JSP中无处不在,并可将其打(dǎ)包成(chéng)一个(gè)Javabean或(huò)一个工业标准化的(de)Javabean组件。 二、JAVA的优越性 JSP技术是(shì)用JAVA语言作为脚本语言的,而ASP网页(yè)使用微软的VBScrip或Jscrip。JAVA是成(chéng)熟的,强大的,易扩充的(de)编程语言,远优于基(jī)于BASIC的脚本(běn)语言(yán)。如:JAVA的可执(zhí)行性优于VBScript或Jscript语言。因为它们(men)利(lì)用(yòng)JAVA技(jì)术并且(qiě)都被(bèi)编译为JAVA Servlets,JSP网页为整个(gè)服务器端的JAVA库单元提供了一个(gè)接口(kǒu)来服务于HTTP的应(yīng)用程序。 JAVA使开(kāi)发人员的(de)工作在其他方面也变的一样容易,简单。例如,当(dāng)ASP应用程序在(zài)WINDOWS NT系统被怀疑可能会崩溃时,JAVA能有效(xiào)的(de)防(fáng)止系(xì)统的(de)崩溃。JAVA语言通过(guò)提供防止内存的泄漏的方法,在(zài)内存管理方面也能大显身手。加之,JSP为(wéi)应用提(tí)供了健壮的意外事件处(chù)理机(jī)制(zhì)。 1、易于维护(hù)性 基于JSP技术的应用程序(xù)比基于ASP的(de)应用程(chéng)序易于维护和管理。 脚本(běn)语言都能很好服务于小(xiǎo)的应用程(chéng)序,但不能适应大型(xíng)的(de),复(fù)杂的应用程序。因为,JAVA是结(jié)构化的,它(tā)比较容易创(chuàng)建和维护庞大的,组件化的(de)应用程序。 JSP突出(chū)的组(zǔ)件技术使修改内容而不影响逻(luó)辑或修改逻(luó)辑(jí)而不影响内容(róng)变得很容易实现(xiàn)。 企业级的(de)Javabeans结构(gòu)整(zhěng)合了(le)企业(yè)逻辑,例如数据库的(de)访问(wèn),安全,事务完(wán)整性,及独立性即独立于应(yīng)用(yòng)程序。因为JSP技(jì)术是一种开放的,跨平台的结构,因此,WEB服(fú)务(wù)器,平台,及其他的组件能(néng)很容易升级或切换(huàn),且(qiě)不会(huì)影响JSP基本的应(yīng)用程序。这一特点使JSP能够适用现实世界的各种WEB应用程序不(bú)断的变(biàn)化和发展。 ASP技术 JSP技术可(kě)重用(yòng),跨平(píng)台组(zǔ)件(jiàn) 没有JAVABEANS 企业级JAVABEANS,定制JSP标签 安全:防范系(xì)统崩溃 没有/有 内存(cún)泄露保护 没有(yǒu)/有 脚本语言(yán) VBSCRIPT,JSCRIPT JAVA 定(dìng)制标(biāo)签 没(méi)有(yǒu)/有 2、企业产品的多(duō)样性(xìng) JAVA2平台(tái)即企业版(J2EE)是适用于多企业应用程序的JAVA结构,作为(wéi)J2EE的(de)部分(fèn),JSP网页可访问所有J2EE的组件,包括Javabeans,企业级Javabeans及JAVA Servlets。JSP网页都能完全编(biān)译成(chéng)为Servlets,所以它们(men)都享有灵活性的特点和为服(fú)务器端JAVA应用程(chéng)序。J2EE平台内容不仅包(bāo)括管(guǎn)理复杂的企业应用程序而且包括事务管理技术和(hé)Pooling资源管理技术。 JSP网(wǎng)页可以访问标准的(de)J2EE服务,包括: (1) JAVA名称和目录界面API (2) JDBCTM API(与关联的数据库通讯) (3) JavaMailTM(支持基于JAVA邮件(jiàn)和(hé)消息应(yīng)用程序的类) (4) JAVATM 消息服务 通过J2EE,JSP网页(yè)能够用许多方式(shì)同企业系统(tǒng)交互访问。J2EE支持两种CORBA规范的技(jì)术:JAVA IDL和RMI-IIOP。在企业级JAVABEANS技术(shù)支持下,JSP网页通过运用高级的,对象映射的方式访问数据库。 最终,因(yīn)为JSP技术(shù)是(shì)基(jī)于JAVA的开放性过(guò)程(chéng)的产品,因此它能够广泛支(zhī)持不(bú)同(tóng)提(tí)供(gòng)商提供的(de)工(gōng)具,WEB服务(wù)器和应用程序的服务,这样能够(gòu)使用户选择最佳的开发方法,选择最适应他们的(de)应用程序开发的工具(jù)包,同时(shí),有效地(dì)保护用户在代(dài)码和人员培(péi)训上的投资。
|