Spelling fixes. Patch provided by Josh Soref.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc8.5.x/trunk@1778162 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/MERGE.txt b/MERGE.txt
index db3998e..890763f 100644
--- a/MERGE.txt
+++ b/MERGE.txt
@@ -25,7 +25,7 @@
 SVN
 ===
 
-For sources hosted in svn the approache is to svn copy the classes to the Tomcat
+For sources hosted in svn the approach is to svn copy the classes to the Tomcat
 source tree, modify them (always with a package rename, sometimes with
 additional changes) and then keep them in sync with the original via regular svn
 merges. This file keeps track of these copies to assist committers in keeping
diff --git a/build.xml b/build.xml
index 62cb480..cc21c78 100644
--- a/build.xml
+++ b/build.xml
@@ -181,7 +181,7 @@
   <property name="test.jvmarg.egd" value="" />
 
   <!-- Location of OpenSSL binary (file name, not directory) -->
-  <!-- The OpenSSL tests cases be disabled by specifing an invalid path here -->
+  <!-- The OpenSSL tests cases be disabled by specifying an invalid path here -->
   <property name="test.openssl.path" value="" />
 
   <!-- Include .gitignore in src distributions. -->
@@ -2321,7 +2321,7 @@
         <exclude name="bin/*.dll"/>
       </tarfileset>
       <!-- These need to be added after the bin directory is added else the  -->
-      <!-- bin diretcory will pick up the wrong permissions.                 -->
+      <!-- bin directory will pick up the wrong permissions.                 -->
       <tarfileset dir="${tomcat.dist}" dirmode="750" filemode="750" prefix="${final.name}">
         <include name="bin/catalina.sh" />
         <include name="bin/configtest.sh" />
diff --git a/modules/jdbc-pool/build.properties.default b/modules/jdbc-pool/build.properties.default
index f15ecac..f8d1c59 100644
--- a/modules/jdbc-pool/build.properties.default
+++ b/modules/jdbc-pool/build.properties.default
@@ -22,7 +22,7 @@
 # in the top-level source directory, and customize it as needed.
 # -----------------------------------------------------------------------------
 
-# ----- Vesion Control Flags -----
+# ----- Version Control Flags -----
 version.major=1
 version.minor=1
 version.build=0
diff --git a/modules/jdbc-pool/doc/jdbc-pool.xml b/modules/jdbc-pool/doc/jdbc-pool.xml
index 39df2a5..3f4043c 100644
--- a/modules/jdbc-pool/doc/jdbc-pool.xml
+++ b/modules/jdbc-pool/doc/jdbc-pool.xml
@@ -407,7 +407,7 @@
       <p>(String) A semicolon separated list of classnames extending
          <code>org.apache.tomcat.jdbc.pool.JdbcInterceptor</code> class.
          See <a href="#Configuring_JDBC_interceptors">Configuring JDBC interceptors</a>
-         below for more detailed description of syntaz and examples.
+         below for more detailed description of syntax and examples.
       </p>
       <p>
          These interceptors will be inserted as an interceptor into the chain
@@ -564,7 +564,7 @@
     </p>
     <p>Further interceptors will be added to the core of the pool as the need arises. Contributions are always welcome!</p>
     <p>Interceptors are of course not limited to just <code>java.sql.Connection</code> but can be used to wrap any
-    of the results from a method invokation as well. You could build query performance analyzer that provides JMX notifications when a
+    of the results from a method invocation as well. You could build query performance analyzer that provides JMX notifications when a
     query is running longer than the expected time.</p>
   </subsection>
   <subsection name="Configuring JDBC interceptors">
@@ -882,7 +882,7 @@
 <source><![CDATA[  public Object invoke(Object proxy, Method method, Object[] args) throws Throwable]]></source>
     <p>
        method to get invoked. The <code>Method method</code> is the actual method invoked, and <code>Object[] args</code> are the arguments.
