1.1 JSP的诞生
在互联网的普及和发展的最初阶段,Web应用全部是静态的HTML页面。这种静态网页的内容在设计时就确定好了,如要修改或维护页面就必须对HTML源代码进行修改。而客户端的浏览者只能浏览HTML页面里的一些固定的文本信息,不具备与用户交互的能力和动态显示功能。
随着Internet技术的不断深入,人们希望Web网页应该具备与用户交互的能力,因而出现了最早的CGI(通用网关接口)技术。CGI技术引入了“动态内容”的思想,能够根据需要随时生成Web网页内容,具有交互性。CGI技术开启了动态Web应用的先河,但这种技术在开发动态Web应用时难度过大,而且在性能等各个方面也存在着很多限制。
1994年,Rasmus Lerdorf发明了专用于Web服务端编程的PHP(Personal Home Page Tools)语言。它将HTML和PHP指令合成为完整的服务端动态页面,从而使开发者可以以更加简便、快捷的方式实现动态交互技术。
直到1996年,微软公司借鉴PHP的思想,开发出了ASP(Active Server Page,意为“动态服务器页面”),并代替CGI技术成为了新一代的Web交互技术。ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序;可以与数据库和其他程序进行交互;可以包含HTML标记、普通文本、脚本命令以及COM组件等,是一种简单、方便的编程工具。
当ASP技术作为动态Web开发技术迅速成为了Windows系统下Web服务端的主流开发技术时,由Sun公司带领的Java团队也不甘示弱。1997年,Servlet技术问世;1998年,Sun公司发布了JSP标准,从某种程度上来说,这是为了对抗微软的ASP动态Web编程技术。JSP和ASP两者都是动态Web编程技术,也都可以嵌入HTML中,但是它们的运行机制不同,这主要是因为ASP使用VBScript作为脚本语言,无需编译;而JSP则使用Java作为脚本语言,JSP必须编译成Servlet,才可以执行JSP页面。JSP和Servlet、JavaBean技术的组合,大大提高了编译运行的执行效率,并逐渐发展成为J2EE平台的核心技术之一。