早期的网站一般是用标准的HTML文件也 就是静态网页制作的,通常没有后台数据库、 不能和用户交互,内容更新起来相对也比较 麻烦,适用于一些不需要经常更新的展示型 网站。而动态网页上显示的内容不是固定的, 是根据服务器执行代码的结果,来确定具体 的显示内容的,这些内容可能随着时间、环 境或者用户操作的改变而发生改变,能实现 很多静态网页不能实现的功能
JSP是由Sun公司倡导、许多公司参与共 同建立的。自从1998年Sun公司推出JSP0.9 后,包括IBM、甲骨文、微软公司在内的许 多大公司相继宣布支持JSP技术的服务器,使 得JSP迅速成为主流商业应用的服务器端、动 态Web技术。
和同一家族的Servlet一样,JSP是在服 务器端执行的,执行后通常返回给客户端一 个HTML文本,客户端只要有浏览器就能浏 览。所以,JSP是一个服务器端的脚本语言, 它的全名就是Java Server Pages。
和微软的ASP/ASP.NET技术类似,JSP 也是在传统的网页文件,也就是HTML文件 中,插入同样由Sun公司出品的Java代码段 和JSP标记,来构成JSP文件,文件扩展名就 是.jsp。
在Web应用开发技术体系中, JSP是 Web层技术,主要负责动态地生成应用程序 的用户界面。
JSP就是一个简化的Servlet设计,是在 Servlet基础上开发的技术,继承了Servlet的 各项优秀功能。虽然,JSP本质上并没有增加 Servlet不能实现的功能,但程序员使用JSP 技术开发页面更方便。更重要的是,我们可 以分别用JSP来实现页面展示,用Servlet来 完成业务逻辑的处理,从而实现界面展现和 业务逻辑处理的分离。
JSP的特点
JSP不仅拥有Java强大的API功能,而且 不管是什么平台,只要服务器支持JSP,就可 以运行使用JSP开发的Web应用程序,这就 体现了它的跨平台、跨服务器的特点。此外, 支持多种平台的Web服务器Apache也支持 JSP,Java API提供的JDBC也是独立于平台 的。应用JSP开发的Web应用程序能够很简 单地应用到不同的平台上。
使用JSP可以方便地分离静态内容和动 态内容。使用JSP,程序员可以使用HTML或 XML标记来设计静态内容,通过JSP标记及 JavaBean组件来制作动态内容,从而有效地 将静态的HTML代码和动态数据区分开来, 给程序的修改和扩展带来了很大方便,这也 是我们用JSP代替Java Servlet开发Web应用 的重要原因之一。
JavaBean组件不仅可以在JSP中使用, 也可以在其他Java应用程序中使用。此外, JSP的标准标签和自定义标签也可以一次生 成、重复使用。这些标签通常实现了特定功 能,它们的重复使用可以把一个复杂、而且 需要出现多次的操作一次定义、多次实现。
JSP继承了Java Servlet的所有功能且 更加简单易学。服务器在执行JSP文件时, 会先把JSP文件转换成Servlet代码,然后再 进行编译,可以说JSP就是Servlet,创建一 个JSP文件其实就是创建一个Servlet文件的 简化操作,Servlet中的所有特性在JSP中同 样可以使用。
JSP页面在被服务器执行前,都是已经 被编译好的,并且通常只编译一次,也就是 在JSP页面被第一次请求的时候才编译,在 后续的请求中,如果JSP页面没有被修改过, 服务器就直接调用以前编译好的代码,这就 能显著提高访问速度