本期,边肖将为您带来如何理解Tomcat版本差异的信息。文章内容丰富,从专业角度进行分析和描述。希望你看完这篇文章能有所收获。
从这个角度来看,在项目调试的时候,有同事遇到了跨域的问题。我记得Tomcat提供了一个过滤器来实现跨域(CORS过滤器,之前写过Tomcat和跨域问题)。在我的印象中,从Tomcat7开始,我告诉人们直接将其部署到Tomcat 7中,并在应用的web.xml中配置CorsFilter,仅此而已。
结果人们没多久就饶有兴趣地部署起来,发现不仅不成功,应用程序启动也不成功。
什么,谁在做什么?
从服务器上拉下catalina.jar,果然没有对应的类。所以,问题很明显。服务器上使用的版本没有提供CorsFilter。我应该升级到哪个版本才能使用?
最简单的方法就是直接下载最新版本的Tomat 7.x。如果真的想知道下一个支持CorsFilter的最低版本该怎么办?
还有一次,同事在离线服务器上测试了一个功能,本地功能验证正常,但是放在离线时功能没有达到预期。后来经过各种调试分析,发现离线服务器不支持Jasper的一个功能,才发现本地服务器和离线版本少了一个版本。
所以,这里我们一起来看两个问题:
服务器上使用的是什么版本?
Tomcat在哪个版本中提供了这个特性,以及每次迭代之间的差异?
版本确定
如何确定当前使用的Tomcat版本?
Tomcat的安装目录中有这样一个文件:RELEASE-NOTES。
看,在许可证信息下,当前Tomcat版本显示在文件夹上方的中央。
Apache Tomcat 7 . 0 . xx版本(这里是版本号)
发布说明
除了版本信息,还有一些功能,比如提供和更改。
此外,Tomcat的bin目录中还有一个版本脚本文件。运行时可以知道当前的CATALINA_HOME、CATALINA_BASE、JRE_HOME、Tomcat版本、JDK版本等信息。
当然,还有一种更常见的,甚至不需要登录服务器。只要不针对项目的错误页面做特殊设置(错误页面错误-页面的原理),在请求一个不存在的资源时,会显示下面的错误页面,页面底部会显示Tomcat的版本号。
版本间差异
在确定了您当前使用的版本、如何选择目标版本,或者要知道某个功能在哪个版本中提供后,您需要知道这个:
俗称changelog.
Tomcat的每个版本都会提供一个变更日志摘要。你可以在文档页面的底部看到像Apache Tomcat Developers这样的部分,这是为开发人员准备的,第二项是我们感兴趣的变更日志。
变更日志页面包含许多信息,例如
Bug可以直接链接到其对应的bug系统,可以查看一些详细的修订记录。
新增加的功能
做了哪些改进,以及对改进的描述?
并且这些是按照模块分块列出的,如下图所示。
有两个模块,郊狼和卡特琳娜。每个带有链接的bugId都可以直接跳转到bug系统,bug系统包含详细的bug信息、环境描述、附件,以及开发者之间的一些处理建议和修订记录。(这种报告bug的方式值得我们在遇到问题、寻求帮助时学习,提供环境和异常的完整信息。如何求助——Tomcat官方推荐这个)
像我们前面提到的CorsFilter一样,我们可以在这里找到它,这样我们就可以确保专门增加这个实现的版本。
同样,对于某个特性的实现,可以在changelog中找到。如果你当前版本之后的某个版本被修改了,你可以直接升级到对应的版本,从里面也可以了解到一些处理的细节。
以上小系列分享的Tomcat版本的差异就是这样理解的。如果你恰好也有类似的疑惑,可以参考上面的分析来理解。想了解更多,请关注行业信息渠道。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/138402.html