草庐IT

Apache Tomcat选择哪个版本好?

狂龙骄子 2023-08-16 原文

不同的 Apache Tomcat版本对应不同版本的协议规范,请根据项目所用的技术栈选择合适的版本。

目录

1、协议规范和Apache Tomcat版本的映射关系

2、Apache Tomcat 10.1.x

3、Apache Tomcat 10.0.x

4、Apache Tomcat 9.x

5、Apache Tomcat 8.x

5.1、Apache Tomcat 8.0.x

5.2、Apache Tomcat 8.5.x


1、协议规范和Apache Tomcat版本的映射关系

Servlet SpecJSP SpecEL SpecWebSocket SpecAuthentication (JASPIC) SpecTomcat 版本最新Released版本支持的Java 版本
6.03.15.02.13.010.1.x10.1.0-M17 (beta)11 and later
5.03.04.02.02.010.0.x10.0.238 and later
4.02.33.01.11.19.0.x9.0.658 and later
3.12.33.01.11.18.5.x8.5.827 and later
3.12.33.01.1N/A8.0.x (superseded)8.0.53 (superseded)7 and later
3.02.22.21.1N/A7.0.x (archived)7.0.109 (archived)6 and later
(7 and later for WebSocket)
2.52.12.1N/AN/A6.0.x (archived)6.0.53 (archived)5 and later
2.42.0N/AN/AN/A5.5.x (archived)5.5.36 (archived)1.4 and later
2.31.2N/AN/AN/A4.1.x (archived)4.1.40 (archived)1.3 and later
2.21.1N/AN/AN/A3.3.x (archived)3.3.2 (archived)1.1 and later

访问早期版本应注意:

  • 最初的早期访问版本包含可能导致在 Tomcat 上运行的 Web 应用程序出现问题的错误并不罕见。
  • 如果新的 Java 版本引入了新的语言特性,那么默认的 JSP 编译器可能不会立即支持它们。将 JSP 编译器切换到 javac 可以使这些新的语言特性能够在 JSP 中使用。
  • 如果在使用 Java 早期访问版本时发现问题,请 寻求帮助

2、Apache Tomcat 10.1.x

        Apache Tomcat 10.1.x是当前的开发重点。它基于 Tomcat 10.0.x 构建,并实现了Servlet 6.0JSP TBDEL TBDWebSocket TBD Authentication TBD规范(Jakarta EE 10 平台所需的版本)。

3、Apache Tomcat 10.0.x

        Apache Tomcat 10.0.x基于 Tomcat 9.0.x 构建,并实现了Servlet 5.0JSP 3.0、 EL 4.0WebSocket 2.0和 Authentication 2.0规范(Jakarta EE 9 平台所需的版本)。

4、Apache Tomcat 9.x

        Apache Tomcat 9.x建立在 Tomcat 8.0.x 和 8.5.x 之上,并实现了Servlet 4.0JSP 2.3、 EL 3.0WebSocket 1.1和 JASPIC 1.1规范(Java EE 8 平台所需的版本)。除此之外,它还包括以下重大改进:

  • 添加对 HTTP/2 的支持(需要在 Java 9 上运行(自 Apache Tomcat 9.0.0.M18 起)或安装Tomcat Native库)
  • 通过 JSSE 连接器(NIO 和 NIO2)添加对使用 OpenSSL 的 TLS 支持的支持
  • 添加对 TLS 虚拟主机 (SNI) 的支持

5、Apache Tomcat 8.x

5.1、Apache Tomcat 8.0.x

        基于 Tomcat 7.0.x 构建,并实现了 Servlet 3.1JSP 2.3EL 3.0 和WebSocket 1.1规范。除此之外,它还包括以下重大改进:

  • 用于替换早期版本中提供的多个资源扩展功能的单个通用资源实现。

说明:

        Tomcat 8.0 现已 结束生命周期,应尽快升级到 Tomcat 8.5.x 或更高版本,有关迁移到 Tomcat 8.5 的指导,请参阅 迁移指南

5.2、Apache Tomcat 8.5.x

        支持与 Apache Tomcat 8.0.x 相同的 Servlet、JSP、EL 和 WebSocket 规范版本。除此之外,它还实现了JASPIC 1.1规范。它创建于 2016 年 3 月,作为 Tomcat 9.0.0.M4(alpha)里程碑版本的一个分支。它提供来自 Tomcat 9.x 代码库的 HTTP/2 支持和其他功能,同时兼容 Tomcat 8.0 运行时和规范要求

重大改进:

  • 添加对 HTTP/2 的支持(需要Tomcat Native库)
  • 通过 JSSE 连接器(NIO 和 NIO2)添加对使用 OpenSSL 的 TLS 支持的支持
  • 添加对 TLS 虚拟主机 (SNI) 的支持

