You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2019/12/17 11:47:36 UTC

[tomcat] branch master updated (8eced7a -> 84b9d1a)

This is an automated email from the ASF dual-hosted git repository.

markt pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git.


    from 8eced7a  Remove useless lock
     new 20f18f9  Add a few things to the Tomcat 10 list since it is approaching fast
     new 84b9d1a  Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=64008

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 TOMCAT-NEXT.txt                              |   5 +-
 java/org/apache/catalina/startup/Tomcat.java | 104 +++++++++++++++++++--------
 webapps/docs/changelog.xml                   |   4 ++
 3 files changed, 82 insertions(+), 31 deletions(-)


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[tomcat] 01/02: Add a few things to the Tomcat 10 list since it is approaching fast

Posted by ma...@apache.org.
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

commit 20f18f991ecc675abad83494fda94bae30cc8f9a
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Mon Dec 16 20:55:03 2019 +0000

    Add a few things to the Tomcat 10 list since it is approaching fast
---
 TOMCAT-NEXT.txt | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/TOMCAT-NEXT.txt b/TOMCAT-NEXT.txt
index 9400227..4bf4b5f 100644
--- a/TOMCAT-NEXT.txt
+++ b/TOMCAT-NEXT.txt
@@ -59,5 +59,8 @@ New items for 10.0.x onwards:
 
 10. BZ 63286. Make behaviour of %D and %T consistent with httpd.
 
-11. Refactor DefaultServlet to use Ranges in parseRanges()
+11. Refactor DefaultServlet to use Ranges in parseRanges().
 
+12. Consider disabling the AJP connector by default.
+
+13. Remove GenericPrincipal.getPassword().
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[tomcat] 02/02: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=64008

Posted by ma...@apache.org.
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

commit 84b9d1a7d516027e6734a0277fc567cf61f57e72
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Tue Dec 17 11:20:53 2019 +0000

    Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=64008
    
    Be more explicit about the expected behaviour of addWebapp rather than
    relying on cross-references.
---
 java/org/apache/catalina/startup/Tomcat.java | 104 +++++++++++++++++++--------
 webapps/docs/changelog.xml                   |   4 ++
 2 files changed, 78 insertions(+), 30 deletions(-)

diff --git a/java/org/apache/catalina/startup/Tomcat.java b/java/org/apache/catalina/startup/Tomcat.java
index 7230d1e..3fc878f 100644
--- a/java/org/apache/catalina/startup/Tomcat.java
+++ b/java/org/apache/catalina/startup/Tomcat.java
@@ -117,12 +117,17 @@ import org.apache.tomcat.util.res.StringManager;
  * this class.
  *
  * <p>
