Tomcat启动优化 - 扫描TLD文件

Tomcat启动优化 - 扫描TLD文件,第1张

开发的过程中,槐宏锋每次启动tomcat,日志中总会打印如下的警告。一直以来,都不影响项目的正常运行,所以,都置之不理。但是,昨天,在梳理日志打印内容的时候,我强迫症又犯了,就想对这个问题一探究竟。在网路上,一通搜索猛如虎,查到的答案都是二百五。实在是不能做种优雅的,把这个日志提示的问题解决掉。我就梳理总结一下,我自己的解决过程吧。

通读上面的警告信息,其中包含 TLD 这样一个关键词,我们就从这里入手。然后,顺藤摸瓜,发现这一步是为 JSP标签 功能服务的。我们搜索是从知识上层往下层发现的过程。真正要掌握知识,就需要从底层开始梳理,最后到达上层的应用。我就尝试通过这样一个逻辑来梳理一下。

翻译如下:

Tomcat又是如何参与到JSP的运行中呢?我们查下JSP原理,就可以知道:

JSP页面里包含了JSTL等这样的标签。我查了一圈,也没有看到对JSP标签有一个合理的解释。我理解一下,就是JSP标签就是把通用的、结构化的任务,比如迭代,条件判断,XML文档 *** 作等这些 *** 作抽象为一些标签,方便开发者使用。我们就拿JSTL标签库来举例吧。

Tomcat为了解析这些标签,就要寻找TLD配置文件。寻找这些配置文件,就要像大铅晌海捞针一般,去扫描每一个jar包里的内容。在项目依赖日益庞大的情况下,这项扫描工作就变得异常耗时了。

请看原来的启动耗时:

对比一下,优化之后的耗时:

可以说启动性能有了大幅提高,也说明扫描真的很耗时。

好了,说明白了警告信息背后的绝扰原理,那么解决起来,应该说就是轻而易举了吧。我们按照警告日志的指示来做:

看完注释,那个心啊,我就想起了康师傅说的一句话:低头走路,也要时不时抬头看看方向。所以,我们完全可以直接配置jarsToScan即可。

写到这里,我在想,上面所有的知识,都是我通过中文互联网找到的二手消息。有没有直接从官网去找一手的,没有被别人咀嚼过的内容呢?我想尝试一下。

这还是我在明确知道,我要找什么内容的情况下,不知道的话,真的是瞎子摸象了。这也是搜索引擎存在的意义了。

部分内容来自于: https://www.cnblogs.com/qqiua/p/9743348.html

1.

扫描后的文件一般稿歼虚都保存为图片格式的

JPG

或者tiff

或bmp都有。

2.

要修改的话

少量内容可以用PS修改

大量内容的话你可以用OCR软件把图片中的文字内容转为word格式,改察就可键燃以编辑了。

3.

TLD文件我倒是没有怎么接触过

也不太清楚用扫描打开

不过你可以试试用ultra

editor试试~~

用 WinRAR 或 WinZip 打开 那个 JDBC 4.0+ 的驱动程序,(早期版本的余带驱动程序是不支持的),你可以看到 META-INF 文件夹下面多出了一个文件,它里面写着驱动程序的名字。滚简JDBC  DriverManager 会自动搜索  META-INF/xxxxx 去尝试读取它找到的任何 jar 中的这个目录,如果有东西就会自动 Class.forName 加载它,这在 Java 中叫 Service Provider discovery 机制,自动发现,JSP 中的 tld 文件也是使用类似的机制,以前需要我们手工把它们配置在 web.xml  里面,后来不需要了,你可以找大毁裤一个 jstl.jar 打开来看看,设计原理是一样的。以后你可以模仿一样,在 META-INF 中添加一个东西来当然插件机制。扫描 META-INF 也可能由 JVM 自动来完成并添加它到 System.getProperties() 里面。

如图:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12298012.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存