This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/master by this push: new 092badf Update Tomcat to use Jakarta EE 9 schema 092badf is described below commit 092badf63d7bc993b0efe48096f0e84b230d33db Author: Mark Thomas <ma...@apache.org> AuthorDate: Sun Jun 7 20:16:31 2020 +0100 Update Tomcat to use Jakarta EE 9 schema --- LICENSE | 13 +- conf/web.xml | 8 +- .../tomcat/util/descriptor/DigesterFactory.java | 9 + .../tomcat/util/descriptor/LocalResolver.java | 3 +- .../tomcat/util/descriptor/XmlIdentifiers.java | 6 + .../apache/tomcat/util/descriptor/web/WebXml.java | 7 +- res/INSTALLLICENSE | 13 +- res/META-INF/servlet-api.jar.license | 286 +++++++++++++++++++++ res/maven/tomcat-servlet-api.pom | 15 +- res/rat/rat-excludes.txt | 20 ++ .../servlet/resources/TestSchemaValidation.java | 17 +- test/org/apache/jasper/TestJspC.java | 8 + test/org/apache/jasper/compiler/TestJspConfig.java | 18 ++ test/org/apache/jasper/compiler/TestValidator.java | 25 ++ .../jasper/servlet/TestJspCServletContext.java | 13 +- .../tomcat/util/descriptor/web/TestWebXml.java | 2 +- .../web.xml => test/webapp-5.0/WEB-INF/tags11.tld | 34 ++- .../web.xml => test/webapp-5.0/WEB-INF/tags12.tld | 34 ++- .../web.xml => test/webapp-5.0/WEB-INF/tags20.tld | 34 ++- .../web.xml => test/webapp-5.0/WEB-INF/tags21.tld | 34 ++- {webapps/docs => test/webapp-5.0}/WEB-INF/web.xml | 21 +- .../web.xml => test/webapp-5.0/el-as-literal.jsp | 23 +- .../web.xml => test/webapp-5.0/tld-versions.jsp | 31 ++- test/webapp/WEB-INF/web.xml | 8 +- webapps/ROOT/WEB-INF/web.xml | 8 +- webapps/docs/WEB-INF/web.xml | 8 +- webapps/docs/changelog.xml | 11 + webapps/examples/WEB-INF/web.xml | 8 +- webapps/host-manager/WEB-INF/web.xml | 8 +- webapps/manager/WEB-INF/web.xml | 8 +- 30 files changed, 598 insertions(+), 135 deletions(-) diff --git a/LICENSE b/LICENSE index 5065e55..218e7fd 100644 --- a/LICENSE +++ b/LICENSE @@ -210,7 +210,14 @@ and license terms. Your use of these subcomponents is subject to the terms and conditions of the following licenses. -For the Eclipse JDT Core Batch Compiler (ecj-x.x.x.jar) component: +For the Eclipse JDT Core Batch Compiler (ecj-x.x.x.jar) component and the +following Jakarta EE Schemas: +- jakartaee_9.xsd +- jakarta_web-services_2_0.xsd +- jakarta_web-services_client_2_0.xsd +- jsp_3_0.xsd +- web-app_5_0.xsd +- web-commonn_5_0.xsd Eclipse Public License - v 2.0 @@ -475,8 +482,8 @@ No third-party beneficiary rights are created under this Agreement. Exhibit A - Form of Secondary Licenses Notice -"This Source Code may also be made available under the following -Secondary Licenses when the conditions for such availability set forth +"This Source Code may also be made available under the following +Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), version(s), and exceptions or additional permissions here}." diff --git a/conf/web.xml b/conf/web.xml index 2d08297..a0f604a 100644 --- a/conf/web.xml +++ b/conf/web.xml @@ -15,11 +15,11 @@ See the License for the specific language governing permissions and limitations under the License. --> -<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" +<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee - http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" - version="4.0"> + xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee + https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd" + version="5.0"> <!-- ======================== Introduction ============================== --> <!-- This document defines default values for *all* web applications --> diff --git a/java/org/apache/tomcat/util/descriptor/DigesterFactory.java b/java/org/apache/tomcat/util/descriptor/DigesterFactory.java index d920a44..9413de5 100644 --- a/java/org/apache/tomcat/util/descriptor/DigesterFactory.java +++ b/java/org/apache/tomcat/util/descriptor/DigesterFactory.java @@ -125,6 +125,15 @@ public class DigesterFactory { addSelf(systemIds, "web-common_4_0.xsd"); addSelf(systemIds, "javaee_8.xsd"); + // from JakartaEE 9 + add(systemIds, XmlIdentifiers.WEB_50_XSD, locationFor("web-app_5_0.xsd")); + add(systemIds, XmlIdentifiers.WEB_FRAGMENT_50_XSD, locationFor("web-fragment_5_0.xsd")); + addSelf(systemIds, "web-common_5_0.xsd"); + addSelf(systemIds, "jakartaee_9.xsd"); + addSelf(systemIds, "jsp_3_0.xsd"); + addSelf(systemIds, "jakartaee_web_services_2_0.xsd"); + addSelf(systemIds, "jakartaee_web_services_client_2_0.xsd"); + SERVLET_API_PUBLIC_IDS = Collections.unmodifiableMap(publicIds); SERVLET_API_SYSTEM_IDS = Collections.unmodifiableMap(systemIds); } diff --git a/java/org/apache/tomcat/util/descriptor/LocalResolver.java b/java/org/apache/tomcat/util/descriptor/LocalResolver.java index 37a952b..68516e5 100644 --- a/java/org/apache/tomcat/util/descriptor/LocalResolver.java +++ b/java/org/apache/tomcat/util/descriptor/LocalResolver.java @@ -40,7 +40,8 @@ public class LocalResolver implements EntityResolver2 { private static final String[] JAVA_EE_NAMESPACES = { XmlIdentifiers.JAVAEE_1_4_NS, XmlIdentifiers.JAVAEE_5_NS, - XmlIdentifiers.JAVAEE_7_NS}; + XmlIdentifiers.JAVAEE_7_NS, + XmlIdentifiers.JAKARTAEE_9_NS}; private final Map<String,String> publicIds; diff --git a/java/org/apache/tomcat/util/descriptor/XmlIdentifiers.java b/java/org/apache/tomcat/util/descriptor/XmlIdentifiers.java index 2309004..703a391 100644 --- a/java/org/apache/tomcat/util/descriptor/XmlIdentifiers.java +++ b/java/org/apache/tomcat/util/descriptor/XmlIdentifiers.java @@ -78,6 +78,12 @@ public final class XmlIdentifiers { public static final String WEB_40_XSD = JAVAEE_8_NS + "/web-app_4_0.xsd"; public static final String WEB_FRAGMENT_40_XSD = JAVAEE_8_NS + "/web-fragment_4_0.xsd"; + // from Jakarta EE 9 + public static final String JAKARTAEE_9_NS = "https://jakarta.ee/xml/ns/jakartaee"; + public static final String WEB_50_XSD = JAKARTAEE_9_NS + "/web-app_5_0.xsd"; + public static final String WEB_FRAGMENT_50_XSD = JAKARTAEE_9_NS + "/web-fragment_5_0.xsd"; + public static final String WEBSERVICES_20_XSD = JAKARTAEE_9_NS + "/jakartaee_web_services_2_0.xsd"; + private XmlIdentifiers() { } } \ No newline at end of file diff --git a/java/org/apache/tomcat/util/descriptor/web/WebXml.java b/java/org/apache/tomcat/util/descriptor/web/WebXml.java index 814c1d3..d13a439 100644 --- a/java/org/apache/tomcat/util/descriptor/web/WebXml.java +++ b/java/org/apache/tomcat/util/descriptor/web/WebXml.java @@ -182,6 +182,10 @@ public class WebXml extends XmlEncodingBase implements DocumentProperties.Charse majorVersion = 4; minorVersion = 0; break; + case "5.0": + majorVersion = 5; + minorVersion = 0; + break; default: log.warn(sm.getString("webXml.version.unknown", version)); } @@ -233,8 +237,7 @@ public class WebXml extends XmlEncodingBase implements DocumentProperties.Charse } // Derived major and minor version attributes - // Default to 4.0 until we know otherwise - private int majorVersion = 4; + private int majorVersion = 5; private int minorVersion = 0; public int getMajorVersion() { return majorVersion; } public int getMinorVersion() { return minorVersion; } diff --git a/res/INSTALLLICENSE b/res/INSTALLLICENSE index 5065e55..218e7fd 100644 --- a/res/INSTALLLICENSE +++ b/res/INSTALLLICENSE @@ -210,7 +210,14 @@ and license terms. Your use of these subcomponents is subject to the terms and conditions of the following licenses. -For the Eclipse JDT Core Batch Compiler (ecj-x.x.x.jar) component: +For the Eclipse JDT Core Batch Compiler (ecj-x.x.x.jar) component and the +following Jakarta EE Schemas: +- jakartaee_9.xsd +- jakarta_web-services_2_0.xsd +- jakarta_web-services_client_2_0.xsd +- jsp_3_0.xsd +- web-app_5_0.xsd +- web-commonn_5_0.xsd Eclipse Public License - v 2.0 @@ -475,8 +482,8 @@ No third-party beneficiary rights are created under this Agreement. Exhibit A - Form of Secondary Licenses Notice -"This Source Code may also be made available under the following -Secondary Licenses when the conditions for such availability set forth +"This Source Code may also be made available under the following +Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), version(s), and exceptions or additional permissions here}." diff --git a/res/META-INF/servlet-api.jar.license b/res/META-INF/servlet-api.jar.license index 8de5b22..609267d 100644 --- a/res/META-INF/servlet-api.jar.license +++ b/res/META-INF/servlet-api.jar.license @@ -562,3 +562,289 @@ COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 the Northern District of California and the state courts of the State of California, with venue lying in Santa Clara County, California. + +For the following Jakarta EE Schemas: +- jakartaee_9.xsd +- jakarta_web-services_2_0.xsd +- jakarta_web-services_client_2_0.xsd +- jsp_3_0.xsd +- web-app_5_0.xsd +- web-commonn_5_0.xsd + +Eclipse Public License - v 2.0 + + THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE + PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION + OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + + a) in the case of the initial Contributor, the initial content + Distributed under this Agreement, and + + b) in the case of each subsequent Contributor: + i) changes to the Program, and + ii) additions to the Program; + where such changes and/or additions to the Program originate from + and are Distributed by that particular Contributor. A Contribution + "originates" from a Contributor if it was added to the Program by + such Contributor itself or anyone acting on such Contributor's behalf. + Contributions do not include changes or additions to the Program that + are not Modified Works. + +"Contributor" means any person or entity that Distributes the Program. + +"Licensed Patents" mean patent claims licensable by a Contributor which +are necessarily infringed by the use or sale of its Contribution alone +or when combined with the Program. + +"Program" means the Contributions Distributed in accordance with this +Agreement. + +"Recipient" means anyone who receives the Program under this Agreement +or any Secondary License (as applicable), including Contributors. + +"Derivative Works" shall mean any work, whether in Source Code or other +form, that is based on (or derived from) the Program and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. + +"Modified Works" shall mean any work in Source Code or other form that +results from an addition to, deletion from, or modification of the +contents of the Program, including, for purposes of clarity any new file +in Source Code form that contains any contents of the Program. Modified +Works shall not include works that contain only declarations, +interfaces, types, classes, structures, or files of the Program solely +in each case in order to link to, bind by name, or subclass the Program +or Modified Works thereof. + +"Distribute" means the acts of a) distributing or b) making available +in any manner that enables the transfer of a copy. + +"Source Code" means the form of a Program preferred for making +modifications, including but not limited to software source code, +documentation source, and configuration files. + +"Secondary License" means either the GNU General Public License, +Version 2.0, or any later versions of that license, including any +exceptions or additional permissions as identified by the initial +Contributor. + +2. GRANT OF RIGHTS + + a) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free copyright + license to reproduce, prepare Derivative Works of, publicly display, + publicly perform, Distribute and sublicense the Contribution of such + Contributor, if any, and such Derivative Works. + + b) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free patent + license under Licensed Patents to make, use, sell, offer to sell, + import and otherwise transfer the Contribution of such Contributor, + if any, in Source Code or other form. This patent license shall + apply to the combination of the Contribution and the Program if, at + the time the Contribution is added by the Contributor, such addition + of the Contribution causes such combination to be covered by the + Licensed Patents. The patent license shall not apply to any other + combinations which include the Contribution. No hardware per se is + licensed hereunder. + + c) Recipient understands that although each Contributor grants the + licenses to its Contributions set forth herein, no assurances are + provided by any Contributor that the Program does not infringe the + patent or other intellectual property rights of any other entity. + Each Contributor disclaims any liability to Recipient for claims + brought by any other entity based on infringement of intellectual + property rights or otherwise. As a condition to exercising the + rights and licenses granted hereunder, each Recipient hereby + assumes sole responsibility to secure any other intellectual + property rights needed, if any. For example, if a third party + patent license is required to allow Recipient to Distribute the + Program, it is Recipient's responsibility to acquire that license + before distributing the Program. + + d) Each Contributor represents that to its knowledge it has + sufficient copyright rights in its Contribution, if any, to grant + the copyright license set forth in this Agreement. + + e) Notwithstanding the terms of any Secondary License, no + Contributor makes additional grants to any Recipient (other than + those set forth in this Agreement) as a result of such Recipient's + receipt of the Program under the terms of a Secondary License + (if permitted under the terms of Section 3). + +3. REQUIREMENTS + +3.1 If a Contributor Distributes the Program in any form, then: + + a) the Program must also be made available as Source Code, in + accordance with section 3.2, and the Contributor must accompany + the Program with a statement that the Source Code for the Program + is available under this Agreement, and informs Recipients how to + obtain it in a reasonable manner on or through a medium customarily + used for software exchange; and + + b) the Contributor may Distribute the Program under a license + different than this Agreement, provided that such license: + i) effectively disclaims on behalf of all other Contributors all + warranties and conditions, express and implied, including + warranties or conditions of title and non-infringement, and + implied warranties or conditions of merchantability and fitness + for a particular purpose; + + ii) effectively excludes on behalf of all other Contributors all + liability for damages, including direct, indirect, special, + incidental and consequential damages, such as lost profits; + + iii) does not attempt to limit or alter the recipients' rights + in the Source Code under section 3.2; and + + iv) requires any subsequent distribution of the Program by any + party to be under a license that satisfies the requirements + of this section 3. + +3.2 When the Program is Distributed as Source Code: + + a) it must be made available under this Agreement, or if the + Program (i) is combined with other material in a separate file or + files made available under a Secondary License, and (ii) the initial + Contributor attached to the Source Code the notice described in + Exhibit A of this Agreement, then the Program may be made available + under the terms of such Secondary Licenses, and + + b) a copy of this Agreement must be included with each copy of + the Program. + +3.3 Contributors may not remove or alter any copyright, patent, +trademark, attribution notices, disclaimers of warranty, or limitations +of liability ("notices") contained within the Program from any copy of +the Program which they Distribute, provided that Contributors may add +their own appropriate notices. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities +with respect to end users, business partners and the like. While this +license is intended to facilitate the commercial use of the Program, +the Contributor who includes the Program in a commercial product +offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes +the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and indemnify every +other Contributor ("Indemnified Contributor") against any losses, +damages and costs (collectively "Losses") arising from claims, lawsuits +and other legal actions brought by a third party against the Indemnified +Contributor to the extent caused by the acts or omissions of such +Commercial Contributor in connection with its distribution of the Program +in a commercial product offering. The obligations in this section do not +apply to any claims or Losses relating to any actual or alleged +intellectual property infringement. In order to qualify, an Indemnified +Contributor must: a) promptly notify the Commercial Contributor in +writing of such claim, and b) allow the Commercial Contributor to control, +and cooperate with the Commercial Contributor in, the defense and any +related settlement negotiations. The Indemnified Contributor may +participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those performance +claims and warranties, and if a court requires any other Contributor to +pay any damages as a result, the Commercial Contributor must pay +those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT +PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" +BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR +IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF +TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR +PURPOSE. Each Recipient is solely responsible for determining the +appropriateness of using and distributing the Program and assumes all +risks associated with its exercise of rights under this Agreement, +including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs +or equipment, and unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT +PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS +SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST +PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE +EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further +action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other software +or hardware) infringes such Recipient's patent(s), then such Recipient's +rights granted under Section 2(b) shall terminate as of the date such +litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of +time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use +and distribution of the Program as soon as reasonably practicable. +However, Recipient's obligations under this Agreement and any licenses +granted by Recipient relating to the Program shall continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, +but in order to avoid inconsistency the Agreement is copyrighted and +may only be modified in the following manner. The Agreement Steward +reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement +Steward has the right to modify this Agreement. The Eclipse Foundation +is the initial Agreement Steward. The Eclipse Foundation may assign the +responsibility to serve as the Agreement Steward to a suitable separate +entity. Each new version of the Agreement will be given a distinguishing +version number. The Program (including Contributions) may always be +Distributed subject to the version of the Agreement under which it was +received. In addition, after a new version of the Agreement is published, +Contributor may elect to Distribute the Program (including its +Contributions) under the new version. + +Except as expressly stated in Sections 2(a) and 2(b) above, Recipient +receives no rights or licenses to the intellectual property of any +Contributor under this Agreement, whether expressly, by implication, +estoppel or otherwise. All rights in the Program not expressly granted +under this Agreement are reserved. Nothing in this Agreement is intended +to be enforceable by any entity that is not a Contributor or Recipient. +No third-party beneficiary rights are created under this Agreement. + +Exhibit A - Form of Secondary Licenses Notice + +"This Source Code may also be made available under the following +Secondary Licenses when the conditions for such availability set forth +in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), +version(s), and exceptions or additional permissions here}." + + Simply including a copy of this Agreement, including this Exhibit A + is not sufficient to license the Source Code under Secondary Licenses. + + If it is not possible or desirable to put the notice in a particular + file, then You may include the notice in a location (such as a LICENSE + file in a relevant directory) where a recipient would be likely to + look for such a notice. + + You may add additional accurate notices of copyright ownership. diff --git a/res/maven/tomcat-servlet-api.pom b/res/maven/tomcat-servlet-api.pom index 5879d17..526e4e8 100644 --- a/res/maven/tomcat-servlet-api.pom +++ b/res/maven/tomcat-servlet-api.pom @@ -29,11 +29,13 @@ <license> <name> Apache License, Version 2.0 and - Common Development And Distribution License (CDDL) Version 1.0 + Common Development And Distribution License (CDDL) Version 1.0 and + Eclipse Public License - v 2.0 </name> <url> http://www.apache.org/licenses/LICENSE-2.0.txt and - http://www.opensource.org/licenses/cddl1.txt + http://www.opensource.org/licenses/cddl1.txt and + https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt </url> <distribution>repo</distribution> <comments> @@ -59,7 +61,14 @@ web-app_4_0.xsd, web-common_4_0.xsd, web-fragment_4_0.xsd, - to which the CDDL version 1.0 applies. + to which the CDDL version 1.0 applies and + jakartaee_9.xsd + jakarta_web-services_2_0.xsd + jakarta_web-services_client_2_0.xsd + jsp_3_0.xsd + web-app_5_0.xsd + web-commonn_5_0.xsd + to which the EPLv2 applies. </comments> </license> </licenses> diff --git a/res/rat/rat-excludes.txt b/res/rat/rat-excludes.txt index 2bafb4e..ba3eaca 100644 --- a/res/rat/rat-excludes.txt +++ b/res/rat/rat-excludes.txt @@ -114,65 +114,85 @@ java/jakarta/servlet/resources/javaee_5.xsd java/jakarta/servlet/resources/javaee_6.xsd java/jakarta/servlet/resources/javaee_7.xsd java/jakarta/servlet/resources/javaee_8.xsd +java/jakarta/servlet/resources/jakartaee_9.xsd java/jakarta/servlet/resources/javaee_web_services_1_2.xsd java/jakarta/servlet/resources/javaee_web_services_1_3.xsd java/jakarta/servlet/resources/javaee_web_services_1_4.xsd +java/jakarta/servlet/resources/jakartaee_web_services_2_0.xsd java/jakarta/servlet/resources/javaee_web_services_client_1_2.xsd java/jakarta/servlet/resources/javaee_web_services_client_1_3.xsd java/jakarta/servlet/resources/javaee_web_services_client_1_4.xsd +java/jakarta/servlet/resources/jakartaee_web_services_client_2_0.xsd java/jakarta/servlet/resources/jsp_2_2.xsd java/jakarta/servlet/resources/jsp_2_3.xsd +java/jakarta/servlet/resources/jsp_3_0.xsd java/jakarta/servlet/resources/web-app_3_0.xsd java/jakarta/servlet/resources/web-app_3_1.xsd java/jakarta/servlet/resources/web-app_4_0.xsd +java/jakarta/servlet/resources/web-app_5_0.xsd java/jakarta/servlet/resources/web-common_3_0.xsd java/jakarta/servlet/resources/web-common_3_1.xsd java/jakarta/servlet/resources/web-common_4_0.xsd +java/jakarta/servlet/resources/web-common_5_0.xsd java/jakarta/servlet/resources/web-fragment_3_0.xsd java/jakarta/servlet/resources/web-fragment_3_1.xsd java/jakarta/servlet/resources/web-fragment_4_0.xsd +java/jakarta/servlet/resources/web-fragment_5_0.xsd output/classes/jakarta/servlet/resources/javaee_5.xsd output/classes/jakarta/servlet/resources/javaee_6.xsd output/classes/jakarta/servlet/resources/javaee_7.xsd output/classes/jakarta/servlet/resources/javaee_8.xsd +output/classes/jakarta/servlet/resources/jakartaee_9.xsd output/classes/jakarta/servlet/resources/javaee_web_services_1_2.xsd output/classes/jakarta/servlet/resources/javaee_web_services_1_3.xsd output/classes/jakarta/servlet/resources/javaee_web_services_1_4.xsd +output/classes/jakarta/servlet/resources/jakartaee_web_services_2_0.xsd output/classes/jakarta/servlet/resources/javaee_web_services_client_1_2.xsd output/classes/jakarta/servlet/resources/javaee_web_services_client_1_3.xsd output/classes/jakarta/servlet/resources/javaee_web_services_client_1_4.xsd +output/classes/jakarta/servlet/resources/jakartaee_web_services_client_1_4.xsd output/classes/jakarta/servlet/resources/jsp_2_2.xsd output/classes/jakarta/servlet/resources/jsp_2_3.xsd +output/classes/jakarta/servlet/resources/jsp_3_0.xsd output/classes/jakarta/servlet/resources/web-app_3_0.xsd output/classes/jakarta/servlet/resources/web-app_3_1.xsd output/classes/jakarta/servlet/resources/web-app_4_0.xsd +output/classes/jakarta/servlet/resources/web-app_5_0.xsd output/classes/jakarta/servlet/resources/web-common_3_0.xsd output/classes/jakarta/servlet/resources/web-common_3_1.xsd output/classes/jakarta/servlet/resources/web-common_4_0.xsd output/classes/jakarta/servlet/resources/web-fragment_3_0.xsd output/classes/jakarta/servlet/resources/web-fragment_3_1.xsd output/classes/jakarta/servlet/resources/web-fragment_4_0.xsd +output/classes/jakarta/servlet/resources/web-fragment_5_0.xsd output/dist/src/java/jakarta/servlet/resources/javaee_5.xsd output/dist/src/java/jakarta/servlet/resources/javaee_6.xsd output/dist/src/java/jakarta/servlet/resources/javaee_7.xsd output/dist/src/java/jakarta/servlet/resources/javaee_8.xsd +output/dist/src/java/jakarta/servlet/resources/jakartaee_9.xsd output/dist/src/java/jakarta/servlet/resources/javaee_web_services_1_2.xsd output/dist/src/java/jakarta/servlet/resources/javaee_web_services_1_3.xsd output/dist/src/java/jakarta/servlet/resources/javaee_web_services_1_4.xsd +output/dist/src/java/jakarta/servlet/resources/jakartaee_web_services_2_0.xsd output/dist/src/java/jakarta/servlet/resources/javaee_web_services_client_1_2.xsd output/dist/src/java/jakarta/servlet/resources/javaee_web_services_client_1_3.xsd output/dist/src/java/jakarta/servlet/resources/javaee_web_services_client_1_4.xsd +output/dist/src/java/jakarta/servlet/resources/jakartaee_web_services_client_2_0.xsd output/dist/src/java/jakarta/servlet/resources/jsp_2_2.xsd output/dist/src/java/jakarta/servlet/resources/jsp_2_3.xsd +output/dist/src/java/jakarta/servlet/resources/jsp_3_0.xsd output/dist/src/java/jakarta/servlet/resources/web-app_3_0.xsd output/dist/src/java/jakarta/servlet/resources/web-app_3_1.xsd output/dist/src/java/jakarta/servlet/resources/web-app_4_0.xsd +output/dist/src/java/jakarta/servlet/resources/web-app_5_0.xsd output/dist/src/java/jakarta/servlet/resources/web-common_3_0.xsd output/dist/src/java/jakarta/servlet/resources/web-common_3_1.xsd output/dist/src/java/jakarta/servlet/resources/web-common_4_0.xsd +output/dist/src/java/jakarta/servlet/resources/web-common_5_0.xsd output/dist/src/java/jakarta/servlet/resources/web-fragment_3_0.xsd output/dist/src/java/jakarta/servlet/resources/web-fragment_3_1.xsd output/dist/src/java/jakarta/servlet/resources/web-fragment_4_0.xsd +output/dist/src/java/jakarta/servlet/resources/web-fragment_5_0.xsd output/dist/src/res/checkstyle/header-al2.txt res/checkstyle/header-al2.txt diff --git a/test/jakarta/servlet/resources/TestSchemaValidation.java b/test/jakarta/servlet/resources/TestSchemaValidation.java index 8a9a500..d47d2b2 100644 --- a/test/jakarta/servlet/resources/TestSchemaValidation.java +++ b/test/jakarta/servlet/resources/TestSchemaValidation.java @@ -39,7 +39,7 @@ public class TestSchemaValidation { digester.push(new WebXml()); WebXml desc = (WebXml) digester.parse( new File("test/webapp/WEB-INF/web.xml")); - Assert.assertEquals("4.0", desc.getVersion()); + Assert.assertEquals("5.0", desc.getVersion()); Assert.assertEquals(0, handler.getErrors().size()); Assert.assertEquals(0, handler.getWarnings().size()); } @@ -143,4 +143,19 @@ public class TestSchemaValidation { Assert.assertEquals(0, handler.getErrors().size()); Assert.assertEquals(0, handler.getWarnings().size()); } + + @Test + public void testWebapp_5_0() throws Exception { + XmlErrorHandler handler = new XmlErrorHandler(); + Digester digester = DigesterFactory.newDigester( + true, true, new WebRuleSet(false), true); + digester.setErrorHandler(handler); + digester.push(new WebXml()); + WebXml desc = (WebXml) digester.parse( + new File("test/webapp-5.0/WEB-INF/web.xml")); + Assert.assertEquals("5.0", desc.getVersion()); + Assert.assertEquals(0, handler.getErrors().size()); + Assert.assertEquals(0, handler.getWarnings().size()); + } + } diff --git a/test/org/apache/jasper/TestJspC.java b/test/org/apache/jasper/TestJspC.java index 9014039..bee686b 100644 --- a/test/org/apache/jasper/TestJspC.java +++ b/test/org/apache/jasper/TestJspC.java @@ -103,6 +103,14 @@ public class TestJspC { verify(webappOut); } + @Test + public void precompileWebapp_5_0() throws IOException { + File appDir = new File("test/webapp-5.0"); + File webappOut = new File(outputDir, appDir.getName()); + precompile(appDir, webappOut); + verify(webappOut); + } + private void verify(File webappOut) { // for now, just check some expected files exist Assert.assertTrue(new File(webappOut, "generated_web.xml").exists()); diff --git a/test/org/apache/jasper/compiler/TestJspConfig.java b/test/org/apache/jasper/compiler/TestJspConfig.java index 21a1464..e9f6c1d 100644 --- a/test/org/apache/jasper/compiler/TestJspConfig.java +++ b/test/org/apache/jasper/compiler/TestJspConfig.java @@ -157,4 +157,22 @@ public class TestJspConfig extends TomcatBaseTest { Assert.assertTrue(result.indexOf("<p>00-hello world</p>") > 0); } + + @Test + public void testServlet50NoEL() throws Exception { + Tomcat tomcat = getTomcatInstance(); + + File appDir = new File("test/webapp-5.0"); + // app dir is relative to server home + tomcat.addWebapp(null, "/test", appDir.getAbsolutePath()); + + tomcat.start(); + + ByteChunk res = getUrl("http://localhost:" + getPort() + + "/test/el-as-literal.jsp"); + + String result = res.toString(); + + Assert.assertTrue(result.indexOf("<p>00-hello world</p>") > 0); + } } diff --git a/test/org/apache/jasper/compiler/TestValidator.java b/test/org/apache/jasper/compiler/TestValidator.java index 248e3cb..1cef422 100644 --- a/test/org/apache/jasper/compiler/TestValidator.java +++ b/test/org/apache/jasper/compiler/TestValidator.java @@ -218,6 +218,31 @@ public class TestValidator extends TomcatBaseTest { Assert.assertTrue(result.indexOf("<p>06-hello world</p>") > 0); } + @Test + public void testTldVersions50() throws Exception { + Tomcat tomcat = getTomcatInstance(); + + File appDir = + new File("test/webapp-5.0"); + // app dir is relative to server home + tomcat.addWebapp(null, "/test", appDir.getAbsolutePath()); + + tomcat.start(); + + ByteChunk res = getUrl("http://localhost:" + getPort() + + "/test/tld-versions.jsp"); + + String result = res.toString(); + + Assert.assertTrue(result.indexOf("<p>00-hello world</p>") > 0); + Assert.assertTrue(result.indexOf("<p>#{'01-hello world'}</p>") > 0); + Assert.assertTrue(result.indexOf("<p>02-hello world</p>") > 0); + Assert.assertTrue(result.indexOf("<p>#{'03-hello world'}</p>") > 0); + Assert.assertTrue(result.indexOf("<p>04-hello world</p>") > 0); + Assert.assertTrue(result.indexOf("<p>#{'05-hello world'}</p>") > 0); + Assert.assertTrue(result.indexOf("<p>06-hello world</p>") > 0); + } + public static class Echo extends TagSupport { private static final long serialVersionUID = 1L; diff --git a/test/org/apache/jasper/servlet/TestJspCServletContext.java b/test/org/apache/jasper/servlet/TestJspCServletContext.java index df1728c..4fbcd51 100644 --- a/test/org/apache/jasper/servlet/TestJspCServletContext.java +++ b/test/org/apache/jasper/servlet/TestJspCServletContext.java @@ -34,7 +34,7 @@ public class TestJspCServletContext { File appDir = new File("test/webapp"); JspCServletContext context = new JspCServletContext( null, appDir.toURI().toURL(), null, false, false); - Assert.assertEquals(4, context.getEffectiveMajorVersion()); + Assert.assertEquals(5, context.getEffectiveMajorVersion()); Assert.assertEquals(0, context.getEffectiveMinorVersion()); JspConfigDescriptor jspConfigDescriptor = context.getJspConfigDescriptor(); @@ -123,13 +123,22 @@ public class TestJspCServletContext { Assert.assertEquals(0, context.getEffectiveMinorVersion()); } + @Test + public void testWebapp_5_0() throws Exception { + File appDir = new File("test/webapp-5.0"); + JspCServletContext context = new JspCServletContext( + null, appDir.toURI().toURL(), null, false, false); + Assert.assertEquals(5, context.getEffectiveMajorVersion()); + Assert.assertEquals(0, context.getEffectiveMinorVersion()); + } + @Test public void testWebresources() throws Exception { File appDir = new File("test/webresources/dir1"); JspCServletContext context = new JspCServletContext( null, appDir.toURI().toURL(), null, false, false); - Assert.assertEquals(4, context.getEffectiveMajorVersion()); + Assert.assertEquals(5, context.getEffectiveMajorVersion()); Assert.assertEquals(0, context.getEffectiveMinorVersion()); } diff --git a/test/org/apache/tomcat/util/descriptor/web/TestWebXml.java b/test/org/apache/tomcat/util/descriptor/web/TestWebXml.java index 2c0195e..d68605c 100644 --- a/test/org/apache/tomcat/util/descriptor/web/TestWebXml.java +++ b/test/org/apache/tomcat/util/descriptor/web/TestWebXml.java @@ -46,7 +46,7 @@ public class TestWebXml { WebXml webxml = new WebXml(); // Defaults - Assert.assertEquals(4, webxml.getMajorVersion()); + Assert.assertEquals(5, webxml.getMajorVersion()); Assert.assertEquals(0, webxml.getMinorVersion()); // Both get changed diff --git a/webapps/docs/WEB-INF/web.xml b/test/webapp-5.0/WEB-INF/tags11.tld similarity index 55% copy from webapps/docs/WEB-INF/web.xml copy to test/webapp-5.0/WEB-INF/tags11.tld index 9d9fd36..3c7ae98 100644 --- a/webapps/docs/WEB-INF/web.xml +++ b/test/webapp-5.0/WEB-INF/tags11.tld @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> +<?xml version="1.0" encoding="ISO-8859-1" ?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with @@ -14,16 +14,24 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> -<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee - http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" - version="4.0" - metadata-complete="true"> +--><!DOCTYPE taglib + PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" + "http://java.sun.com/dtd/web-jsptaglibrary_1_1.dtd"> +<taglib> + <tlibversion>1.0</tlibversion> + <jspversion>1.1</jspversion> + <shortname>Tags11</shortname> + <uri>http://tomcat.apache.org/tags11</uri> - <display-name>Tomcat Documentation</display-name> - <description> - Tomcat Documentation. - </description> -</web-app> + <tag> + <name>Echo</name> + <tagclass>org.apache.jasper.compiler.TestValidator$Echo</tagclass> + <bodycontent>empty</bodycontent> + <attribute> + <name>echo</name> + <required>yes</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + </tag> + +</taglib> \ No newline at end of file diff --git a/webapps/docs/WEB-INF/web.xml b/test/webapp-5.0/WEB-INF/tags12.tld similarity index 55% copy from webapps/docs/WEB-INF/web.xml copy to test/webapp-5.0/WEB-INF/tags12.tld index 9d9fd36..533235b 100644 --- a/webapps/docs/WEB-INF/web.xml +++ b/test/webapp-5.0/WEB-INF/tags12.tld @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> +<?xml version="1.0" encoding="ISO-8859-1" ?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with @@ -14,16 +14,24 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> -<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee - http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" - version="4.0" - metadata-complete="true"> +--><!DOCTYPE taglib + PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" + "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> +<taglib> + <tlib-version>1.0</tlib-version> + <jsp-version>1.2</jsp-version> + <short-name>Tags12</short-name> + <uri>http://tomcat.apache.org/tags12</uri> - <display-name>Tomcat Documentation</display-name> - <description> - Tomcat Documentation. - </description> -</web-app> + <tag> + <name>Echo</name> + <tag-class>org.apache.jasper.compiler.TestValidator$Echo</tag-class> + <body-content>empty</body-content> + <attribute> + <name>echo</name> + <required>yes</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + </tag> + +</taglib> \ No newline at end of file diff --git a/webapps/docs/WEB-INF/web.xml b/test/webapp-5.0/WEB-INF/tags20.tld similarity index 52% copy from webapps/docs/WEB-INF/web.xml copy to test/webapp-5.0/WEB-INF/tags20.tld index 9d9fd36..056c484 100644 --- a/webapps/docs/WEB-INF/web.xml +++ b/test/webapp-5.0/WEB-INF/tags20.tld @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> +<?xml version="1.0" encoding="ISO-8859-1" ?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with @@ -14,16 +14,24 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> -<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee - http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" - version="4.0" - metadata-complete="true"> +--><taglib xmlns="http://java.sun.com/xml/ns/j2ee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee + http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" + version="2.0"> + <tlib-version>1.0</tlib-version> + <short-name>Tags20</short-name> + <uri>http://tomcat.apache.org/tags20</uri> - <display-name>Tomcat Documentation</display-name> - <description> - Tomcat Documentation. - </description> -</web-app> + <tag> + <name>Echo</name> + <tag-class>org.apache.jasper.compiler.TestValidator$Echo</tag-class> + <body-content>empty</body-content> + <attribute> + <name>echo</name> + <required>yes</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + </tag> + +</taglib> \ No newline at end of file diff --git a/webapps/docs/WEB-INF/web.xml b/test/webapp-5.0/WEB-INF/tags21.tld similarity index 52% copy from webapps/docs/WEB-INF/web.xml copy to test/webapp-5.0/WEB-INF/tags21.tld index 9d9fd36..4a19675 100644 --- a/webapps/docs/WEB-INF/web.xml +++ b/test/webapp-5.0/WEB-INF/tags21.tld @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> +<?xml version="1.0" encoding="ISO-8859-1" ?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with @@ -14,16 +14,24 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> -<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee - http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" - version="4.0" - metadata-complete="true"> +--><taglib xmlns="http://java.sun.com/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee + http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" + version="2.1"> + <tlib-version>1.0</tlib-version> + <short-name>Tags21</short-name> + <uri>http://tomcat.apache.org/tags21</uri> - <display-name>Tomcat Documentation</display-name> - <description> - Tomcat Documentation. - </description> -</web-app> + <tag> + <name>Echo</name> + <tag-class>org.apache.jasper.compiler.TestValidator$Echo</tag-class> + <body-content>empty</body-content> + <attribute> + <name>echo</name> + <required>yes</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + </tag> + +</taglib> \ No newline at end of file diff --git a/webapps/docs/WEB-INF/web.xml b/test/webapp-5.0/WEB-INF/web.xml similarity index 55% copy from webapps/docs/WEB-INF/web.xml copy to test/webapp-5.0/WEB-INF/web.xml index 9d9fd36..2e26fb5 100644 --- a/webapps/docs/WEB-INF/web.xml +++ b/test/webapp-5.0/WEB-INF/web.xml @@ -15,15 +15,22 @@ See the License for the specific language governing permissions and limitations under the License. --> -<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" +<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee - http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" - version="4.0" + xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee + https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd" + version="5.0" metadata-complete="true"> - <display-name>Tomcat Documentation</display-name> + <display-name>Tomcat Servlet 5.0 Tests</display-name> <description> - Tomcat Documentation. + Provides a web application used by the Tomcat unit tests to ensure that + Tomcat meets the requirements of the current JSP and Servlet specification + for web applications that declare that they follow version 5.0 of the + Servlet specification and version 3.0 of the JSP specification. This + typically means ensuring that features introduced in later versions of the + specification do not change the behaviour of applications that declared an + earlier version of the specification. </description> -</web-app> + +</web-app> \ No newline at end of file diff --git a/webapps/ROOT/WEB-INF/web.xml b/test/webapp-5.0/el-as-literal.jsp similarity index 63% copy from webapps/ROOT/WEB-INF/web.xml copy to test/webapp-5.0/el-as-literal.jsp index d94a86b..f48e114 100644 --- a/webapps/ROOT/WEB-INF/web.xml +++ b/test/webapp-5.0/el-as-literal.jsp @@ -1,5 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- +<%-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. @@ -14,17 +13,9 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> -<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee - http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" - version="4.0" - metadata-complete="true"> - - <display-name>Welcome to Tomcat</display-name> - <description> - Welcome to Tomcat - </description> - -</web-app> +--%> +<html> + <body> + <p>00-${'hello world'}</p> + </body> +</html> \ No newline at end of file diff --git a/webapps/ROOT/WEB-INF/web.xml b/test/webapp-5.0/tld-versions.jsp similarity index 56% copy from webapps/ROOT/WEB-INF/web.xml copy to test/webapp-5.0/tld-versions.jsp index d94a86b..debf250 100644 --- a/webapps/ROOT/WEB-INF/web.xml +++ b/test/webapp-5.0/tld-versions.jsp @@ -1,5 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- +<%-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. @@ -14,17 +13,17 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> -<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee - http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" - version="4.0" - metadata-complete="true"> - - <display-name>Welcome to Tomcat</display-name> - <description> - Welcome to Tomcat - </description> - -</web-app> +--%> +<html><body> +<%@ taglib prefix="tags11" uri="http://tomcat.apache.org/tags11" %> +<%@ taglib prefix="tags12" uri="http://tomcat.apache.org/tags12" %> +<%@ taglib prefix="tags20" uri="http://tomcat.apache.org/tags20" %> +<%@ taglib prefix="tags21" uri="http://tomcat.apache.org/tags21" %> +<tags11:Echo echo="${'00-hello world'}"/> +<tags11:Echo echo="#{'01-hello world'}"/> +<tags12:Echo echo="${'02-hello world'}"/> +<tags12:Echo echo="#{'03-hello world'}"/> +<tags20:Echo echo="${'04-hello world'}"/> +<tags20:Echo echo="#{'05-hello world'}"/> +<tags21:Echo echo="${'06-hello world'}"/> +</body></html> \ No newline at end of file diff --git a/test/webapp/WEB-INF/web.xml b/test/webapp/WEB-INF/web.xml index 4a7aa78..d5a3c95 100644 --- a/test/webapp/WEB-INF/web.xml +++ b/test/webapp/WEB-INF/web.xml @@ -15,11 +15,11 @@ See the License for the specific language governing permissions and limitations under the License. --> -<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" +<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee - http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" - version="4.0" + xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee + https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd" + version="5.0" metadata-complete="true"> <display-name>Tomcat Test Application</display-name> diff --git a/webapps/ROOT/WEB-INF/web.xml b/webapps/ROOT/WEB-INF/web.xml index d94a86b..fdbcca0 100644 --- a/webapps/ROOT/WEB-INF/web.xml +++ b/webapps/ROOT/WEB-INF/web.xml @@ -15,11 +15,11 @@ See the License for the specific language governing permissions and limitations under the License. --> -<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" +<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee - http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" - version="4.0" + xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee + https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd" + version="5.0" metadata-complete="true"> <display-name>Welcome to Tomcat</display-name> diff --git a/webapps/docs/WEB-INF/web.xml b/webapps/docs/WEB-INF/web.xml index 9d9fd36..e1abb10 100644 --- a/webapps/docs/WEB-INF/web.xml +++ b/webapps/docs/WEB-INF/web.xml @@ -15,11 +15,11 @@ See the License for the specific language governing permissions and limitations under the License. --> -<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" +<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee - http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" - version="4.0" + xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee + https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd" + version="5.0" metadata-complete="true"> <display-name>Tomcat Documentation</display-name> diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index b91a6c6..f377b44 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -57,6 +57,9 @@ Implement a significant portion of the TLS environment variables for the rewrite valve. (remm) </update> + <add> + Add the Jakarta EE 9 schema. (markt) + </add> </changelog> </subsection> <subsection name="Coyote"> @@ -68,6 +71,14 @@ </add> </changelog> </subsection> + <subsection name="Web Applications"> + <changelog> + <update> + Update all web applications to use the Jakarta EE 9 schema for web.xml. + (markt) + </update> + </changelog> + </subsection> </section> <section name="Tomcat 10.0.0-M6 (markt)" rtext="2020-06-07"> <subsection name="Catalina"> diff --git a/webapps/examples/WEB-INF/web.xml b/webapps/examples/WEB-INF/web.xml index 8f86f5f..993f808 100644 --- a/webapps/examples/WEB-INF/web.xml +++ b/webapps/examples/WEB-INF/web.xml @@ -15,11 +15,11 @@ See the License for the specific language governing permissions and limitations under the License. --> -<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" +<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee - http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" - version="4.0" + xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee + https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd" + version="5.0" metadata-complete="true"> <description> diff --git a/webapps/host-manager/WEB-INF/web.xml b/webapps/host-manager/WEB-INF/web.xml index e9faa2c..0582072 100644 --- a/webapps/host-manager/WEB-INF/web.xml +++ b/webapps/host-manager/WEB-INF/web.xml @@ -15,11 +15,11 @@ See the License for the specific language governing permissions and limitations under the License. --> -<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" +<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee - http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" - version="4.0" + xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee + https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd" + version="5.0" metadata-complete="true"> <display-name>Tomcat Host Manager Application</display-name> diff --git a/webapps/manager/WEB-INF/web.xml b/webapps/manager/WEB-INF/web.xml index e73aae0..30705e2 100644 --- a/webapps/manager/WEB-INF/web.xml +++ b/webapps/manager/WEB-INF/web.xml @@ -15,11 +15,11 @@ See the License for the specific language governing permissions and limitations under the License. --> -<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" +<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee - http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" - version="4.0" + xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee + https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd" + version="5.0" metadata-complete="true"> <display-name>Tomcat Manager Application</display-name> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org