[574177] Servlet 5 project deployment descriptor generates with 2.4 schema
diff --git a/plugins/org.eclipse.jst.j2ee.core/jee-models/org/eclipse/jst/javaee/web/WebAppVersionType.java b/plugins/org.eclipse.jst.j2ee.core/jee-models/org/eclipse/jst/javaee/web/WebAppVersionType.java
index ddcaa9b..973e200 100644
--- a/plugins/org.eclipse.jst.j2ee.core/jee-models/org/eclipse/jst/javaee/web/WebAppVersionType.java
+++ b/plugins/org.eclipse.jst.j2ee.core/jee-models/org/eclipse/jst/javaee/web/WebAppVersionType.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
+ * Copyright (c) 2007, 2021 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -98,7 +98,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	_40(2, "_40", "4.0"); //$NON-NLS-1$ //$NON-NLS-2$
+	_40(2, "_40", "4.0"), //$NON-NLS-1$ //$NON-NLS-2$
+	/**
+	 * The '<em><b>50</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #_50_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	_50(2, "_50", "5.0"); //$NON-NLS-1$ //$NON-NLS-2$
 	/**
 	 * The '<em><b>22</b></em>' literal value.
 	 * <!-- begin-user-doc -->
@@ -182,7 +191,7 @@
 	 * The '<em><b>40</b></em>' literal value.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of '<em><b>31</b></em>' literal object isn't clear,
+	 * If the meaning of '<em><b>40</b></em>' literal object isn't clear,
 	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
@@ -191,6 +200,19 @@
 	 * @ordered
 	 */
 	public static final int _40_VALUE = 3;
