【webapp】JSP工作原理和过程
-
JSP 编译:当客户端请求访问一个 JSP 页面时,Web 服务器首先检查是否已经编译过该 JSP 页面。如果没有编译过或者源文件已更改,服务器会将 JSP 文件编译成一个 Servlet 源文件。
-
Servlet 编译:编译后的 Servlet 源文件进一步被编译成 Java 字节码文件,这个过程由服务器的 JSP 引擎完成。编译后的 Servlet 类继承自 HttpServlet 类,并实现了 JspPage 接口,它包含了 JSP 页面的定义、脚本和表达式。
-
Servlet 实例化:每当有客户端请求访问该 JSP 页面时,服务器会实例化这个 Servlet 类,创建一个 Servlet 对象。
-
初始化和加载:Servlet 对象的初始化由容器(如 Tomcat)负责处理。在初始化阶段,Servlet 可以执行一些必要的操作,如加载数据库驱动程序、建立数据库连接等。
-
执行过程:当客户端请求访问 JSP 页面时,Servlet 对象会被调用。Servlet 会执行与 JSP 页面相关的 Java 代码,包括脚本和表达式。这些代码可以访问和处理请求的参数、会话数据和其他相关信息。
-
生成响应:Servlet 会生成动态内容作为响应,并将其发送回客户端。动态内容可以包含 HTML、CSS、JavaScript 和其他服务器端生成的数据。
-
销毁:在 Web 应用程序关闭或重新部署时,Servlet 对象会被销毁。在销毁阶段,Servlet 可以执行一些清理操作,如关闭数据库连接、释放资源等。
JSP 页面的代码混合了 HTML 和 Java 代码,使得开发人员能够更方便地生成动态内容。在 JSP 页面编译和执行过程中,服务器会将 HTML 静态内容保持不变,并在需要时执行嵌入的 Java 代码,从而生成动态内容
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)