删除内容:

  • HTTP 和 AJP 连接器的 BIO 实现
  • 支持彗星API


参考:

有关Apache Tomcat选择哪个版本好?的更多相关文章

  1. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  2. ruby-on-rails - 在 ruby​​ .gemspec 文件中,如何指定依赖项的多个版本? - 2

    我正在尝试修改当前依赖于定义为activeresource的gem:s.add_dependency"activeresource","~>3.0"为了让gem与Rails4一起工作,我需要扩展依赖关系以与activeresource的版本3或4一起工作。我不想简单地添加以下内容,因为它可能会在以后引起问题:s.add_dependency"activeresource",">=3.0"有没有办法指定可接受版本的列表?~>3.0还是~>4.0? 最佳答案 根据thedocumentation,如果你想要3到4之间的所有版本,你可以这

  3. ruby-on-rails - 如果我将 ruby​​ 版本 2.5.1 与 rails 版本 2.3.18 一起使用会怎样? - 2

    如果我使用ruby​​版本2.5.1和Rails版本2.3.18会怎样?我有基于rails2.3.18和ruby​​1.9.2p320构建的rails应用程序,我只想升级ruby的版本,而不是rails,这可能吗?我必须面对哪些挑战? 最佳答案 GitHub维护apublicfork它有针对旧Rails版本的分支,有各种变化,它们一直在运行。有一段时间,他们在较新的Ruby版本上运行较旧的Rails版本,而不是最初支持的版本,因此您可能会发现一些关于需要向后移植的有用提示。不过,他们现在已经有几年没有使用2.3了,所以充其量只能让更

  4. ruby-on-rails - 获取 inf-ruby 以使用 ruby​​ 版本管理器 (rvm) - 2

    我安装了ruby​​版本管理器,并将RVM安装的ruby​​实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby​​。有没有办法让emacs像shell一样尊重ruby​​的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el

  5. ruby - Rails 3 的 RGB 颜色选择器 - 2

    状态:我正在构建一个应用程序,其中需要一个可供用户选择颜色的字段,该字段将包含RGB颜色代码字符串。我已经测试了一个看起来很漂亮但效果不佳的。它是“挑剔的颜色”,并托管在此存储库中:https://github.com/Astorsoft/picky-color.在这里我打开一个关于它的一些问题的问题。问题:请建议我在Rails3应用程序中使用一些颜色选择器。 最佳答案 也许页面上的列表jQueryUIDevelopment:ColorPicker为您提供开箱即用的产品。原因是jQuery现在包含在Rails3应用程序中,因此使用基

  6. ruby-on-rails - 如何在发布新的 Ruby 或 Rails 版本时收到通知? - 2

    有人知道在发布新版本的Ruby和Rails时收到电子邮件的方法吗?他们有邮件列表,RubyonRails有一个推特,但我不想听到那些随之而来的喧嚣,我只想知道什么时候发布新版本,尤其是那些有安全修复的版本。 最佳答案 从therailsblog获取提要.http://weblog.rubyonrails.org/feed/atom.xml 关于ruby-on-rails-如何在发布新的Ruby或Rails版本时收到通知?,我们在StackOverflow上找到一个类似的问题:

  7. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  8. ruby - 正则表达式在哪个位置失败? - 2

    我需要一个非常简单的字符串验证器来显示第一个符号与所需格式不对应的位置。我想使用正则表达式,但在这种情况下,我必须找到与表达式相对应的字符串停止的位置,但我找不到可以做到这一点的方法。(这一定是一种相当简单的方法……也许没有?)例如,如果我有正则表达式:/^Q+E+R+$/带字符串:"QQQQEEE2ER"期望的结果应该是7 最佳答案 一个想法:你可以做的是标记你的模式并用可选的嵌套捕获组编写它:^(Q+(E+(R+($)?)?)?)?然后你只需要计算你获得的捕获组的数量就可以知道正则表达式引擎在模式中停止的位置,你可以确定匹配结束

  9. ruby - 我正在学习编程并选择了 Ruby。我应该升级到 Ruby 1.9 吗? - 2

    我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or

  10. ruby-on-rails - Rails 单选按钮 - 模型中多列的一种选择 - 2

    我希望用户从一个模型的三个选项中选择一个。即我有一个模型视频,可以被评为正面/负面/未知目前我有三列bool值(pos/neg/unknown)。这是处理这种情况的最佳方式吗?为此,表单应该是什么样的?目前我有类似的东西但显然它允许多项选择,而我试图将它限制为只有一个..怎么办? 最佳答案 如果要使用字符串列,让我们说rating。然后在你的表单中:#...#...它只允许一个选择编辑完全相同但使用radio_button_tag: 关于ruby-on-rails-Rails单选按钮-模

随机推荐