本章要点
JSP的基础是Servlet
掌握JSP的运行机制
掌握JSP的语法,包括指令元素、脚本元素、动作元素
掌握JSP的隐含对象
掌握对象和范围
编写留言板程序
了解JSP文档
在前面的章节中我们看到,使用Servlet产生动态网页,需要在代码中打印输出很多HTML的标签。此外,在Servlet中,我们不得不将静态显示的内容和动态产生内容的代码混合在一起。使用Servlet开发动态网页,程序员和网页编辑人员将无法一起工作,因为网页编辑人员不了解Java语言,无法修改Servlet的代码。为了解决这些问题,Sun公司后来又推出了JSP(Java Server Pages)技术。目前最新的JSP规范的版本是2.2,对应Servlet规范3.0.
本章将介绍JSP的运行机制、JSP的语法和JSP的隐含对象,以及JSP文档。
18.1 JSP简介
JSP是一种建立在Servlet规范功能之上的动态网页技术。和ASP类似,它们都是在通常的网页文件中嵌入脚本代码,用于产生动态内容,不过JSP文件中嵌入的是Java代码和JSP标记。
JSP文件在用户第一次请求时,会被编译成Servlet,然后再由这个Servlet处理用户的请求,所以JSP也可以看成是运行时的Servlet.既然JSP也是Servlet,那么我们为什么还要使用JSP呢?或者说JSP和Servlet的区别是什么呢?
Servlet是Java对CGI的回应。它们在服务器上执行和解释浏览器的请求,承担客户端和其他应用程序之间的中间层的角色。Servlet主要是把动态的内容混合到静态的内容中以产生HTML.
JSP页面在HTML元素中嵌入Java脚本代码和JSP标记,使得文件长度变短,格式更加清晰。另一方面,JSP把静态和动态的内容分离开来,实现了内容和表示的分离。
使用JSP,不需要单独配置每一个文件,只要扩展名是。jsp,JSP容器(也是Servlet容器)就会自动识别,将其转换为Servlet为客户端服务。术语Web容器和JSP容器是同义的。