如何了解Tomcat小版本差异

这期内容当中小编将会给大家带来有关如何了解Tomcat小版本差异,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

事情从这儿说起,项目里调试的时候,一个同事遇到了跨域的问题,我记得Tomcat有提供Filter来实现跨域(CORS Filter,之前写过Tomcat与跨域问题),印象里是从Tomcat 7开始,就告诉人家直接部署到Tomcat7里,在应用的web.xml里配置CorsFilter就完事了。

结果没多久人家兴致勃勃的部署完发现不光没成功,而且应用都启动不成功了。

啥,谁在搞事情?

把catalina.jar从服务器上拉下来,果然没有对应的class存在。所以问题很明白,是服务器上使用的版本还没提供CorsFilter,那要升级到哪个版本才能用呢?

最简单的办法是直接下载Tomat 7.x的最新版本。那如果确实想了解下最低一个支持CorsFilter的版本,该怎么办呢?

还有一次,同事在线下服务器测试一个功能,本地功能验证正常,放到线下时功能不符合预期,后来各种debug分析,发现Jasper的一个特性实现在线下服务器还不支持,才发现是本地服务器和线下的小版本差了1个小版本。

所以,这里我们一起看两个问题:

  • 服务器上使用的是什么版本

  • Tomcat在哪个版本提供的这一特性,以及各个小版本间的差异

版本确定

如何确定当前使用的Tomcat版本呢?

在Tomcat的安装目录下有这样一个文件:RELEASE-NOTES

打开看,在License信息的下方,第一屏的中心位置就显示了当前Tomcat的版本

Apache Tomcat Version 7.0.xx  (这里就是版本号)

               Release Notes

除了版本信息,还有一些特性的提供,变更等。

此外,在Tomcat的bin目录下,有一个version的脚本文件,运行下,可以了解当前的CATALINA_HOME,CATALINA_BASE,JRE_HOME, Tomcat版本、JDK版本等信息

当然,还有一种更常见的,甚至不需要登录到服务器,只要你没有对项目的错误页(error-page, 错误页面error-page的原理)做特别的设置,那么在请求一个不存在的资源时,一定会显示下面这样一个错误页面,页面的下方会显示Tomcat的版本号。

如何了解Tomcat小版本差异  tomcat 第1张

版本间差异

确定了自己当前使用的版本,那怎样选择目标版本,或者说想了解某个特性是在具体的哪一版本提供时,就需要了解这个:

一般都称为changelog

每个Tomcat的版本,都会提供一个changelog汇总,可以在Docs的页面下方看到Apache Tomcat Developers这样的一节,是为开发者提供的,第二项就是我们感兴趣的Changelog

如何了解Tomcat小版本差异  tomcat 第2张

changelog页面会包含许多信息,例如

  • bug,可以直接链接到其对应的bug系统里,可以查看详细的一些修订记录

  • 新添加的feature

  • 做了哪些改进,改进说明

而且这些是按照模块来分块罗列的,例如下面这个图

如何了解Tomcat小版本差异  tomcat 第3张

分Coyote和Catalina两个模块,每个带有链接的bugId,可以直接跳转到bug系统,里面饮食详细的bug信息,环境描述,附件等,以及开发者之间的一些处理建议,修订记录。(这种报bug的方式,值得我们在遇到问题寻求帮助时学习,把环境,异常信息提供完整。如何寻求帮助-Tomcat官方建议这样做)

像我们前面提到的CorsFilter,就可以在这里找到,这样就可以确定具体增加该实现的版本了。

如何了解Tomcat小版本差异  tomcat 第4张

同样的,对于某个特性的实现,可以在changelog里找,在你当前版本之后的某个版本做了修订的,可以直接升级到对应版本即可,而且从中,也能了解一些处理的细节。

上述就是小编为大家分享的如何了解Tomcat小版本差异了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注蜗牛博客行业资讯频道。

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

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram