【webapp】JSP工作原理和过程

发布时间 2023-10-08 11:32:14作者: wp7ers
  1. JSP 编译:当客户端请求访问一个 JSP 页面时,Web 服务器首先检查是否已经编译过该 JSP 页面。如果没有编译过或者源文件已更改,服务器会将 JSP 文件编译成一个 Servlet 源文件。

  2. Servlet 编译:编译后的 Servlet 源文件进一步被编译成 Java 字节码文件,这个过程由服务器的 JSP 引擎完成。编译后的 Servlet 类继承自 HttpServlet 类,并实现了 JspPage 接口,它包含了 JSP 页面的定义、脚本和表达式。

  3. Servlet 实例化:每当有客户端请求访问该 JSP 页面时,服务器会实例化这个 Servlet 类,创建一个 Servlet 对象。

  4. 初始化和加载:Servlet 对象的初始化由容器(如 Tomcat)负责处理。在初始化阶段,Servlet 可以执行一些必要的操作,如加载数据库驱动程序、建立数据库连接等。

  5. 执行过程:当客户端请求访问 JSP 页面时,Servlet 对象会被调用。Servlet 会执行与 JSP 页面相关的 Java 代码,包括脚本和表达式。这些代码可以访问和处理请求的参数、会话数据和其他相关信息。

  6. 生成响应:Servlet 会生成动态内容作为响应,并将其发送回客户端。动态内容可以包含 HTML、CSS、JavaScript 和其他服务器端生成的数据。

  7. 销毁:在 Web 应用程序关闭或重新部署时,Servlet 对象会被销毁。在销毁阶段,Servlet 可以执行一些清理操作,如关闭数据库连接、释放资源等。

  JSP 页面的代码混合了 HTML 和 Java 代码,使得开发人员能够更方便地生成动态内容。在 JSP 页面编译和执行过程中,服务器会将 HTML 静态内容保持不变,并在需要时执行嵌入的 Java 代码,从而生成动态内容