JSP的生命周期
Java Server Page 生命周期定义为从创建开始的过程,该过程随后转换为 servlet,随后 servlet 生命周期开始发挥作用。这就是这个过程一直持续到它被破坏的方式。
JSP生命周期涉及以下步骤:
- JSP 页面到 Servlet 的翻译
- JSP页面编译(JSP编译成Java)
- 类加载(Java到 test.class)
- 实例化(创建生成的 Servlet 的对象)
- 初始化(容器调用jspInit()方法)
- 请求处理(_jspService()被容器调用)
- JSP 清理(容器调用 jspDestroy() 方法)
We can override jspInit(), jspDestroy() but we can’t override _jspService() method.
JSP 页面到 Servlet 的翻译:
这是 JSP 生命周期的第一步。这个翻译阶段处理 JSP 的句法正确性。这里 test.jsp 文件被翻译为测试。Java
JSP页面的编译:
这里生成的Java servlet 文件(Java)被编译成一个类文件(test.class)。
类加载:
从 JSP 源加载的 Servlet 类现在加载到容器中。
实例化:
这里生成了一个类的实例。容器通过提供对请求的响应来管理一个或多个实例。
初始化:
jspInit() 方法在从 JSP 生成 Servlet 实例之后的生命周期中只调用一次。
请求处理:
_jspService() 方法用于为 JSP 提出的请求提供服务。它将请求和响应对象作为参数。此方法不能被覆盖。
JSP 清理:
为了从容器的使用中删除 JSP 或销毁 servlet 的方法,使用了 jspDestroy() 方法。这个方法被调用一次,如果你需要执行任何清理任务,比如关闭打开的文件,释放数据库连接 jspDestroy() 可以被覆盖。