JSP

来自计算思维百科
跳转至: 导航搜索

JSP(Java Server Pages)技术可以以一种简捷的方法生成Web页面,动态地显示页面内容。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器、应用服务器、浏览器和开发工具共同工作。在Sun正式发布JSP之后,这种新的Web应用开发技术很快引起了人们的关注。JSP为创建高度动态的Web应用提供了一个独特的开发环境。按照 Sun 的说法,JSP能够适应市场上包括Apache WebServer 、IIS4.0在内的85%的服务器产品。

很多人发现,JSP与Microsoft的ASP技术非常相似。事实上,两者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。在ASP或JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的HTML页面只依赖于Web服务器,而ASP和JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。ASP和JSP都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。

另一方面,在编程语言上两种有着最明显的区别:ASP的编程语言是VBScript之类的脚本语言,JSP使用的是Java。此外,ASP与JSP还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在ASP下,VBScript代码被ASP引擎解释执行;在JSP下,代码被编译成Servlet并由Java虚拟机执行,这种编译操作仅在对JSP页面的第一次请求时发生。

Java Servlet是JSP技术的基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。Servlet这个名称源于Applet,现在国内的翻译方式很多,可以称为“小服务程序”。在使用Java Servlet以后,用户不必再使用效率低下的CGI方式,也不必使用在某个固定Web服务器平台运行的API方式来动态生成Web页面。许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。得益于Java的跨平台性,Servlet也是平台无关的,事实上,只要符合Java Servlet规范,Servlet是完全与平台无关且与Web服务器无关的。

但是Java Servlet也不是没有缺点的,和传统的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用输出HTML语句来实现动态网页的,如果用Java Servlet来开发整个网站,动态部分和静态页面的整合过程将会非常难以实现。为了解决Java Servlet的这种缺点,SUN推出了JSP。