- * This class provides a set of convenience methods for configuring webapp
- * contexts, all overloads of the method <code>addWebapp</code>. These methods
- * create a webapp context, configure it, and then add it to a {@link Host}.
- * They do not use a global default web.xml; rather, they add a lifecycle
- * listener that adds the standard DefaultServlet, JSP processing, and welcome
- * files.
+ * This class provides a set of convenience methods for configuring web
+ * application contexts; all overloads of the method <code>addWebapp()</code>.
+ * These methods are equivalent to adding a web application to the Host's
+ * appBase (normally the webapps directory). These methods create a Context,
+ * configure it with the equivalent of the defaults provided by
+ * <code>conf/web.xml</code> (see {@link #initWebappDefaults(String)} for
+ * details) and add the Context to a Host. These methods do not use a global
+ * default web.xml; rather, they add a {@link LifecycleListener} to configure
+ * the defaults. Any WEB-INF/web.xml and META-INF/context.xml packaged with the
+ * application will be processed normally. Normal web fragment and
+ * {@link javax.servlet.ServletContainerInitializer} processing will be applied.
  *
  * <p>
  * In complex cases, you may prefer to use the ordinary Tomcat API to create
@@ -221,17 +226,22 @@ public class Tomcat {
         hostname = s;
     }
 
+
     /**
-     * This is equivalent to adding a web application to Tomcat's webapps
-     * directory. The equivalent of the default web.xml will be applied  to the
-     * web application and any WEB-INF/web.xml and META-INF/context.xml packaged
-     * with the application will be processed normally. Normal web fragment and
-     * {@link javax.servlet.ServletContainerInitializer} processing will be
-     * applied.
+     * This is equivalent to adding a web application to a Host's appBase
+     * (usually Tomcat's webapps directory). By default, the equivalent of the
+     * default web.xml will be applied to the web application (see
+     * {@link #initWebappDefaults(String)}). This may be prevented by calling
+     * {@link #setAddDefaultWebXmlToWebapp(boolean)} with {@code false}. Any
+     * <code>WEB-INF/web.xml</code> and <code>META-INF/context.xml</code>
+     * packaged with the application will always be processed and normal web
+     * fragment and {@link javax.servlet.ServletContainerInitializer} processing
+     * will always be applied.
      *
      * @param contextPath The context mapping to use, "" for root context.
-     * @param docBase Base directory for the context, for static files.
-     *  Must exist, relative to the server home
+     * @param docBase     Base directory for the context, for static files. Must
+     *                        exist, relative to the server home
+     *
      * @return the deployed context
      */
     public Context addWebapp(String contextPath, String docBase) {
@@ -674,13 +684,24 @@ public class Tomcat {
         return ctx;
     }
 
+
     /**
-     * @param host The host in which the context will be deployed
+     * This is equivalent to adding a web application to a Host's appBase
+     * (usually Tomcat's webapps directory). By default, the equivalent of the
+     * default web.xml will be applied to the web application (see
+     * {@link #initWebappDefaults(String)}). This may be prevented by calling
+     * {@link #setAddDefaultWebXmlToWebapp(boolean)} with {@code false}. Any
+     * <code>WEB-INF/web.xml</code> and <code>META-INF/context.xml</code>
+     * packaged with the application will always be processed and normal web
+     * fragment and {@link javax.servlet.ServletContainerInitializer} processing
+     * will always be applied.
+     *
+     * @param host        The host in which the context will be deployed
      * @param contextPath The context mapping to use, "" for root context.
-     * @param docBase Base directory for the context, for static files.
-     *  Must exist, relative to the server home
+     * @param docBase     Base directory for the context, for static files. Must
+     *                        exist, relative to the server home
+     *
      * @return the deployed context
-     * @see #addWebapp(String, String)
      */
     public Context addWebapp(Host host, String contextPath, String docBase) {
         LifecycleListener listener = null;
@@ -696,14 +717,27 @@ public class Tomcat {
         return addWebapp(host, contextPath, docBase, listener);
     }
 
+
     /**
-     * @param host The host in which the context will be deployed
+     * This is equivalent to adding a web application to a Host's appBase
+     * (usually Tomcat's webapps directory). By default, the equivalent of the
+     * default web.xml will be applied to the web application (see
+     * {@link #initWebappDefaults(String)}). This may be prevented by calling
+     * {@link #setAddDefaultWebXmlToWebapp(boolean)} with {@code false}. Any
+     * <code>WEB-INF/web.xml</code> and <code>META-INF/context.xml</code>
+     * packaged with the application will always be processed and normal web
+     * fragment and {@link javax.servlet.ServletContainerInitializer} processing
+     * will always be applied.
+     *
+     * @param host        The host in which the context will be deployed
      * @param contextPath The context mapping to use, "" for root context.
-     * @param docBase Base directory for the context, for static files.
-     *  Must exist, relative to the server home
-     * @param config Custom context configurator helper
+     * @param docBase     Base directory for the context, for static files. Must
+     *                        exist, relative to the server home
+     * @param config      Custom context configuration helper. Any configuration
+     *                        will be in addition to equivalent of the default
+     *                        web.xml configuration described above.
+     *
      * @return the deployed context
-     * @see #addWebapp(String, String)
      */
     public Context addWebapp(Host host, String contextPath, String docBase,
             LifecycleListener config) {
@@ -1005,22 +1039,32 @@ public class Tomcat {
         }
     }
 
+
     /**
-     * Provide default configuration for a context. This is the programmatic
-     * equivalent of the default web.xml.
-     *
-     *  TODO: in normal Tomcat, if default-web.xml is not found, use this
-     *  method
+     * Provide default configuration for a context. This is broadly the
+     * programmatic equivalent of the default web.xml and provides the following
+     * features:
+     * <ul>
+     * <li>Default servlet mapped to "/"</li>
+     * <li>JSP servlet mapped to "*.jsp" and ""*.jspx"</li>
+     * <li>Session timeout of 30 minutes</li>
+     * <li>MIME mappings (subset of those in conf/web.xml)</li>
+     * <li>Welcome files</li>
+     * </ul>
+     * TODO: Align the MIME mappings with conf/web.xml - possibly via a common
+     *       file.
      *
-     * @param contextPath   The context to set the defaults for
+     * @param contextPath   The path of the context to set the defaults for
      */
     public void initWebappDefaults(String contextPath) {
         Container ctx = getHost().findChild(contextPath);
         initWebappDefaults((Context) ctx);
     }
 
+
     /**
-     * Static version of {@link #initWebappDefaults(String)}
+     * Static version of {@link #initWebappDefaults(String)}.
+     *
      * @param ctx   The context to set the defaults for
      */
     public static void initWebappDefaults(Context ctx) {
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 96f5512..ceea555 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -60,6 +60,10 @@
         current directory if none has been set, for full compatibility with
         existing code. (remm)
       </fix>
+      <fix>
+        <bug>64008</bug>: Clarify/expand the Javadoc for the
+        <code>Tomcat#addWebapp()</code> and related methods. (markt)
+      </fix>
     </changelog>
   </subsection>
   <subsection name="Coyote">


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org