温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java JSP页面运行原理是什么

发布时间:2026-09-12 00:52:45 来源:亿速云 阅读:94 作者:小樊 栏目:编程语言

Java 的 JSP(Java Server Pages)运行原理可以概括为:JSP 本质上是一个 Servlet,在第一次被访问时由容器翻译成 Servlet 并编译执行。下面按执行流程详细说明。


一、JSP 是什么

JSP 是 Java Web 中用于动态生成 HTML 页面的技术。
表面上像 HTML,实际上:

  • 可以写 Java 代码(<% %>、<%= %>)
  • 最终会被 Web 容器(如 Tomcat)转换成 Servlet

二、JSP 的运行流程(核心原理)

1️⃣ 客户端请求 JSP

浏览器 → 请求 xxx.jsp

2️⃣ 容器判断 JSP 是否需要翻译

Web 容器(如 Tomcat)检查:

  • JSP 文件是否存在
  • JSP 是否被修改过

如果:

  • 第一次访问
  • JSP 文件被修改

➡ 需要重新翻译


3️⃣ JSP 被翻译成 Java 文件(Servlet)

容器把 .jsp 文件转换成:

xxx_jsp.java

示例转换规则:

  • HTML → out.write("html")
  • <% %> → Java 代码
  • <%= %> → out.print()

4️⃣ 编译成 .class 文件

xxx_jsp.java → xxx_jsp.class

5️⃣ 由 JVM 执行 Servlet

  • 创建 JspServlet
  • 调用 service() 方法
  • 向客户端输出 HTML

6️⃣ 后续访问(性能优化)

  • 如果 JSP 没变
  • 直接执行已编译的 .class

✅ 所以 第一次慢,后面快


三、JSP 生命周期(和 Servlet 类似)

阶段 说明
翻译 jsp → java
编译 java → class
初始化 jspInit()
处理请求 jspService()
销毁 jspDestroy()

四、JSP 和 Servlet 的关系图

JSP
 ↓ 翻译
Servlet
 ↓ 编译
.class
 ↓ 执行
HTML 响应

五、简单示例

JSP 页面

<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<body>
<%
    String name = "Tom";
%>
<h1>Hello <%= name %></h1>
</body>
</html>

实际等价于 Servlet 中的:

out.write("<h1>Hello ");
out.print(name);
out.write("</h1>");

六、总结一句话

JSP 是“披着 HTML 外衣的 Servlet”,首次访问时由容器翻译成 Servlet 并编译执行,之后直接运行编译后的类。

如果你愿意,我也可以帮你画执行流程图或对比 JSP / Servlet / Thymeleaf 的区别。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手