Tomcat内核详解(十六):JSP编译器Jasper

本文详细介绍了Tomcat中的JSP核心引擎Jasper如何将JSP文件转化为Servlet,包括语法解析、访问者模式的应用及JSP编译后的Servlet形式。同时,还讲解了JSP文件到Class字节码的编译过程,以及Jasper如何自动检测JSP文件的更改。

Jasper模块是Tomcat的JSP核心引擎,我们知道JSP本质上是一个Servlet。

Tomcat使用Jasper对JSP语法进行解析,生成Servlet并生成Class字节码。另外,在运行的时候,Jasper还会检测JSP文件是否修改,如果修改,则会重新编译JSP文件。

1.从JSP到Servlet

1.语法树的生成——语法解析

2.语法树的遍历——访问者模式

访问者模式可以将数据结构和处理逻辑很好的解耦出来,这种模式可以很好的

3.JSP编译后的Servlet

2.从Servlet到Class字节码

1.JSR45标准

JSR-45规范的核心对象是资源映射表(Source Map),简称SMAP,这里只是JSP文件名以及行号的映射表,把这个映射表存放在Class文件中,在基于JPDA的调试工具中就可以通过此映射表获取到对应的JSP文件以及行号,向开发者提示对应JSP文件的信息;

2.JDT Compile编译器

优秀的编译器例如Eclipse JDT Java编译器和Ant编译器

3.Jasper自动检测机制

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值