问题
Every tutorial for the upgrade to Spring 5 has tomcat 8.5+ as a requirement but no detailed explanation. The application that I want to upgrade should not run as a standalone application with an embedded webserver, but beeing deployed on a tomcat 6, which we cannot upgrade for several reasons.
回答1:
As @procrastinate_later points out, Spring 5 actually requires Servlet 3.1 (and Tomcat 8.5.x).
Spring 5 has initially was expected to have Servlet 3.0+ minimum requirement which supported only from tomcat 7
We’ll definitely raise to Servlet 3.0+ (from our present Servlet 2.5 runtime compatibility)
So you need to upgrade to at least Tomcat 7.
回答2:
Looking at the What's New in Spring Framework 5.x documentation:
Java EE 7 API level required in Spring's corresponding features now.
- Servlet 3.1, Bean Validation 1.1, JPA 2.1, JMS 2.0
- Recent servers: e.g. Tomcat 8.5+, Jetty 9.4+, WildFly 10+
Cross-referencing this with the Apache Tomcat Which Version documentation, Tomcat 8.0 would be sufficient for the Servlet 3.1 requirement, but Tomcat 8.0 has been superseded by Tomcat 8.5+, as stated in the Which Version (Tomcat 8.x) documentation:
Tomcat 8.5 is thought as a replacement for Tomcat 8.0. Please refer to Migration guide for guidance on migrating to Tomcat 8.5....Users of Tomcat 8.0 should be aware that Tomcat 8.0 has now reached end of life. Users of Tomcat 8.0.x should upgrade to Tomcat 8.5.x or later.
来源:https://stackoverflow.com/questions/50970272/does-upgrade-to-spring-5-require-tomcat-8-5