+	/**
+	 * The '<em><b>50</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>50</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #_50
+	 * @generated
+	 * @ordered
+	 */
+	public static final int _50_VALUE = 5;
 
 	/**
 	 * An array of all the '<em><b>App Version Type</b></em>' enumerators.
@@ -207,6 +229,7 @@
 			_30_LITERAL,
 			_31,
 			_40,
+			_50,
 		};
 
 	/**
@@ -264,6 +287,7 @@
 			case _30: return _30_LITERAL;
 			case _31_VALUE: return _31;
 			case _40_VALUE: return _40;
+			case _50_VALUE: return _50;
 		}
 		return null;
 	}
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/J2EEConstants.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/J2EEConstants.java
index fb41d14..10c760a 100644
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/J2EEConstants.java
+++ b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/J2EEConstants.java
@@ -238,9 +238,11 @@
     String WEB_APP_SCHEMA_LOC_3_0           = "http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"; //$NON-NLS-1$
     String WEB_APP_SCHEMA_LOC_3_1           = "http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"; //$NON-NLS-1$
     String WEB_APP_SCHEMA_LOC_4_0           = "http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"; //$NON-NLS-1$
+    String WEB_APP_SCHEMA_LOC_5_0           = "https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"; //$NON-NLS-1$
     String WEB_SERVICES_CLIENT_SCHEMA_LOC_1_1 = "http://www.ibm.com/webservices/xsd/j2ee_web_services_client_1_1.xsd"; //$NON-NLS-1$
     String JSP_SCHEMA_LOC_2_0               =  "http://java.sun.com/xml/ns/j2ee/jsp_2_0.xsd"; //$NON-NLS-1$
     String JSP_SCHEMA_LOC_2_1               =  "http://java.sun.com/xml/ns/javaee/jsp_2_1.xsd"; //$NON-NLS-1$ //EJB3
+    String JSP_SCHEMA_LOC_3_0               =  "https://jakarta.ee/xml/ns/jakartaee/jsp_3_0.xsd"; //$NON-NLS-1$ //EJB3
     String WEBFRAGMENT_SCHEMA_LOC_3_0       = "http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd"; //$NON-NLS-1$ //Web Fragment3
     String WEBFRAGMENT_SCHEMA_LOC_3_1       = "http://xmlns.jcp.org/xml/ns/javaee/web-fragment_3_1.xsd"; //$NON-NLS-1$ //Web Fragment3
     String WEBFRAGMENT_SCHEMA_LOC_4_0       = "http://xmlns.jcp.org/xml/ns/javaee/web-fragment_4_0.xsd"; //$NON-NLS-1$ //Web Fragment4
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/internal/impl/WebAppResourceFactory.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/internal/impl/WebAppResourceFactory.java
index e657552..dabf617 100644
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/internal/impl/WebAppResourceFactory.java
+++ b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/webapplication/internal/impl/WebAppResourceFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
+ * Copyright (c) 2001, 2021 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -45,7 +45,14 @@
 		J2EEXmlDtDEntityResolver.registerDtD(J2EEConstants.WEBAPP_SYSTEMID_2_3, "web-app_2_3.dtd"); //$NON-NLS-1$
 		J2EEXmlDtDEntityResolver.registerDtD(J2EEConstants.WEBAPP_ALT_SYSTEMID_2_3, "web-app_2.3.dtd"); //$NON-NLS-1$
 		J2EEXmlDtDEntityResolver.registerDtD(J2EEConstants.WEB_APP_SCHEMA_LOC_2_4, "web-app_2_4.xsd"); //$NON-NLS-1$
+		J2EEXmlDtDEntityResolver.registerDtD(J2EEConstants.WEB_APP_SCHEMA_LOC_2_5, "web-app_2_5.xsd"); //$NON-NLS-1$
+		J2EEXmlDtDEntityResolver.registerDtD(J2EEConstants.WEB_APP_SCHEMA_LOC_3_0, "web-app_3_0.xsd"); //$NON-NLS-1$
+		J2EEXmlDtDEntityResolver.registerDtD(J2EEConstants.WEB_APP_SCHEMA_LOC_3_1, "web-app_3_1.xsd"); //$NON-NLS-1$
+		J2EEXmlDtDEntityResolver.registerDtD(J2EEConstants.WEB_APP_SCHEMA_LOC_4_0, "web-app_4_0.xsd"); //$NON-NLS-1$
+		J2EEXmlDtDEntityResolver.registerDtD(J2EEConstants.WEB_APP_SCHEMA_LOC_5_0, "web-app_5_0.xsd"); //$NON-NLS-1$
 		J2EEXmlDtDEntityResolver.registerDtD(J2EEConstants.JSP_SCHEMA_LOC_2_0, "jsp_2_0.xsd"); //$NON-NLS-1$
+		J2EEXmlDtDEntityResolver.registerDtD(J2EEConstants.JSP_SCHEMA_LOC_2_1, "jsp_2_1.xsd"); //$NON-NLS-1$
+		J2EEXmlDtDEntityResolver.registerDtD(J2EEConstants.JSP_SCHEMA_LOC_3_0, "jsp_3_0.xsd"); //$NON-NLS-1$
 	}
 
 	/** 
diff --git a/plugins/org.eclipse.jst.j2ee.web/webproject/org/eclipse/jst/j2ee/web/project/facet/WebFacetInstallDelegate.java b/plugins/org.eclipse.jst.j2ee.web/webproject/org/eclipse/jst/j2ee/web/project/facet/WebFacetInstallDelegate.java
index ca10807..3572b8d 100644
--- a/plugins/org.eclipse.jst.j2ee.web/webproject/org/eclipse/jst/j2ee/web/project/facet/WebFacetInstallDelegate.java
+++ b/plugins/org.eclipse.jst.j2ee.web/webproject/org/eclipse/jst/j2ee/web/project/facet/WebFacetInstallDelegate.java
@@ -248,7 +248,7 @@
 		if (!webxmlFile.exists()) {
 			try {
 				// Create a minimal web.xml file, so the model can be initialized
-				final String webXmlContents = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<web-app id=\"WebApp_ID\" version=\"5.0\" 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\">\n</web-app>"; //$NON-NLS-1$
+				final String webXmlContents = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<web-app id=\"WebApp_ID\" version=\"5.0\" xmlns=\"https://jakarta.ee/xml/ns/jakartaee\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd\">\n</web-app>"; //$NON-NLS-1$
 				webxmlFile.create(new ByteArrayInputStream(webXmlContents.getBytes("UTF-8")), true, monitor); //$NON-NLS-1$
 
 				populateDefaultContent(project, fv);
@@ -343,11 +343,11 @@
 		           // welcome file list
 		           List<String> welcomeFiles = Arrays.asList(
 		                   "index.html", //$NON-NLS-1$
-		                   "index.htm", //$NON-NLS-1$
 		                   "index.jsp", //$NON-NLS-1$
+		                   "index.htm", //$NON-NLS-1$
 		                   "default.html", //$NON-NLS-1$
-		                   "default.htm", //$NON-NLS-1$
-		                   "default.jsp" //$NON-NLS-1$
+		                   "default.jsp", //$NON-NLS-1$
+		                   "default.htm" //$NON-NLS-1$
 		           );
 		           
 		           // Add the welcome-file-list tag