jsp的本质及jsp九大内置对象四大域对象

jsp 的本质是什么

jsp 页面本质上是一个 Servlet 程序。
当我们第一次访问 jsp 页面的时候。Tomcat 服务器会帮我们把 jsp 页面翻译成为一个 java 源文件。并且对它进行编译成 为.class 字节码程序。我们可以通过idea运行部署到tomcat的路径中找到源文件
jsp的本质及jsp九大内置对象四大域对象
jsp的本质及jsp九大内置对象四大域对象
访问到这个文件夹后会发现这里为空
那我们去请求jsp页面 这个时候里面就会生成
jsp的本质及jsp九大内置对象四大域对象
jsp的本质及jsp九大内置对象四大域对象
我们打开 java 源文件不难发现其里面的内容是:

jsp的本质及jsp九大内置对象四大域对象

我们跟踪原代码发现,HttpJspBase 类。它直接地继承了 HttpServlet 类。也就是说。jsp 翻译出来的 java 类,它间接了继 承了 HttpServlet 类。也就是说,翻译出来的是一个 Servlet 程序
jsp的本质及jsp九大内置对象四大域对象

通过翻译的 java 源代码我们就可以得到结果:jsp 就是 Servlet 程序

jsp 九大内置对象

jsp 中的内置对象,是指 Tomcat 在翻译 jsp 页面成为 Servlet 源代码后,内部提供的九大对象,叫内置对象。
jsp的本质及jsp九大内置对象四大域对象

jsp 四大域对象

四个域对象分别是:

pageContext (PageContextImpl 类) 当前 jsp 页面范围内有效
request (HttpServletRequest 类) 一次请求内有效
session (HttpSession 类) 一个会话范围内有效(打开浏览器访问服务器,直到关闭浏览器)
application (ServletContext 类) 整个 web 工程范围内都有效(只要 web 工程不停止,数据都在)