Java 的 JSP(Java Server Pages)运行原理可以概括为:JSP 本质上是一个 Servlet,在第一次被访问时由容器翻译成 Servlet 并编译执行。下面按执行流程详细说明。
JSP 是 Java Web 中用于动态生成 HTML 页面的技术。
表面上像 HTML,实际上:
<% %>、<%= %>)浏览器 → 请求 xxx.jsp
Web 容器(如 Tomcat)检查:
如果:
➡ 需要重新翻译
容器把 .jsp 文件转换成:
xxx_jsp.java
示例转换规则:
out.write("html")<% %> → Java 代码<%= %> → out.print().class 文件xxx_jsp.java → xxx_jsp.class
JspServletservice() 方法.class✅ 所以 第一次慢,后面快
| 阶段 | 说明 |
|---|---|
| 翻译 | jsp → java |
| 编译 | java → class |
| 初始化 | jspInit() |
| 处理请求 | jspService() |
| 销毁 | jspDestroy() |
JSP
↓ 翻译
Servlet
↓ 编译
.class
↓ 执行
HTML 响应
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<body>
<%
String name = "Tom";
%>
<h1>Hello <%= name %></h1>
</body>
</html>
out.write("<h1>Hello ");
out.print(name);
out.write("</h1>");
JSP 是“披着 HTML 外衣的 Servlet”,首次访问时由容器翻译成 Servlet 并编译执行,之后直接运行编译后的类。
如果你愿意,我也可以帮你画执行流程图或对比 JSP / Servlet / Thymeleaf 的区别。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。