只管JavaSever Pages技能和Microsoft的Active Sever Pages在许多方面都相似但仍存在许多差异。最实质的差异在于两者都来自不同的技能规范组织,它们的实现基于:WEB做事器平台哀求不同。
一、JSP技能:开放技能
JSP和ASP技能之间的明显差异在于开拓职员有不同的办法来理解各自软件系统的设计。 JSP技能独立于平台和做事器,输入支持来自各种专业,各种工具包,做事器组件和数据库产品开拓职员。比较之下,ASP技能在很大程度上依赖于微软的技能支持。

1、平台和做事器独立性
JSP技能附加到一次写入,然后可以在具有JavaTM语法构造的任何环境中运行。 JSP技能不依赖于单一平台或开拓职员,而是可以在任何Web做事器上运行,并支持来自多个开拓职员的各种工具包。
由于ASP基于Activex控件技能供应客户端和做事器端开拓组件,ASP技能基本上仅限于微软的操作系统平台。 ASP的紧张事情环境是微软的IIS运用构造,而且由于Activex工具具有平台特性,ASP技能无法轻易实现跨平台WEB做事器的事情。虽然ASP技能使组件和做事能够通过第三方产品实现跨平台运用程序,但ActiveX工具必须放在所选平台中。
2、开放开发过程、源代码
SUN利用JAVA社区流程开拓JSP技能。自1995年以来,Sun一贯利用这种开放式流程方法与国际JAVA组织互助开拓和修正JAVA技能和规范。对付JSP产品,Sun容许工具供应商(如Macromedia)、同盟公司(如Apache,Netscape)、终极用户、协作商等。Sun将原始版本的JSP和JavaTM Servlet(JSP 1.1,JAVA SERVLET 2.2)发布到Apache,以实现JSP与Apache之间的紧密共同开拓。 Apache,SUN和许多其他公司和个人公开建立了一个强大的咨询组织,以便任何公司和个人都可以免费得到信息。
随着JAVA组织不断扩展和扩展,JSP运用程序编程接口(API)无疑已经取得了成功,并将连续发展。比较之下,ASP技能完备依赖于微软自己的驱动器,其开拓基于独特的封闭式开拓流程。
ASP技能和JSP技能
WEB做事器Microsoft IIS或个人WEB做事器任何WEB做事器都包括Apache,Netscape和IIS操作系统平台。适用于Microsoft Windows系统的最盛行的平台,包括solaris操作系统,Microsoft Windows,MAC OS,Linux等。 UNIX系列平台产品。
跨平台访问须要引入第三方ASP产品。在WEB信息组织环境中支持不同系列的打算机组,确保用户对当前软件,硬件和人力资源的投资完备兼容。 JSP技能供应灵巧和开放的选择:可以利用各种类型。工具供应商供应的工具,极具代表性的工业标准输入和配置
3、从开拓职员的角度来看
ASP和JSP技能使开拓职员能够通过单击网页中的组件来创建交互式动态内容和运用程序网站。 ASP仅支持组件工具模型COM,JSP技能供应的组件基于JavabeansTM技能或JSP标记库。可以看出,只管两者具有相同,但差异是显而易见的。
1)JSP标记扩充性
只管ASP和JSP都利用标记和脚本技能来创建动态网页,但JSP技能使开拓职员能够为运用程序扩展JSP标记,JSP开拓职员可以自定义标记库,以便Web作者可以利用与XML兼容的标记技能功能可以大大减少对脚本措辞的依赖。借助自定义标记技能,网页创建者可以降落创建网页和将关键功能扩展到多个网页的繁芜性。
2)JSP跨平台重用性
JSP开拓职员在开拓过程中一贯关注可重用性。 JSP组件(Enterprise JavabeansTM,Javabeans或自定义JSP标记)是跨平台可重用的。 Enterprise Javabeans组件可以访问传统数据库,并在分布式系统模型中的UNIX和WINDOWS平台中事情。 JSP技能的标签可扩展功能为开拓职员供应了一个大略的,XML兼容的界面,能够共享网页,实现全面的工业标准化。
这种基于组件的模型在改进运用程序开拓方面非常有效,由于它许可开拓职员利用快速子组件快速创建模板运用程序,然后集成一些其他功能以供给用。像这样的有效方法在JSP中无处不在,可以打包成Javabean或工业标准化的Javabean组件。
二、JAVA的上风
JSP技能利用JAVA措辞作为脚本措辞,而ASP网页利用Microsoft的VBScrip或Jscrip。 JAVA是一种成熟,强大且可扩展的编程措辞,远远优于基于BASIC的脚本措辞。如:JAVA的可实行性能优于VBScript或Jscript措辞。由于它们利用JAVA技能并且都被编译成JAVA Servlet,以是JSP Web页面为全体做事器端JAVA库单元供应了一个接口,用于为HTTP运用程序供应做事。
JAVA使开拓职员的事情与其他事情一样大略和大略。例如,当疑惑ASP运用程序在WINDOWS NT系统中崩溃时,JAVA可以有效地防止系统崩溃。通过供应防止内存泄露的方法,JAVA措辞也可用于内存管理。此外,JSP为运用程序供应了强大的事宜处理机制。
1、易于掩护
基于ASP的运用程序比较,基于JSP的运用程序更易于掩护和管理。
脚本措辞适用于小型运用程序,但不适用于大型繁芜运用程序。由于JAVA是构造化的因此创建和掩护大型组件化运用程序更随意马虎。
JSP的突出组件技能使得在不影响内容的情形下轻松修正内容而不影响逻辑或修正逻辑。
企业级Javabeans构造集成了与运用程序无关的企业逻辑,例如数据库访问,安全性,事务完全性和独立性。由于JSP技能是一种开放的跨平台构造,因此可以轻松升级或切换WEB做事器,平台和其他组件,而不会影响JSP基本运用程序。此功能使JSP能够适应各种真实Web运用程序的不断变革和开拓。
ASP技能 JSP技能可重用,跨平台组件 没有JAVABEANS
企业级JAVABEANS,定制JSP标签
安全:戒备系统崩溃 没有/有
内存透露保护没有/有
脚本措辞 VBSCRIPT,JSCRIPT JAVA
定制标签没有/有
2、产品多样性
JAVA2平台企业版(J2EE)是一种用于多企业运用程序的JAVA体系构造。作为J2EE的一部分,JSP Web页面可以访问所有J2EE组件包括Javabeans、企业Javabeans和JAVA Servlet。 JSP页面可以完备编译成Servlet,因此它们都享有灵巧性和做事器端JAVA运用程序。 J2EE平台内容不仅包括管理繁芜的企业运用程序,还包括事务管理技能和池资源管理技能。
JSP网页可以访问标准J2EE做事,包括:
(1)JAVA名称和目录接口API
(2)JDBCTM API(与干系数据库通信)
(3)JavaMailTM(支持基于JAVA邮件和通报运用程序的类)
(4)JAVATM做事
利用J2EE,可以通过多种办法与企业系统以交互办法访问JSP Web页面。 J2EE支持两种CORBA规范技能:JAVA IDL和RMI-IIOP。借助企业级JAVABEANS技能支持,JSP网页利用高等的工具映射方法访问数据库。
末了,由于JSP技能是基于JAVA开放过程的产品,它可以广泛支持不同供应商供应的工具,WEB做事器和运用做事,以便用户可以选择最佳的开拓方法并选择最适宜他们的方法。运用程序开拓工具包同时有效地保护了用户对代码和员工培训的投资。