所以,问题就变成了:只使用JSP不使用其他技术的原因是什么?我们对这个现象的首先反应是我们不是在讨论所有的人都应该怎么使用JSP。其他一些技术也是具有明显的优势。在某些情况下应该做出正确的判断,使用合适的语言进行编写。但是在其他情况下,JSP具有明显的优势,原因主要有如下几点。
与.NET和Active Server Pages (ASP)相比
.NET是来自微软的一项精心设计,ASP.NET的主要竞争对手是Servlet和JSP技术。JSP的好处主要体现在以下两个方面。
首先,JSP对于多种操作系统和Web服务器能够进行移植,所以我们不用将代码局限于编写在Windows 和IIS上。虽然核心.NET平台可以在不同的非Windows平台上运行,但ASP不具备这个功能。这种差异对于一些应用程序来说并不非常显著,但对其它的应用而言,是及其致命的。
其次,对于一部分应用程序的底层语言的选择问题影响也至关重要。举例来说,尽管.NET的C#语言使用很好,且设计类似于Java程序员,但是少的是熟悉核心C #语法和大量工具库的编程者。此外,许多系统设计者还使用了ASP原来的版本。现在的版本,在进行代码设计时具有突出的功能。采用JSP编程,动态部分是用java完成的,不是运用VB脚本或其他ASP语言,所以JSP是比较符合组件重用的要求。
通过JSP与以前版本的ColdFusion进行比较后,我们能够得出一样的观点。为了摆脱对固定的服务器产品的依赖性,我们能够借助使用JSP技术来实现。可是,ColdFusion现在使用的版本是依靠J2EE服务器所提供的环境,能够让设计编程的人实现ColdFusion和Servlet/JSP代码的有效结合。