jsp 的运行原理

简介: jsp 的运行原理

jsp 的本质 ,其实是一个 Servlet 程序。


首先我们去找到我们 Tomcat 的目录下的 work\Catalina\localhost 目录。当我们发布 day09 工程。并启动 Tomcat


服务器后。我们发现 在 work\Catalina\localhost 目录下多出来一个 day09 目录。


95afb854b0a244049b643350a4bec69e.png

一开始 day09 目录还是空目录。  

5002a84a24464f73bb7c8625d1c8d5cc.png


然后,我们在浏览器输入一个 jsp 文件的访问路径访问。 比如 http://127.0.0.1:8080/day09/index.jsp 访问 index.jsp 文件

day09 目录马上会生成 org\apache\jsp 目录。 并且在会中有两个文件。

3e149dbad34f4bd4a82f943db1f67c76.png

index_jsp.class 文件很明显是 index_jsp.java 源文件编译后的字节码文件。 那么 index_jsp.java 是个什么内容呢?


生成的 java 文件名,是以原来的文件名加上_jsp 得到。 xxxx_jsp.java 文件的名字 我们打开 index_jsp.java 文件查看里面的内容: 发现,生成的类继承于 HttpJspBase 类。这是一个 jsp 文件生成 Servlet 程序要继承的基类!!!


9f45e0b0ee1047a48acaafb6d7e8f4a7.png


于是,我们关联源代码。去查看一下 HttpJspBase 类的内容。从源码的类注释说明中,我们发现。HttpJspBase 这个 类就是所有 jsp 文件生成 Servlet 程序


需要去继承的基类。并且这个 HttpJspBase 类继承于 HttpServlet 类。所以 jsp 也是一个 Servlet 小程序。


7c3b8d1a61914c7ab853d94668af9877.png


我们分别在工程的 WebContent 目录下创建多个 jsp 文件。然后依次访问。它们都被翻译为.java 文件并编译成 为.class 字节码文件


66ea1f396d0a4cf1883e6ee67114c7fd.png

我们打开 index_jsp.java 文件查看里面的内容不难发现。jsp 中的 html 页面内容都被翻译到 Servlet 中的 service方法中直接输出


581f46804ab84bd8bb89b129e9edd250.png

小结:


从生成的文件我们不难发现一个规则。


a.jsp 翻译成 java 文件后的全名是 a_jsp.java 文件


b.jsp 翻译成 java 文件后的全名是 b_jsp.java 文件


那么 当我们访问 一个 xxx.jsp 文件后 翻译成 java 文件的全名是 xxx_jsp.java 文件


xxx_jsp.java 文件是一个 Servlet 程序。原来 jsp 中的 html 内容都被翻译到 Servlet 类的 service 方法中原样输出。


相关文章
|
7月前
|
Java
18JavaWeb基础 - 图解JSP输出缓冲区原理
18JavaWeb基础 - 图解JSP输出缓冲区原理
20 0
|
8月前
|
XML Java 数据库连接
jsp访问原理和跳转流程
jsp访问原理和跳转流程
61 0
|
2月前
|
前端开发 Java 数据库
【Spring原理进阶】SpringMVC调用链+JSP模板应用讲解
【Spring原理进阶】SpringMVC调用链+JSP模板应用讲解
|
4月前
|
前端开发 JavaScript Java
基于spring+jsp+mysql实现的Java web论坛系统【源码+数据库+指导运行】
基于spring+jsp+mysql实现的Java web论坛系统【源码+数据库+指导运行】
|
5月前
|
存储 Java
JSP原理以及基本语法
JSP原理以及基本语法
|
10月前
|
前端开发 Java 关系型数据库
欢迎来到Jsp编程课时十三——分解原理:构建自己的思路,目标更好的理解对数据的增伤改查的原理和过程。
欢迎来到Jsp编程课时十三——分解原理:构建自己的思路,目标更好的理解对数据的增伤改查的原理和过程。
72 0
|
Java 应用服务中间件
使用最新版IDEA(21.3.2)创建一个最小的JAVAWEB应用(JSP,Servlet运行方法)
1.IDEA内创建一个基于Tomcat的项目 首先新建一个普通的项目
233 1
使用最新版IDEA(21.3.2)创建一个最小的JAVAWEB应用(JSP,Servlet运行方法)
|
Java
IDEA运行jsp文件变成源码详细解决方案
IDEA运行jsp文件变成源码详细解决方案
365 0
IDEA运行jsp文件变成源码详细解决方案
|
Java 应用服务中间件
DreamWeaver CS5 搭建Tomcat服务器 运行Jsp文件
DreamWeaver CS5 搭建Tomcat服务器 运行Jsp文件
266 0
DreamWeaver CS5 搭建Tomcat服务器 运行Jsp文件
|
Java 应用服务中间件
JSP访问原理
JSP访问原理介绍
JSP访问原理