First, JSP is portable to multiple operating systems and Web servers; you aren't locked into deploying on Windows and IIS. Although the core .NET platform runs on a few non-Windows platforms, the ASP part does not. You cannot expect to deploy serious ASP.NET applications on multiple servers and operating systems. For some applications, this difference does not matter. For others, it matters greatly.
Second, for some applications the choice of the underlying language matters greatly. For example, although .NET's C# language is very well designed and is similar to Java, fewer programmers are familiar with either the core C# syntax or the many auxiliary libraries. In addition, many developers still use the original version of
ASP. With this version, JSP has a clear advantage for 2 the dynamic code. With JSP, the dynamic part is written in Java, not VB Script or another ASP-specific language, so JSP is more powerful and better suited to complex applications that require reusable components.
You could make the same argument when comparing JSP to the previous version of Cold Fusion; with JSP you can use Java for the "real code" and are not tied to a particular server product. However, the current release of ColdFusion is within the context of a J2EE server, allowing developers to easily mix ColdFusion and servlet/JSP code.
JSP技术概述
一、JSP的益处
JSP页面最后通过运行会成为Srevlet。所以,从本质上来说,JSP页面可以完成的所有工作都能够通过使用Servlet来代替。但是,对于Servlet和JSP页面来说并不能对所有的这种底层同等性工作都完全适合。问题不是技术的力量,两者的不同在于方便程度、工作效率和可维护性。毕竟,Java编程语言能够在某个特定的环境下进行开发系统,同样的我们也可以使用其他的编程语言来完成,但对我们来说,选择使用什么语言非常重要。
使用JSP比只使用Servlet的优势有很多,在此列出以下几点:
1.JSP中包括容易编写和方便维护的HTML,HTML一般情况下没有多余的反斜杠和双引号,也没有多余的Java编写规则。
2.开发系统时可以使用标准的网站进行开发,我们也可以使用对于JSP不够熟悉的HTML工具,因为工作时他们能够忽略掉JSP标签。
3.你可以对你的发展团队进行分配工作任务。Java程序员可以工作于动态代码,网络开发者可以集中于演示层。在大型项目上,这样的分配是极其关键的。分配方案对项目的成败也是至关重要的。怎样分配取决于你的团队的综合能力和你项目的难易程度,当团队的综合能足够强大时,分配方案的决定就变得轻而易举;当实施的项目困难系数比较高时,制作分配方案的过程会变得非常艰难。JSP也可以实现弱或强的分离利用静态HTML和动态之间的内容。
到现在为止,此项比较并不是让你不再继续使用Servlet,并且让JSP在编程开发时完全取代它。这两项技术都会出现在绝大部分的开发项目中。对于项目中的一些要求,你有可能会将这两种技术一起使用。我们一直都在希望能够使用合适的工具来完成需要完成的任务,如果在开发过程中只使用Srevlet,是不能满足我们的工作需求的。我们应该根据开发项目的需要,选择最适合、高效的技术与方法。
二、JSP在技术竞争时具有的优势
几年前,Marty受到邀请去参加一个小型的研究会,20个研究者相聚在一起共同讨论软件技术。这些学术界的名人坐在一起,将桌子团团围住。其中有一个名叫James Gosling的Java编程语言开发者坐在Marty的身边。隔几个位置的旁边,是从华盛顿一家非常大的软件公司来的高层经理。在研究会进行的过程中,研讨会的就Jini提出的题目向该经理问了他对这一问题的观点。经理对的提问进行了慎重地思考,然后回答道,他们公司会保持对该技术的持续关注,假如这项技术被开发者所广泛使用,他们将遵循公司的“容纳和扩展”战略。在这一点上,Gosling随口说了一句“你这句话的真实想法其实是既不接受也不扩展。”此时,Gosling的不满表现出他对这个公司有可能会做出从别的公司窃取技术行为的担忧。但是你猜结果会是什么样?这只鞋竟然跑到了另一只脚上。Java社团没有发明这一思想:页面设计为混合HTML静态和动态代码并标明特殊标签。GolgFusion已经这样做了很多年了,甚至广泛使用ASP这种方法在JSP开始运用之前。事实上,JSP不仅采用了一般想法,它甚至使用了许多与之相同的特殊标记。