-       To look at a very simple example, where we demonstrate how to make the invokation to <code>java.sql.Connection.close()</code> a noop
+       To look at a very simple example, where we demonstrate how to make the invocation to <code>java.sql.Connection.close()</code> a noop
        if the connection has been closed
     </p>
 <source><![CDATA[  if (CLOSE_VAL==method.getName()) {
diff --git a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
index 88bbfb5..856501d 100644
--- a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
+++ b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
@@ -161,7 +161,7 @@
      * If a connection is not retrieved, the Future must be cancelled in order for the connection to be returned
      * to the pool.
      * @return a Future containing a reference to the connection or the future connection
-     * @throws SQLException Cannot use asyncronous connect
+     * @throws SQLException Cannot use asynchronous connect
      */
     public Future<Connection> getConnectionAsync() throws SQLException {
         try {
@@ -545,7 +545,7 @@
     /**
      * thread safe way to abandon a connection
      * signals a connection to be abandoned.
-     * this will disconnect the connection, and log the stack trace if logAbanded=true
+     * this will disconnect the connection, and log the stack trace if logAbandoned=true
      * @param con PooledConnection
      */
     protected void abandon(PooledConnection con) {
diff --git a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java
index 480ad30..945436c 100644
--- a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java
+++ b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java
@@ -562,7 +562,7 @@
             if (context!=null) {
                 jndiDS = context.lookup(poolProperties.getDataSourceJNDI());
             } else {
-                log.warn("dataSourceJNDI property is configued, but local JNDI context is null.");
+                log.warn("dataSourceJNDI property is configured, but local JNDI context is null.");
             }
         } catch (NamingException e) {
             log.debug("The name \""+poolProperties.getDataSourceJNDI()+"\" cannot be found in the local context.");
diff --git a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/JdbcInterceptor.java b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/JdbcInterceptor.java
index c361735..ff9f621 100644
--- a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/JdbcInterceptor.java
+++ b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/JdbcInterceptor.java
@@ -92,7 +92,7 @@
     private boolean useEquals = true;
 
     /**
-     * Public constructor for instantation through reflection
+     * Public constructor for instantiation through reflection
      */
     public JdbcInterceptor() {
         // NOOP
diff --git a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolConfiguration.java b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolConfiguration.java
index 374f22c..b8168fc 100644
--- a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolConfiguration.java
+++ b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolConfiguration.java
@@ -752,9 +752,9 @@
     public void setSuspectTimeout(int seconds);
 
     /**
-     * Returns the time in seconds to pass before a connection is marked an abanoned suspect.
+     * Returns the time in seconds to pass before a connection is marked an abandoned suspect.
      * Any value lesser than or equal to 0 means the check is disabled.
-     * @return Returns the time in seconds to pass before a connection is marked an abanoned suspect.
+     * @return Returns the time in seconds to pass before a connection is marked an abandoned suspect.
      */
     public int getSuspectTimeout();
 
diff --git a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractQueryReport.java b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractQueryReport.java
index 499839f..7d379c2 100644
--- a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractQueryReport.java
+++ b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractQueryReport.java
@@ -128,7 +128,7 @@
     /**
      * returns the query measure threshold.
      * This value is in milliseconds. If the query is faster than this threshold than it wont be accounted for
-     * @return the threshhold in milliseconds
+     * @return the threshold in milliseconds
      */
     public long getThreshold() {
         return threshold;
diff --git a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/mbeans-descriptors.xml b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/mbeans-descriptors.xml
index d086daf..ba34d96 100644
--- a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/mbeans-descriptors.xml
+++ b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/mbeans-descriptors.xml
@@ -25,7 +25,7 @@
     <attribute description="All the recorded query stats. " name="slowQueriesCD" type="[javax.management.openmbean.CompositeData;" writeable="false"/>
     <operation description="Clears all the query stats" impact="ACTION" name="resetStats" returnType="void"/>
 
-    <notification description="Notification sent out by the slow query report when a query exceeds the threshhold" name="slow-query">
+    <notification description="Notification sent out by the slow query report when a query exceeds the threshold" name="slow-query">
       <notification-type>Slow query</notification-type>
     </notification>
 
diff --git a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
index 7ae8faa..0dfb6f7 100644
--- a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
+++ b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
@@ -73,9 +73,9 @@
     public static final String NOTIFY_ABANDON = "CONNECTION ABANDONED";
     public static final String SLOW_QUERY_NOTIFICATION = "SLOW QUERY";
     public static final String FAILED_QUERY_NOTIFICATION = "FAILED QUERY";
-    public static final String SUSPECT_ABANDONED_NOTIFICATION = "SUSPECT CONNETION ABANDONED";
+    public static final String SUSPECT_ABANDONED_NOTIFICATION = "SUSPECT CONNECTION ABANDONED";
     public static final String POOL_EMPTY = "POOL EMPTY";
-    public static final String SUSPECT_RETURNED_NOTIFICATION = "SUSPECT CONNETION RETURNED";
+    public static final String SUSPECT_RETURNED_NOTIFICATION = "SUSPECT CONNECTION RETURNED";
 
     @Override
     public MBeanNotificationInfo[] getNotificationInfo() {
diff --git a/res/findbugs/filter-false-positives.xml b/res/findbugs/filter-false-positives.xml
index 2d1ea1f..8fe7152 100644
--- a/res/findbugs/filter-false-positives.xml
+++ b/res/findbugs/filter-false-positives.xml
@@ -142,7 +142,7 @@
   </Match>
   <Match>
     <!-- the platform default encoding is a fallback when calculating the
-    lenght of the string -->
+    length of the string -->
     <Class name="org.apache.catalina.connector.Request"/>
     <Method name="parseParts"/>
     <Bug code="Dm" />
diff --git a/res/ide-support/eclipse/java-compiler-errors-warnings.txt b/res/ide-support/eclipse/java-compiler-errors-warnings.txt
index 06b4abd..7262463 100644
--- a/res/ide-support/eclipse/java-compiler-errors-warnings.txt
+++ b/res/ide-support/eclipse/java-compiler-errors-warnings.txt
@@ -111,7 +111,7 @@
 
 The following configuration of "Organize Imports" setting can be
 recommended for a quick setup. The order is enforced by checkstyle, so for
-the authorative definition look at <module name="ImportOrder"> in
+the authoritative definition look at <module name="ImportOrder"> in
 res/checkstyle/checkstyle.xml
 
  - java
diff --git a/res/ide-support/netbeans/README.txt b/res/ide-support/netbeans/README.txt
index ecbf5e3..8873b49 100644
--- a/res/ide-support/netbeans/README.txt
+++ b/res/ide-support/netbeans/README.txt
@@ -74,7 +74,7 @@
             still define this path in the nb-tomcat-project.properties file!
 
    Note: The current support for Tomcat in NetBeans does not include the
-         components in the modules directory (e.g. tomcate-lite).
+         components in the modules directory (e.g. tomcat-lite).
 
 4. Start NetBeans... once it has initialised and scanned your other open
    projects, just open an existing project and select the location of
diff --git a/test/org/apache/catalina/connector/TestCoyoteAdapter.java b/test/org/apache/catalina/connector/TestCoyoteAdapter.java
index 930d964..3fe7b0e 100644
--- a/test/org/apache/catalina/connector/TestCoyoteAdapter.java
+++ b/test/org/apache/catalina/connector/TestCoyoteAdapter.java
@@ -167,20 +167,20 @@
 
     @Test
     public void testPathParamExtRootNoParam() throws Exception {
-        pathParamExtenionTest("/testapp/blah.txt", "none");
+        pathParamExtensionTest("/testapp/blah.txt", "none");
     }
 
     @Test
     public void testPathParamExtLevel1NoParam() throws Exception {
-        pathParamExtenionTest("/testapp/blah/blah.txt", "none");
+        pathParamExtensionTest("/testapp/blah/blah.txt", "none");
     }
 
     @Test
     public void testPathParamExtLevel1WithParam() throws Exception {
-        pathParamExtenionTest("/testapp/blah;x=y/blah.txt", "none");
+        pathParamExtensionTest("/testapp/blah;x=y/blah.txt", "none");
     }
 
-    private void pathParamExtenionTest(String path, String expected)
+    private void pathParamExtensionTest(String path, String expected)
             throws Exception {
         // Setup Tomcat instance
         Tomcat tomcat = getTomcatInstance();
diff --git a/test/org/apache/catalina/connector/TestRequest.java b/test/org/apache/catalina/connector/TestRequest.java
index 13b2d2d..65b6975 100644
--- a/test/org/apache/catalina/connector/TestRequest.java
+++ b/test/org/apache/catalina/connector/TestRequest.java
@@ -828,7 +828,7 @@
         // No file system docBase required
         Context ctx = tomcat.addContext(deployPath, null);
 
-        Tomcat.addServlet(ctx, "servlet", new Bug56501Servelet());
+        Tomcat.addServlet(ctx, "servlet", new Bug56501Servlet());
         ctx.addServletMappingDecoded("/*", "servlet");
 
         tomcat.start();
@@ -841,7 +841,7 @@
         assertEquals(expected, resultPath);
     }
 
-    private class Bug56501Servelet extends HttpServlet {
+    private class Bug56501Servlet extends HttpServlet {
 
         private static final long serialVersionUID = 1L;
 
diff --git a/test/org/apache/catalina/filters/TestCorsFilter.java b/test/org/apache/catalina/filters/TestCorsFilter.java
index f7acfd2..9077bbc 100644
--- a/test/org/apache/catalina/filters/TestCorsFilter.java
+++ b/test/org/apache/catalina/filters/TestCorsFilter.java
@@ -166,7 +166,7 @@
     }
 
     /*
-     * Tests the prsence of the origin (and not '*') in the response, when
+     * Tests the presence of the origin (and not '*') in the response, when
      * supports credentials is enabled alongwith any origin, '*'.
      *
      * @throws IOException
diff --git a/test/org/apache/catalina/filters/TestRemoteIpFilter.java b/test/org/apache/catalina/filters/TestRemoteIpFilter.java
index 36eb786..3b73f8a 100644
--- a/test/org/apache/catalina/filters/TestRemoteIpFilter.java
+++ b/test/org/apache/catalina/filters/TestRemoteIpFilter.java
@@ -606,7 +606,7 @@
         HttpServletRequest request = mockServlet.getRequest();
         Assert.assertNotNull(request);
 
-        // VALIDATE X-FOWARDED-FOR
+        // VALIDATE X-FORWARDED-FOR
         Assert.assertEquals(expectedRemoteAddr, request.getRemoteAddr());
         Assert.assertEquals(expectedRemoteAddr, request.getRemoteHost());
 
diff --git a/test/org/apache/catalina/webresources/TestJarInputStreamWrapper.java b/test/org/apache/catalina/webresources/TestJarInputStreamWrapper.java
index 02d5547..6b1af19 100644
--- a/test/org/apache/catalina/webresources/TestJarInputStreamWrapper.java
+++ b/test/org/apache/catalina/webresources/TestJarInputStreamWrapper.java
@@ -73,7 +73,7 @@
 
 
     @Test
-    public void testMarkSupprotedAfterClose() throws Exception {
+    public void testMarkSupportedAfterClose() throws Exception {
         Method m = InputStream.class.getMethod("markSupported", (Class<?>[]) null);
         testMethodAfterClose(m, (Object[]) null);
     }
diff --git a/test/org/apache/coyote/ajp/TestAbstractAjpProcessor.java b/test/org/apache/coyote/ajp/TestAbstractAjpProcessor.java
index 9f9f434..970c3af 100644
--- a/test/org/apache/coyote/ajp/TestAbstractAjpProcessor.java
+++ b/test/org/apache/coyote/ajp/TestAbstractAjpProcessor.java
@@ -302,7 +302,7 @@
         } else {
             TesterAjpMessage bodyMessage = ajpClient.createBodyMessage(new byte[bodySize]);
             responseHeaders = ajpClient.sendMessage(forwardMessage, bodyMessage);
-            // Expect back a request for more data (which will be emty and
+            // Expect back a request for more data (which will be empty and
             // trigger end of stream in Servlet)
             validateGetBody(responseHeaders);
             bodyMessage = ajpClient.createBodyMessage(new byte[0]);
diff --git a/test/org/apache/coyote/http11/filters/TestGzipOutputFilter.java b/test/org/apache/coyote/http11/filters/TestGzipOutputFilter.java
index 6bc8020..07d45ad 100644
--- a/test/org/apache/coyote/http11/filters/TestGzipOutputFilter.java
+++ b/test/org/apache/coyote/http11/filters/TestGzipOutputFilter.java
@@ -40,7 +40,7 @@
      * be a ByteArrayOutputStream so we can inspect the output bytes 3. write a
      * chunk out using the gzipoutputfilter and invoke a flush on the
      * InternalOutputBuffer 4. read from the ByteArrayOutputStream to find out
-     * what's being written out (flushed) 5. find out what's expected by wrting
+     * what's being written out (flushed) 5. find out what's expected by writing
      * to GZIPOutputStream and close it (to force flushing) 6. Compare the size
      * of the two arrays, they should be close (instead of one being much
      * shorter than the other one)
diff --git a/test/org/apache/coyote/http2/TestHttp2Section_6_5.java b/test/org/apache/coyote/http2/TestHttp2Section_6_5.java
index c2b102d..c400325 100644
--- a/test/org/apache/coyote/http2/TestHttp2Section_6_5.java
+++ b/test/org/apache/coyote/http2/TestHttp2Section_6_5.java
@@ -86,7 +86,7 @@
     }
 
 
-    // Need to test sending push promise when push promise suport is disabled
+    // Need to test sending push promise when push promise support is disabled
 
     @Test
     public void testSettingsFrameInvalidPushSetting() throws Exception {
diff --git a/test/org/apache/el/TestELEvaluation.java b/test/org/apache/el/TestELEvaluation.java
index 0285338..c496060 100644
--- a/test/org/apache/el/TestELEvaluation.java
+++ b/test/org/apache/el/TestELEvaluation.java
@@ -103,7 +103,7 @@
         assertEquals("\\\\", evaluateExpression("\\\\"));
 
         /*
-         * LiteralExpresions can only contain ${ or #{ if escaped with \
+         * LiteralExpressions can only contain ${ or #{ if escaped with \
          * \ is not an escape character in any other circumstances including \\
          */
         assertEquals("\\", evaluateExpression("\\"));
diff --git a/test/org/apache/el/lang/TestELSupport.java b/test/org/apache/el/lang/TestELSupport.java
index 6a08010..d77935e 100644
--- a/test/org/apache/el/lang/TestELSupport.java
+++ b/test/org/apache/el/lang/TestELSupport.java
@@ -244,7 +244,7 @@
     public void testCoerceToNumber01() {
         Object result = ELSupport.coerceToNumber(
                 null, (Object) null, Integer.class);
-        Assert.assertNull("Resut: " + result, result);
+        Assert.assertNull("Result: " + result, result);
     }
 
     @Test
@@ -263,7 +263,7 @@
     @Test
     public void testCoerceToBoolean02() {
         Object result = ELSupport.coerceToBoolean(null, null, false);
-        Assert.assertNull("Resut: " + result, result);
+        Assert.assertNull("Result: " + result, result);
     }
 
     private static void testIsSame(Object value) {
diff --git a/test/org/apache/tomcat/util/descriptor/tld/TestImplicitTldParser.java b/test/org/apache/tomcat/util/descriptor/tld/TestImplicitTldParser.java
index eca5654..8d13e73 100644
--- a/test/org/apache/tomcat/util/descriptor/tld/TestImplicitTldParser.java
+++ b/test/org/apache/tomcat/util/descriptor/tld/TestImplicitTldParser.java
@@ -35,7 +35,7 @@
     }
 
     @Test
-    public void testImpicitTldGood() throws Exception {
+    public void testImplicitTldGood() throws Exception {
         TaglibXml xml = parse("test/tld/implicit-good.tld");
         Assert.assertEquals("1.0", xml.getTlibVersion());
         Assert.assertEquals("2.1", xml.getJspVersion());
@@ -43,7 +43,7 @@
     }
 
     @Test(expected=SAXParseException.class)
-    public void testImpicitTldBad() throws Exception {
+    public void testImplicitTldBad() throws Exception {
         TaglibXml xml = parse("test/tld/implicit-bad.tld");
         Assert.assertEquals("1.0", xml.getTlibVersion());
         Assert.assertEquals("2.1", xml.getJspVersion());
diff --git a/test/org/apache/tomcat/util/http/parser/TestMediaType.java b/test/org/apache/tomcat/util/http/parser/TestMediaType.java
index f01faa8..f762ffc 100644
--- a/test/org/apache/tomcat/util/http/parser/TestMediaType.java
+++ b/test/org/apache/tomcat/util/http/parser/TestMediaType.java
@@ -92,7 +92,7 @@
 
 
     @Test
-    public void testSimpleWithComplesQuotedString() throws IOException {
+    public void testSimpleWithComplexQuotedString() throws IOException {
         doTest(PARAM_COMPLEX_QUOTED);
     }
 
diff --git a/test/org/apache/tomcat/util/net/TestClientCert.java b/test/org/apache/tomcat/util/net/TestClientCert.java
index a615164..2e9086f 100644
--- a/test/org/apache/tomcat/util/net/TestClientCert.java
+++ b/test/org/apache/tomcat/util/net/TestClientCert.java
@@ -45,11 +45,11 @@
         doTestClientCertGet(true);
     }
 
-    private void doTestClientCertGet(boolean preemtive) throws Exception {
+    private void doTestClientCertGet(boolean preemptive) throws Exception {
         Assume.assumeTrue("SSL renegotiation has to be supported for this test",
                 TesterSupport.isRenegotiationSupported(getTomcatInstance()));
 
-        if (preemtive) {
+        if (preemptive) {
             Tomcat tomcat = getTomcatInstance();
             // Only one context deployed
             Context c = (Context) tomcat.getHost().findChildren()[0];
@@ -62,7 +62,7 @@
         // Unprotected resource
         ByteChunk res =
                 getUrl("https://localhost:" + getPort() + "/unprotected");
-        if (preemtive) {
+        if (preemptive) {
             assertEquals("OK-" + TesterSupport.ROLE, res.toString());
         } else {
             assertEquals("OK", res.toString());
diff --git a/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java b/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
index becd4d1..25be94c 100644
--- a/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
+++ b/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
@@ -476,7 +476,7 @@
     public static class BlockingPojo {
 
         private static Object monitor = new Object();
-        // Enable blockign by default
+        // Enable blocking by default
         private static boolean block = true;
 
         /**
@@ -961,30 +961,30 @@
     }
 
     @Test
-    public void testPerMessageDefalteClient01() throws Exception {
-        doTestPerMessageDefalteClient(MESSAGE_STRING_1, 1);
+    public void testPerMessageDeflateClient01() throws Exception {
+        doTestPerMessageDeflateClient(MESSAGE_STRING_1, 1);
     }
 
 
     @Test
-    public void testPerMessageDefalteClient02() throws Exception {
-        doTestPerMessageDefalteClient(MESSAGE_EMPTY, 1);
+    public void testPerMessageDeflateClient02() throws Exception {
+        doTestPerMessageDeflateClient(MESSAGE_EMPTY, 1);
     }
 
 
     @Test
-    public void testPerMessageDefalteClient03() throws Exception {
-        doTestPerMessageDefalteClient(MESSAGE_STRING_1, 2);
+    public void testPerMessageDeflateClient03() throws Exception {
+        doTestPerMessageDeflateClient(MESSAGE_STRING_1, 2);
     }
 
 
     @Test
-    public void testPerMessageDefalteClient04() throws Exception {
-        doTestPerMessageDefalteClient(MESSAGE_EMPTY, 2);
+    public void testPerMessageDeflateClient04() throws Exception {
+        doTestPerMessageDeflateClient(MESSAGE_EMPTY, 2);
     }
 
 
-    private void doTestPerMessageDefalteClient(String msg, int count) throws Exception {
+    private void doTestPerMessageDeflateClient(String msg, int count) throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
         Context ctx = tomcat.addContext("", null);
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 0cf4831..d00745a 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -820,7 +820,7 @@
         Ensure that reading the <code>singleThreadModel</code> attribute of a
         <code>StandardWrapper</code> via JMX does not trigger initialisation of
         the associated servlet. With some frameworks this can trigger an
-        unexpected initialisation thread and if initilisation is not thread-safe
+        unexpected initialisation thread and if initialisation is not thread-safe
         the initialisation can then fail. (markt)
       </fix>
       <fix>
@@ -1411,7 +1411,7 @@
         Modify the handling of read/write timeouts so that the appropriate error
         handling (<code>ReadListener.onError()</code>,
         <code>WriteListener.onError()</code> or
-        <code>AsycnListener.onError()</code>) is called. (markt)
+        <code>AsyncListener.onError()</code>) is called. (markt)
       </fix>
       <fix>
        If an async dispatch results in the completion of request processing,
diff --git a/webapps/docs/cluster-howto.xml b/webapps/docs/cluster-howto.xml
index 8bfbb4e..ea549e4 100644
--- a/webapps/docs/cluster-howto.xml
+++ b/webapps/docs/cluster-howto.xml
@@ -599,7 +599,7 @@
     Tomcat does not keep session instances in sync across the cluster.
     The implementation of such logic would be to much overhead and cause all
     kinds of problems. If your client accesses the same session
-    simultanously using multiple requests, then the last request
+    simultaneously using multiple requests, then the last request
     will override the other sessions in the cluster.
 </p>
 
diff --git a/webapps/docs/config/cluster-valve.xml b/webapps/docs/config/cluster-valve.xml
index 88fa8e6..9778a26 100644
--- a/webapps/docs/config/cluster-valve.xml
+++ b/webapps/docs/config/cluster-valve.xml
@@ -85,7 +85,7 @@
 <section name="org.apache.catalina.ha.session.JvmRouteBinderValve">
   In case of a mod_jk failover, the <code>JvmRouteBinderValve</code> will replace the
   <code>jvmWorker</code> attribute in the session Id, to make future requests stick to this
-  node. If you want failback capability, don't enable this valve, but if you want your failover to stick,
+  node. If you want fallback capability, don't enable this valve, but if you want your failover to stick,
   and for mod_jk not to have to keep probing the node that went down, you use this valve.
   <subsection name="Attributes">
     <attributes>
diff --git a/webapps/docs/config/credentialhandler.xml b/webapps/docs/config/credentialhandler.xml
index 166ef7d..c7fe271 100644
--- a/webapps/docs/config/credentialhandler.xml
+++ b/webapps/docs/config/credentialhandler.xml
@@ -42,9 +42,9 @@
   be required, for example, when adding a new user to a
   <a href="realm.html">Realm</a> or when changing a user&apos;s password.</p>
 
-  <p>A <strong>CredentialHadler</strong> element MUST be nested inside a
+  <p>A <strong>CredentialHandler</strong> element MUST be nested inside a
   <a href="realm.html">Realm</a> component.  If it is not included,
-  a default <strong>CredentialHadler</strong> will be created using the
+  a default <strong>CredentialHandler</strong> will be created using the
   <strong>MessageDigestCredentialHandler</strong>.</p>
 
 </section>
diff --git a/webapps/docs/config/filter.xml b/webapps/docs/config/filter.xml
index 4e23ee2..ef34436 100644
--- a/webapps/docs/config/filter.xml
+++ b/webapps/docs/config/filter.xml
@@ -1529,7 +1529,7 @@
     Filter, it is recommended that the
     <code>org.apache.catalina.filter.RequestDumperFilter</code> logger is
     directed to a dedicated file and that the
-    <code>org.apache.juli.VerbatimFormmater</code> is used.</p>
+    <code>org.apache.juli.VerbatimFormatter</code> is used.</p>
 
     <p><strong>WARNING: Using this filter has side-effects.</strong>  The
     output from this filter includes any parameters included with the request.
diff --git a/webapps/docs/config/http.xml b/webapps/docs/config/http.xml
index b346c51..8f439e1 100644
--- a/webapps/docs/config/http.xml
+++ b/webapps/docs/config/http.xml
@@ -1036,7 +1036,7 @@
      <strong>Connector</strong>.</p>
 
   <p>Additional configuration attributes are available. See the
-  <a href="http2.html">HTTP/2 Upgrade Protocol</a> documentaion for details.</p>
+  <a href="http2.html">HTTP/2 Upgrade Protocol</a> documentation for details.</p>
 
   </subsection>
 
diff --git a/webapps/docs/config/http2.xml b/webapps/docs/config/http2.xml
index 8e5b7e9..0bdd789 100644
--- a/webapps/docs/config/http2.xml
+++ b/webapps/docs/config/http2.xml
@@ -90,15 +90,15 @@
       will be used.</p>
     </attribute>
 
-    <attribute name="maxConccurentStreamExecution" required="false">
+    <attribute name="maxConcurrentStreamExecution" required="false">
       <p>The controls the maximum number of streams for any one connection that
       can be allocated threads from the container thread pool. If more streams
-      are active than threads are avaialble, those streams will have to wait
+      are active than threads are available, those streams will have to wait
       for a stream to become available. If not specified, the default value of
       <code>200</code> will be used.</p>
     </attribute>
 
-    <attribute name="maxConccurentStreams" required="false">
+    <attribute name="maxConcurrentStreams" required="false">
       <p>The controls the maximum number of active streams permitted for any one
       connection. If a client attempts to open more active streams than this
       limit, the stream will be reset with a <code>STREAM_REFUSED</code> error.
diff --git a/webapps/docs/config/listeners.xml b/webapps/docs/config/listeners.xml
index 2e991dd..c3085bf 100644
--- a/webapps/docs/config/listeners.xml
+++ b/webapps/docs/config/listeners.xml
@@ -388,7 +388,7 @@
         used.</p>
       </attribute>
 
-      <attribute name="storeRegsitry" required="false">
+      <attribute name="storeRegistry" required="false">
         <p>The URL of the configuration file that configures how the
         <code>IStoreConfig</code> is to save the configuration. If not specified
         the built in resource
diff --git a/webapps/docs/config/loader.xml b/webapps/docs/config/loader.xml
index 892fe28..67a8de0 100644
--- a/webapps/docs/config/loader.xml
+++ b/webapps/docs/config/loader.xml
@@ -129,7 +129,7 @@
         <p>If not specified, the default value is
         <code>org.apache.catalina.loader.ParallelWebappClassLoader</code>. The
         default <strong>loaderClass</strong> is parallel capable, which
-        means that mutltiple threads may load difference classes in parallel.
+        means that multiple threads may load difference classes in parallel.
         A non-parallel capable <strong>loaderClass</strong> is available and can
         be used by specifying
         <code>org.apache.catalina.loader.WebappClassLoader</code>.</p>
diff --git a/webapps/docs/funcspecs/mbean-names.xml b/webapps/docs/funcspecs/mbean-names.xml
index d042572..f352413 100644
--- a/webapps/docs/funcspecs/mbean-names.xml
+++ b/webapps/docs/funcspecs/mbean-names.xml
@@ -39,7 +39,7 @@
     <p>We will be using <em>JMX MBeans</em> as the technology for
     implementing manageability of Tomcat.</p>
 
-    <p>One of the key concepts of JMX is that each management bean has a uniqu
+    <p>One of the key concepts of JMX is that each management bean has a unique
     name in the MBeanServer's registry, and that management applications can
     utilize these names to retrieve the MBean of interest to them for a
     particular management operation. This document proposes a naming convention
diff --git a/webapps/docs/jndi-datasource-examples-howto.xml b/webapps/docs/jndi-datasource-examples-howto.xml
index 9e17b63..dd18b7d 100644
--- a/webapps/docs/jndi-datasource-examples-howto.xml
+++ b/webapps/docs/jndi-datasource-examples-howto.xml
@@ -393,7 +393,7 @@
  <res-auth>Container</res-auth>
 </resource-ref>]]></source>
 <h5>3.   Code example</h5>
-<p>You can use the same example application as above (asuming you create the required DB
+<p>You can use the same example application as above (assuming you create the required DB
 instance, tables etc.) replacing the Datasource code with something like</p>
 <source><![CDATA[Context initContext = new InitialContext();
 Context envContext  = (Context)initContext.lookup("java:/comp/env");
@@ -536,7 +536,7 @@
 <li>a mismatch between your JDBC classes file and
 your Oracle client version. The giveaway here is the message stating that a needed library file cannot be
 found. For example, you may be using a classes12.zip file from Oracle Version 8.1.6 with a Version 8.1.5
-Oracle client. The classeXXXs.zip file and Oracle client software versions must match.
+Oracle client. The classesXXX.zip file and Oracle client software versions must match.
 </li>
 <li>A <code>$PATH</code>, <code>LD_LIBRARY_PATH</code> problem.</li>
 <li>It has been reported that ignoring the driver you have downloaded from otn and using
diff --git a/webapps/docs/jndi-resources-howto.xml b/webapps/docs/jndi-resources-howto.xml
index 00d679d..2ec5da0 100644
--- a/webapps/docs/jndi-resources-howto.xml
+++ b/webapps/docs/jndi-resources-howto.xml
@@ -433,7 +433,7 @@
     <h5>0.  Introduction</h5>
 
     <p>UserDatabase resources are typically configured as global resources for
-    use by a UserDatabase realm. Tomcat includes a UserDatabaseFactoory that
+    use by a UserDatabase realm. Tomcat includes a UserDatabaseFactory that
     creates UserDatabase resources backed by an XML file - usually
     <code>tomcat-users.xml</code></p>
 
diff --git a/webapps/docs/monitoring.xml b/webapps/docs/monitoring.xml
index 51c64fd..9092dd8 100644
--- a/webapps/docs/monitoring.xml
+++ b/webapps/docs/monitoring.xml
@@ -827,7 +827,7 @@
 <p>
     <b>Warning</b>: Many Tomcat MBeans can't be linked to their parent once<br/>
     created. The Valve, Cluster and Realm MBeans are not automatically<br/>
-    connected with their parent. Use the <em>MBeanFacrory</em> create<br/>
+    connected with their parent. Use the <em>MBeanFactory</em> create<br/>
     operation instead.
 </p>
 
@@ -880,7 +880,7 @@
 
 <p>
     <b>Warning</b>: A lot of Tomcat MBeans can't be unregister.<br/>
-    The MBeans are not unlinked from their parent. Use <em>MBeanFacrory</em><br/>
+    The MBeans are not unlinked from their parent. Use <em>MBeanFactory</em><br/>
     remove operation instead.
 </p>
 
@@ -973,7 +973,7 @@
   </tr>
 
   <tr>
-    <td>value (requiered)</td>
+    <td>value (required)</td>
     <td>Second arg for operation
     </td>
     <td></td>
@@ -1148,7 +1148,7 @@
 
     <ul>
       <li>You don't have to launch a full JVM and make a remote JMX connection
-      just to ask for one small piece of data from a runing server</li>
+      just to ask for one small piece of data from a running server</li>
       <li>You don't have to know how to work with JMX connections</li>
       <li>You don't need any of the complex configuration covered in the rest
       of this page</li>
diff --git a/webapps/docs/security-manager-howto.xml b/webapps/docs/security-manager-howto.xml
index 7e0481d..751a205 100644
--- a/webapps/docs/security-manager-howto.xml
+++ b/webapps/docs/security-manager-howto.xml
@@ -157,7 +157,7 @@
   <subsection name="Permissions for packed WAR files">
 
     <p>When using packed WAR files, it is necessary to use Tomcat's custom war
-    URL protocol to asisgn permissions to web application code.</p>
+    URL protocol to assign permissions to web application code.</p>
 
     <p>To assign permissions to the entire web application the entry in the
     policy file would look like this:</p>
diff --git a/webapps/docs/ssl-howto.xml b/webapps/docs/ssl-howto.xml
index a0443d3..537f1dd 100644
--- a/webapps/docs/ssl-howto.xml
+++ b/webapps/docs/ssl-howto.xml
@@ -143,7 +143,7 @@
 always be accessed over https.</p>
 
 <p>Using name-based virtual hosts on a secured connection requires careful
-configuration of the names specfied in a single certificate or Tomcat 8.5
+configuration of the names specified in a single certificate or Tomcat 8.5
 onwards where Server Name Indication (SNI) support is available. SNI allows
 multiple certificates with different names to be associated with a single TLS
 connector.</p>
diff --git a/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java b/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
index 3b851f1..f5db80e 100644
--- a/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
+++ b/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
@@ -170,7 +170,7 @@
 
         if (compressionThreshold == 0) {
             if (debug > 0) {
-                System.out.println("doFilter got called, but compressionTreshold is set to 0 - no compression");
+                System.out.println("doFilter got called, but compressionThreshold is set to 0 - no compression");
             }
             chain.doFilter(request, response);
             return;
diff --git a/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardEndpoint.java b/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardEndpoint.java
index 9939972..cd99f49 100644
--- a/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardEndpoint.java
+++ b/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardEndpoint.java
@@ -201,7 +201,7 @@
                                 DrawMessage msg = DrawMessage.parseFromString(
                                         messageContent.substring(indexOfChar + 1));
 
-                                // Don't ingore RuntimeExceptions thrown by
+                                // Don't ignore RuntimeExceptions thrown by
                                 // this method
                                 // TODO: Find a better solution than this variable
                                 dontSwallowException = true;
diff --git a/webapps/examples/WEB-INF/classes/websocket/drawboard/Room.java b/webapps/examples/WEB-INF/classes/websocket/drawboard/Room.java
index 67e086b..558273f 100644
--- a/webapps/examples/WEB-INF/classes/websocket/drawboard/Room.java
+++ b/webapps/examples/WEB-INF/classes/websocket/drawboard/Room.java
@@ -58,7 +58,7 @@
          */
         ERROR('0'),
         /**
-         * '1': DrawMesssage: contains serialized DrawMessage(s) prefixed
+         * '1': DrawMessage: contains serialized DrawMessage(s) prefixed
          *      with the current Player's {@link Player#lastReceivedMessageId}
          *      and ",".<br>
          *      Multiple draw messages are concatenated with "|" as separator.
@@ -186,7 +186,7 @@
         // Add the new player to the list.
         players.add(p);
 
-        // If currently no Broacast Timer Task is scheduled, then we need to create one.
+        // If currently no Broadcast Timer Task is scheduled, then we need to create one.
         if (activeBroadcastTimerTask == null) {
             activeBroadcastTimerTask = createBroadcastTimerTask();
             drawmessageBroadcastTimer.schedule(activeBroadcastTimerTask,
@@ -227,7 +227,7 @@
             // Note that it can happen that the TimerTask is just about to execute (from
             // the Timer thread) but waits until all players are gone (or even until a new
             // player is added to the list), and then executes. This is OK. To prevent it,
-            // a TimerTask subclass would need to have some boolan "cancel" instance variable and
+            // a TimerTask subclass would need to have some boolean "cancel" instance variable and
             // query it in the invocation of Room#invokeAndWait.
             activeBroadcastTimerTask.cancel();
             activeBroadcastTimerTask = null;
@@ -361,7 +361,7 @@
 
             roomLock.lock();
             try {
-                // Explicitely overwrite value to ensure data consistency in
+                // Explicitly overwrite value to ensure data consistency in
                 // current thread
                 cachedRunnables = null;
 
@@ -472,7 +472,7 @@
          * image and by broadcasting it to the connected players.
          *
          * @param msg   The draw message received
-         * @param msgId The ID for the draw message recieved
+         * @param msgId The ID for the draw message received
          */
         public void handleDrawMessage(DrawMessage msg, long msgId) {
             room.internalHandleDrawMessage(this, msg, msgId);
diff --git a/webapps/examples/websocket/drawboard.xhtml b/webapps/examples/websocket/drawboard.xhtml
index 2a3e74c..ff63366 100644
--- a/webapps/examples/websocket/drawboard.xhtml
+++ b/webapps/examples/websocket/drawboard.xhtml
@@ -378,7 +378,7 @@
                     var handleOnMessage = function(message) {
 
                         // Split joined message and process them
-                        // invidividually.
+                        // individually.
                         var messages = message.data.split(";");
                         for (var msgArrIdx = 0; msgArrIdx < messages.length;
                                 msgArrIdx++) {
diff --git a/webapps/host-manager/WEB-INF/jsp/403.jsp b/webapps/host-manager/WEB-INF/jsp/403.jsp
index 949535e..74e1e2d 100644
--- a/webapps/host-manager/WEB-INF/jsp/403.jsp
+++ b/webapps/host-manager/WEB-INF/jsp/403.jsp
@@ -46,7 +46,7 @@
     application. You will need to reset this protection by returning to the
     <a href="<%=request.getContextPath()%>/html">main Host Manager page</a>.
     Once you return to this page, you will be able to continue using the Host
-    Manager appliction's HTML interface normally. If you continue to see this
+    Manager application's HTML interface normally. If you continue to see this
     access denied message, check that you have the necessary permissions to
     access this application.
    </p>
diff --git a/webapps/manager/WEB-INF/jsp/403.jsp b/webapps/manager/WEB-INF/jsp/403.jsp
index 6d95c93..78184c7 100644
--- a/webapps/manager/WEB-INF/jsp/403.jsp
+++ b/webapps/manager/WEB-INF/jsp/403.jsp
@@ -46,7 +46,7 @@
     will need to reset this protection by returning to the
     <a href="<%=request.getContextPath()%>/html">main Manager page</a>. Once you
     return to this page, you will be able to continue using the Manager
-    appliction's HTML interface normally. If you continue to see this access
+    application's HTML interface normally. If you continue to see this access
     denied message, check that you have the necessary permissions to access this
     application.
    </p>