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 2013/08/29 11:02:41 UTC

svn commit: r1518540 [1/3] - in /tomcat/trunk: modules/jdbc-pool/doc/ webapps/docs/

Author: markt
Date: Thu Aug 29 09:02:41 2013
New Revision: 1518540

URL: http://svn.apache.org/r1518540
Log:
Further fixes for https://issues.apache.org/bugzilla/show_bug.cgi?id=55383
Improve HTML markup and follow new XSLT - Part 1.
Patch provided by  Konstantin Preißer.

Modified:
    tomcat/trunk/modules/jdbc-pool/doc/jdbc-pool.xml
    tomcat/trunk/webapps/docs/aio.xml
    tomcat/trunk/webapps/docs/apr.xml
    tomcat/trunk/webapps/docs/building.xml
    tomcat/trunk/webapps/docs/cgi-howto.xml
    tomcat/trunk/webapps/docs/class-loader-howto.xml
    tomcat/trunk/webapps/docs/cluster-howto.xml
    tomcat/trunk/webapps/docs/connectors.xml
    tomcat/trunk/webapps/docs/default-servlet.xml
    tomcat/trunk/webapps/docs/deployer-howto.xml
    tomcat/trunk/webapps/docs/html-manager-howto.xml
    tomcat/trunk/webapps/docs/jasper-howto.xml
    tomcat/trunk/webapps/docs/jndi-datasource-examples-howto.xml
    tomcat/trunk/webapps/docs/jndi-resources-howto.xml
    tomcat/trunk/webapps/docs/logging.xml
    tomcat/trunk/webapps/docs/manager-howto.xml

Modified: tomcat/trunk/modules/jdbc-pool/doc/jdbc-pool.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/doc/jdbc-pool.xml?rev=1518540&r1=1518539&r2=1518540&view=diff
==============================================================================
--- tomcat/trunk/modules/jdbc-pool/doc/jdbc-pool.xml (original)
+++ tomcat/trunk/modules/jdbc-pool/doc/jdbc-pool.xml Thu Aug 29 09:02:41 2013
@@ -41,7 +41,7 @@
 
   <p>So why do we need a new connection pool?</p>
 
-  <p>Here are a few of the reasons:
+  <p>Here are a few of the reasons:</p>
     <ol>
       <li>commons-dbcp is single threaded, in order to be thread safe commons-dbcp locks the entire pool, even during query validation.</li>
       <li>commons-dbcp is slow - as the number of logical CPUs grow, the performance suffers, the above point shows that there is not support for high concurrency
@@ -59,9 +59,8 @@
       <li>Starvation proof. If a pool is empty, and threads are waiting for a connection, when a connection is returned,
           the pool will awake the correct thread waiting. Most pools will simply starve.</li>
     </ol>
-  </p>
 
-  <p>Features added over other connection pool implementations
+  <p>Features added over other connection pool implementations</p>
     <ol>
       <li>Support for highly concurrent environments and multi core/cpu systems.</li>
       <li>Dynamic implementation of interface, will support <code>java.sql</code> and <code>javax.sql</code> interfaces for
@@ -96,7 +95,6 @@
           This is achieved using the <code>dataSource</code> and <code>dataSourceJNDI</code> attributes.</li>
       <li>XA connection support</li>
     </ol>
-  </p>
 
 
 </section>
@@ -173,7 +171,7 @@
     </attribute>
 
     <attribute name="defaultTransactionIsolation" required="false">
-      <p>(String) The default TransactionIsolation state of connections created by this pool. One of the following: (see javadoc )
+      <p>(String) The default TransactionIsolation state of connections created by this pool. One of the following: (see javadoc )</p>
          <ul>
            <li><code>NONE</code></li>
            <li><code>READ_COMMITTED</code></li>
@@ -181,8 +179,7 @@
            <li><code>REPEATABLE_READ</code></li>
            <li><code>SERIALIZABLE</code></li>
          </ul>
-         If not set, the method will not be called and it defaults to the JDBC driver.
-      </p>
+         <p>If not set, the method will not be called and it defaults to the JDBC driver.</p>
     </attribute>
 
     <attribute name="defaultCatalog" required="false">
@@ -673,8 +670,7 @@
   <p>Other examples of Tomcat configuration for JDBC usage can be found <a href="http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html">in the Tomcat documentation</a>. </p>
   <subsection name="Plain Ol' Java">
     <p>Here is a simple example of how to create and use a data source.</p>
-<source>
-  import java.sql.Connection;
+<source><![CDATA[  import java.sql.Connection;
   import java.sql.ResultSet;
   import java.sql.Statement;
 
@@ -705,8 +701,8 @@
           p.setLogAbandoned(true);
           p.setRemoveAbandoned(true);
           p.setJdbcInterceptors(
-            &quot;org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;&quot;+
-            &quot;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer&quot;);
+            "org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;"+
+            "org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer");
           DataSource datasource = new DataSource();
           datasource.setPoolProperties(p);
 
@@ -727,53 +723,50 @@
           }
       }
 
-  }
-</source>
+  }]]></source>
   </subsection>
   <subsection name="As a Resource">
     <p>And here is an example on how to configure a resource for JNDI lookups</p>
-<source>
-&lt;Resource name=&quot;jdbc/TestDB&quot;
-          auth=&quot;Container&quot;
-          type=&quot;javax.sql.DataSource&quot;
-          factory=&quot;org.apache.tomcat.jdbc.pool.DataSourceFactory&quot;
-          testWhileIdle=&quot;true&quot;
-          testOnBorrow=&quot;true&quot;
-          testOnReturn=&quot;false&quot;
-          validationQuery=&quot;SELECT 1&quot;
-          validationInterval=&quot;30000&quot;
-          timeBetweenEvictionRunsMillis=&quot;30000&quot;
-          maxActive=&quot;100&quot;
-          minIdle=&quot;10&quot;
-          maxWait=&quot;10000&quot;
-          initialSize=&quot;10&quot;
-          removeAbandonedTimeout=&quot;60&quot;
-          removeAbandoned=&quot;true&quot;
-          logAbandoned=&quot;true&quot;
-          minEvictableIdleTimeMillis=&quot;30000&quot;
-          jmxEnabled=&quot;true&quot;
-          jdbcInterceptors=&quot;org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;
-            org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer&quot;
-          username=&quot;root&quot;
-          password=&quot;password&quot;
-          driverClassName=&quot;com.mysql.jdbc.Driver&quot;
-          url=&quot;jdbc:mysql://localhost:3306/mysql&quot;/&gt;
-</source>
+<source><![CDATA[<Resource name="jdbc/TestDB"
+          auth="Container"
+          type="javax.sql.DataSource"
+          factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
+          testWhileIdle="true"
+          testOnBorrow="true"
+          testOnReturn="false"
+          validationQuery="SELECT 1"
+          validationInterval="30000"
+          timeBetweenEvictionRunsMillis="30000"
+          maxActive="100"
+          minIdle="10"
+          maxWait="10000"
+          initialSize="10"
+          removeAbandonedTimeout="60"
+          removeAbandoned="true"
+          logAbandoned="true"
+          minEvictableIdleTimeMillis="30000"
+          jmxEnabled="true"
+          jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;
+            org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
+          username="root"
+          password="password"
+          driverClassName="com.mysql.jdbc.Driver"
+          url="jdbc:mysql://localhost:3306/mysql"/>]]></source>
 
   </subsection>
   <subsection name="Asynchronous Connection Retrieval">
     <p> The Tomcat JDBC connection pool supports asynchronous connection retrieval without adding additional threads to the
         pool library. It does this by adding a method to the data source called <code>Future&lt;Connection&gt; getConnectionAsync()</code>.
         In order to use the async retrieval, two conditions must be met:
+    </p>
         <ol>
           <li>You must configure the <code>fairQueue</code> property to be <code>true</code>.</li>
           <li>You will have to cast the data source to <code>org.apache.tomcat.jdbc.pool.DataSource</code></li>
         </ol>
         An example of using the async feature is show below.
-<source>
-  Connection con = null;
+<source><![CDATA[  Connection con = null;
   try {
-    Future&lt;Connection&gt; future = datasource.getConnectionAsync();
+    Future<Connection> future = datasource.getConnectionAsync();
     while (!future.isDone()) {
       System.out.println("Connection is not yet available. Do some background work");
       try {
@@ -784,9 +777,8 @@
     }
     con = future.get(); //should return instantly
     Statement st = con.createStatement();
-    ResultSet rs = st.executeQuery("select * from user");
-</source>
-    </p>
+    ResultSet rs = st.executeQuery("select * from user");]]></source>
+
   </subsection>
   <subsection name="Interceptors">
     <p>Interceptors are a powerful way to enable, disable or modify functionality on a specific connection or its sub components.
@@ -796,91 +788,86 @@
        the pool itself will not reset them.</p>
     <p>An interceptor has to extend the <code>org.apache.tomcat.jdbc.pool.JdbcInterceptor</code> class. This class is fairly simple,
        You will need to have a no arg constructor</p>
-<source>
-  public JdbcInterceptor() {
-  }
-</source>
+<source><![CDATA[  public JdbcInterceptor() {
+  }]]></source>
     <p>
        When a connection is borrowed from the pool, the interceptor can initialize or in some other way react to the event by implementing the
-<source>
-  public abstract void reset(ConnectionPool parent, PooledConnection con);
-</source>
+    </p>
+<source><![CDATA[  public abstract void reset(ConnectionPool parent, PooledConnection con);]]></source>
+    <p>
        method. This method gets called with two parameters, a reference to the connection pool itself <code>ConnectionPool parent</code>
        and a reference to the underlying connection <code>PooledConnection con</code>.
     </p>
     <p>
        When a method on the <code>java.sql.Connection</code> object is invoked, it will cause the
-<source>
-  public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
-</source>
+    </p>
+<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
        if the connection has been closed
-<source>
-  if (CLOSE_VAL==method.getName()) {
+    </p>
+<source><![CDATA[  if (CLOSE_VAL==method.getName()) {
       if (isClosed()) return null; //noop for already closed.
   }
-  return super.invoke(proxy,method,args);
-</source>
+  return super.invoke(proxy,method,args);]]></source>
+    <p>
         There is an observation being made. It is the comparison of the method name. One way to do this would be to do
         <code>&quot;close&quot;.equals(method.getName())</code>.
         Above we see a direct reference comparison between the method name and <code>static final String</code> reference.
         According to the JVM spec, method names and static final String end up in a shared constant pool, so the reference comparison should work.
         One could of course do this as well:
-<source>
-  if (compare(CLOSE_VAL,method)) {
+    </p>
+<source><![CDATA[  if (compare(CLOSE_VAL,method)) {
       if (isClosed()) return null; //noop for already closed.
   }
-  return super.invoke(proxy,method,args);
-</source>
+  return super.invoke(proxy,method,args);]]></source>
+    <p>
         The <code>compare(String,Method)</code> will use the <code>useEquals</code> flag on an interceptor and do either reference comparison or
         a string value comparison when the <code>useEquals=true</code> flag is set.
     </p>
     <p>Pool start/stop<br/>
        When the connection pool is started or closed, you can be notifed. You will only be notified once per interceptor class
        even though it is an instance method. and you will be notified using an interceptor currently not attached to a pool.
-<source>
-  public void poolStarted(ConnectionPool pool) {
+    </p>
+<source><![CDATA[  public void poolStarted(ConnectionPool pool) {
   }
 
   public void poolClosed(ConnectionPool pool) {
-  }
-</source>
+  }]]></source>
+    <p>
        When overriding these methods, don't forget to call super if you are extending a class other than <code>JdbcInterceptor</code>
     </p>
     <p>Configuring interceptors<br/>
        Interceptors are configured using the <code>jdbcInterceptors</code> property or the <code>setJdbcInterceptors</code> method.
        An interceptor can have properties, and would be configured like this
-<source>
-  String jdbcInterceptors=
-    &quot;org.apache.tomcat.jdbc.pool.interceptor.ConnectionState(useEquals=true,fast=yes)&quot;
-</source>
     </p>
+<source><![CDATA[  String jdbcInterceptors=
+    "org.apache.tomcat.jdbc.pool.interceptor.ConnectionState(useEquals=true,fast=yes)"]]></source>
+
     <p>Interceptor properties<br/>
        Since interceptors can have properties, you need to be able to read the values of these properties within your
        interceptor. Taking an example like the one above, you can override the <code>setProperties</code> method.
-<source>
-  public void setProperties(Map&lt;String, InterceptorProperty&gt; properties) {
+    </p>
+<source><![CDATA[  public void setProperties(Map<String, InterceptorProperty> properties) {
      super.setProperties(properties);
-     final String myprop = &quot;myprop&quot;;
+     final String myprop = "myprop";
      InterceptorProperty p1 = properties.get(myprop);
      if (p1!=null) {
          setMyprop(Long.parseLong(p1.getValue()));
      }
-  }
-</source>
-    </p>
+  }]]></source>
+
   </subsection>
   <subsection name="Getting the actual JDBC connection">
     <p>Connection pools create wrappers around the actual connection in order to properly pool them.
        We also create interceptors in these wrappers to be able to perform certain functions.
        If there is a need to retrieve the actual connection, one can do so using the <code>javax.sql.PooledConnection</code>
        interface.
-<source>
-  Connection con = datasource.getConnection();
-  Connection actual = ((javax.sql.PooledConnection)con).getConnection();
-</source>
     </p>
+<source><![CDATA[  Connection con = datasource.getConnection();
+  Connection actual = ((javax.sql.PooledConnection)con).getConnection();]]></source>
+
   </subsection>
 
 </section>
@@ -890,25 +877,22 @@
   <p>Other examples of Tomcat configuration for JDBC usage can be found <a href="http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html">in the Tomcat documentation</a>. </p>
   <subsection name="Building from source">
     <p>Building is pretty simple. The pool has a dependency on <code>tomcat-juli.jar</code> and in case you want the <code>SlowQueryReportJmx</code></p>
-<source>
-  javac -classpath tomcat-juli.jar \
+<source><![CDATA[  javac -classpath tomcat-juli.jar \
         -d . \
         org/apache/tomcat/jdbc/pool/*.java \
         org/apache/tomcat/jdbc/pool/interceptor/*.java \
-        org/apache/tomcat/jdbc/pool/jmx/*.java
-</source>
+        org/apache/tomcat/jdbc/pool/jmx/*.java]]></source>
     <p>
        A build file can be found in the Tomcat <a href="http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/">source repository</a>.
     </p>
     <p>
       As a convenience, a build file is also included where a simple build command will generate all files needed.
-<source>
-  ant download  (downloads dependencies)
+    </p>
+<source>  ant download  (downloads dependencies)
   ant build     (compiles and generates .jar files)
   ant dist      (creates a release package)
-  ant test      (runs tests, expects a test database to be setup)
-</source>
-    </p>
+  ant test      (runs tests, expects a test database to be setup)</source>
+
     <p>
       The system is structured for a Maven build, but does generate release artifacts. Just the library itself.
     </p>

Modified: tomcat/trunk/webapps/docs/aio.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/aio.xml?rev=1518540&r1=1518539&r2=1518540&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/aio.xml (original)
+++ tomcat/trunk/webapps/docs/aio.xml Thu Aug 29 09:02:41 2013
@@ -161,12 +161,11 @@
     described above:
   </p>
 
-  <source>
-public class ChatServlet
+  <source><![CDATA[public class ChatServlet
     extends HttpServlet implements CometProcessor {
 
-    protected ArrayList&lt;HttpServletResponse> connections =
-        new ArrayList&lt;HttpServletResponse>();
+    protected ArrayList<HttpServletResponse> connections =
+        new ArrayList<HttpServletResponse>();
     protected MessageSender messageSender = null;
 
     public void init() throws ServletException {
@@ -197,8 +196,8 @@ public class ChatServlet
         if (event.getEventType() == CometEvent.EventType.BEGIN) {
             log("Begin for session: " + request.getSession(true).getId());
             PrintWriter writer = response.getWriter();
-            writer.println("&lt;!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">");
-            writer.println("&lt;head>&lt;title>JSP Chat&lt;/title>&lt;/head>&lt;body bgcolor=\"#FFFFFF\">");
+            writer.println("<!DOCTYPE html>");
+            writer.println("<head><title>JSP Chat</title></head><body>");
             writer.flush();
             synchronized(connections) {
                 connections.add(response);
@@ -215,17 +214,17 @@ public class ChatServlet
                 connections.remove(response);
             }
             PrintWriter writer = response.getWriter();
-            writer.println("&lt;/body>&lt;/html>");
+            writer.println("</body></html>");
             event.close();
         } else if (event.getEventType() == CometEvent.EventType.READ) {
             InputStream is = request.getInputStream();
             byte[] buf = new byte[512];
             do {
                 int n = is.read(buf); //can throw an IOException
-                if (n &gt; 0) {
+                if (n > 0) {
                     log("Read " + n + " bytes: " + new String(buf, 0, n)
                             + " for session: " + request.getSession(true).getId());
-                } else if (n &lt; 0) {
+                } else if (n < 0) {
                     error(event, request, response);
                     return;
                 }
@@ -236,7 +235,7 @@ public class ChatServlet
     public class MessageSender implements Runnable {
 
         protected boolean running = true;
-        protected ArrayList&lt;String> messages = new ArrayList&lt;String>();
+        protected ArrayList<String> messages = new ArrayList<String>();
 
         public MessageSender() {
         }
@@ -276,11 +275,11 @@ public class ChatServlet
                         messages.clear();
                     }
                     // Send any pending message on all the open connections
-                    for (int i = 0; i &lt; connections.size(); i++) {
+                    for (int i = 0; i < connections.size(); i++) {
                         try {
                             PrintWriter writer = connections.get(i).getWriter();
-                            for (int j = 0; j &lt; pendingMessages.length; j++) {
-                                writer.println(pendingMessages[j] + "&lt;br>");
+                            for (int j = 0; j < pendingMessages.length; j++) {
+                                writer.println(pendingMessages[j] + "<br>");
                             }
                             writer.flush();
                         } catch (IOException e) {
@@ -295,15 +294,16 @@ public class ChatServlet
 
     }
 
-}
-  </source>
+}]]></source>
 
   </subsection>
   <subsection name="Comet timeouts">
     <p>If you are using the NIO connector, you can set individual timeouts for your different comet connections.
-       To set a timeout, simply set a request attribute like the following code shows:
-       <source>CometEvent event.... event.setTimeout(30*1000);</source> or
-       <source>event.getHttpServletRequest().setAttribute("org.apache.tomcat.comet.timeout", new Integer(30 * 1000));</source>
+       To set a timeout, simply set a request attribute like the following code shows:</p>
+    <source>CometEvent event.... event.setTimeout(30*1000);</source>
+    <p>or</p>
+    <source>event.getHttpServletRequest().setAttribute("org.apache.tomcat.comet.timeout", new Integer(30 * 1000));</source>
+    <p>
        This sets the timeout to 30 seconds.
        Important note: in order to set this timeout, it has to be done on the <code>BEGIN</code> event.
        The default value is <code>soTimeout</code>

Modified: tomcat/trunk/webapps/docs/apr.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/apr.xml?rev=1518540&r1=1518539&r2=1518540&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/apr.xml (original)
+++ tomcat/trunk/webapps/docs/apr.xml Thu Aug 29 09:02:41 2013
@@ -57,12 +57,12 @@
 
     <p>
       APR support requires three main native components to be installed:
-      <ul>
-        <li>APR library</li>
-        <li>JNI wrappers for APR used by Tomcat (libtcnative)</li>
-        <li>OpenSSL libraries</li>
-      </ul>
     </p>
+    <ul>
+      <li>APR library</li>
+      <li>JNI wrappers for APR used by Tomcat (libtcnative)</li>
+      <li>OpenSSL libraries</li>
+    </ul>
 
     <subsection name="Windows">
 
@@ -87,21 +87,21 @@
 
     <p>
       Requirements:
-      <ul>
-        <li>APR 1.2+ development headers (libapr1-dev package)</li>
-        <li>OpenSSL 0.9.7+ development headers (libssl-dev package)</li>
-        <li>JNI headers from Java compatible JDK 1.4+</li>
-        <li>GNU development environment (gcc, make)</li>
-      </ul>
     </p>
+    <ul>
+      <li>APR 1.2+ development headers (libapr1-dev package)</li>
+      <li>OpenSSL 0.9.7+ development headers (libssl-dev package)</li>
+      <li>JNI headers from Java compatible JDK 1.4+</li>
+      <li>GNU development environment (gcc, make)</li>
+    </ul>
 
     <p>
       The wrapper library sources are located in the Tomcat binary bundle, in the
       <code>bin/tomcat-native.tar.gz</code> archive.
       Once the build environment is installed and the source archive is extracted, the wrapper library
       can be compiled using (from the folder containing the configure script):
-      <source>./configure &amp;&amp; make &amp;&amp; make install</source>
     </p>
+    <source>./configure &amp;&amp; make &amp;&amp; make install</source>
 
     </subsection>
 
@@ -119,32 +119,33 @@
 
   <p>
     When APR is enabled, the following features are also enabled in Tomcat:
-    <ul>
-      <li>Secure session ID generation by default on all platforms (platforms other than Linux required
-          random number generation using a configured entropy)</li>
-      <li>OS level statistics on memory usage and CPU usage by the Tomcat process are displayed by
-          the status servlet</li>
-    </ul>
   </p>
+  <ul>
+    <li>Secure session ID generation by default on all platforms (platforms other than Linux required
+        random number generation using a configured entropy)</li>
+    <li>OS level statistics on memory usage and CPU usage by the Tomcat process are displayed by
+        the status servlet</li>
+  </ul>
 
   </section>
 
   <section name="APR Lifecycle Listener Configuration">
     <subsection name="AprLifecycleListener">
+    <attributes>
     <attribute name="SSLEngine" required="false">
     <p>
       Name of the SSLEngine to use. off: Do not use SSL, on: Use SSL but no specific ENGINE.
       The default value is <b>on</b>.
       This initializes the native SSL engine, then enable the use of this engine in the connector
       using the <code>SSLEnabled</code> attribute. Example:
-      <source>
-&lt;Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /&gt;
-      </source>
     </p>
+      <source><![CDATA[<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />]]></source>
+
     <p>See the <a href="http://www.openssl.org">Official OpenSSL
        website</a> for more details on SSL hardware engines and manufacturers.
     </p>
     </attribute>
+    </attributes>
     </subsection>
   </section>
 
@@ -156,19 +157,18 @@
       connector configuration documentation.</p>
 
       <p>For HTTPS configuration, see the
-      <a href="config/http.html#SSL%20Support">HTTPS</a> connector configuration
+      <a href="config/http.html#SSL_Support">HTTPS</a> connector configuration
       documentation.</p>
 
-      <p>An example SSL Connector declaration is:
-      <source>
-      &lt;Connector port="443" maxHttpHeaderSize="8192"
+      <p>An example SSL Connector declaration is:</p>
+      <source><![CDATA[<Connector port="443" maxHttpHeaderSize="8192"
                  maxThreads="150"
                  enableLookups="false" disableUploadTimeout="true"
                  acceptCount="100" scheme="https" secure="true"
                  SSLEnabled="true"
                  SSLCertificateFile="${catalina.base}/conf/localhost.crt"
-                 SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" /&gt;</source>
-      </p>
+                 SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" />]]></source>
+
 
     </subsection>
 

Modified: tomcat/trunk/webapps/docs/building.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/building.xml?rev=1518540&r1=1518539&r2=1518540&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/building.xml (original)
+++ tomcat/trunk/webapps/docs/building.xml Thu Aug 29 09:02:41 2013
@@ -107,10 +107,10 @@ available, which will be used to actuall
 
 <p>
 Use the following commands to build Tomcat:
-<br/>
-<code><br/>
+<br/><br/>
+<code>
     cd ${tomcat.source}<br/>
-    ant<br/>
+    ant
 </code>
 </p>
 
@@ -133,20 +133,18 @@ Use the following commands to build Tomc
 <p>
   The build can be controlled by creating a <code>${tomcat.source}/build.properties</code>
   file and adding the following content to it:
-<br/>
-<code><br/>
-    # ----- Proxy setup -----<br/>
-    # Uncomment if using a proxy server.<br/>
-    #proxy.host=proxy.domain<br/>
-    #proxy.port=8080<br/>
-    #proxy.use=on<br/>
-<br/>
-    # ----- Default Base Path for Dependent Packages -----<br/>
-    # Replace this path with the directory path where<br/>
-    # dependencies binaries should be downloaded.<br/>
-    base.path=/home/me/some-place-to-download-to<br/>
-</code>
 </p>
+<source># ----- Proxy setup -----
+# Uncomment if using a proxy server.
+#proxy.host=proxy.domain
+#proxy.port=8080
+#proxy.use=on
+
+# ----- Default Base Path for Dependent Packages -----
+# Replace this path with the directory path where
+# dependencies binaries should be downloaded.
+base.path=/home/me/some-place-to-download-to</source>
+
 
 <p>
 Once the build has completed successfully, a usable Tomcat installation will have been
@@ -204,13 +202,13 @@ Open the <em>Preferences</em> dialog and
 Variables</em> to add two new <em>Classpath Variables</em>:
 </p>
 
-<p>
-<table border="1">
+
+<table class="defaultTable">
  <tr><td>TOMCAT_LIBS_BASE</td><td>The same location as the <code>base.path</code>
   setting in <code>build.properties</code>, where the binary dependencies have been downloaded</td></tr>
  <tr><td>ANT_HOME</td><td>the base path of Ant 1.8.1 or later</td></tr>
 </table>
-</p>
+
 
 <p>
 Use <em>File-&gt;Import</em> and choose <em>Existing Projects into Workspace</em>.
@@ -232,8 +230,8 @@ then use <code>org.apache.catalina.start
 Tweaking a few formatting preferences will make it much easier to keep consistent with Tomcat
 coding conventions (and have your contributions accepted):
 </p>
-<p>
-<table border="1">
+
+<table class="defaultTable">
   <tr><td>Java -&gt; Code Style -> Formatter -&gt; Edit...</td>
   <td>Tab policy: Spaces only<br/>Tab and Indentation size: 4</td></tr>
   <tr><td>General -&gt; Editors -> Text Editors</td>
@@ -241,7 +239,7 @@ coding conventions (and have your contri
   <tr><td>XML -&gt; XML Files -> Editor</td><td>Indent using spaces<br/>Indentation size: 2</td></tr>
   <tr><td>Ant -&gt; Editor -> Formatter</td><td>Tab size: 2<br/>Use tab character instead of spaces: unchecked</td></tr>
 </table>
-</p>
+
 
 </section>
 

Modified: tomcat/trunk/webapps/docs/cgi-howto.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/cgi-howto.xml?rev=1518540&r1=1518539&r2=1518540&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/cgi-howto.xml (original)
+++ tomcat/trunk/webapps/docs/cgi-howto.xml Thu Aug 29 09:02:41 2013
@@ -72,7 +72,7 @@ privileged property of the Context eleme
 <section name="Configuration">
 
 <p>There are several servlet init parameters which can be used to
-configure the behaviour of the CGI servlet.
+configure the behaviour of the CGI servlet.</p>
 <ul>
 <li><strong>cgiPathPrefix</strong> - The CGI search path will start at
 the web application root directory + File.separator + this prefix.
@@ -96,7 +96,7 @@ variables (if any) be passed to the CGI 
 the reading of stderr to complete before terminating the CGI process. Default
 is 2000.</li>
 </ul>
-</p>
+
 
 </section>
 

Modified: tomcat/trunk/webapps/docs/class-loader-howto.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/class-loader-howto.xml?rev=1518540&r1=1518539&r2=1518540&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/class-loader-howto.xml (original)
+++ tomcat/trunk/webapps/docs/class-loader-howto.xml Thu Aug 29 09:02:41 2013
@@ -56,15 +56,13 @@ as discussed below, but the main princip
 organized into the following parent-child relationships, where the parent
 class loader is above the child class loader:</p>
 
-<source>
-      Bootstrap
+<source>      Bootstrap
           |
        System
           |
        Common
        /     \
-  Webapp1   Webapp2 ...
-</source>
+  Webapp1   Webapp2 ...</source>
 
 <p>The characteristics of each of these class loaders, including the source
 of classes and resources that they make visible, are discussed in detail in

Modified: tomcat/trunk/webapps/docs/cluster-howto.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/cluster-howto.xml?rev=1518540&r1=1518539&r2=1518540&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/cluster-howto.xml (original)
+++ tomcat/trunk/webapps/docs/cluster-howto.xml Thu Aug 29 09:02:41 2013
@@ -41,7 +41,10 @@
 
 <section name="For the impatient">
   <p>
-    Simply add <source>&lt;Cluster className=&quot;org.apache.catalina.ha.tcp.SimpleTcpCluster&quot;/&gt;</source>
+    Simply add
+  </p>
+  <source>&lt;Cluster className=&quot;org.apache.catalina.ha.tcp.SimpleTcpCluster&quot;/&gt;</source>
+  <p>
     to your <code>&lt;Engine&gt;</code> or your <code>&lt;Host&gt;</code> element to enable clustering.
   </p>
   <p>
@@ -51,57 +54,60 @@
     Also when using the delta manager it will replicate to all nodes, even nodes that don't have the application deployed.<br/>
     To get around this problem, you'll want to use the BackupManager. This manager only replicates the session data to one backup
     node, and only to nodes that have the application deployed. Downside of the BackupManager: not quite as battle tested as the delta manager.
-    <br/>
-    Here are some of the important default values:<br/>
-    1. Multicast address is 228.0.0.4<br/>
-    2. Multicast port is 45564 (the port and the address together determine cluster membership.<br/>
-    3. The IP broadcasted is <code>java.net.InetAddress.getLocalHost().getHostAddress()</code> (make sure you don't broadcast 127.0.0.1, this is a common error)<br/>
-    4. The TCP port listening for replication messages is the first available server socket in range <code>4000-4100</code><br/>
-    5. Two listeners are configured <code>ClusterSessionListener</code><br/>
-    6. Two interceptors are configured <code>TcpFailureDetector</code> and <code>MessageDispatch15Interceptor</code><br/>
-    The following is the default cluster configuration:<br/>
-    <source>
-        &lt;Cluster className=&quot;org.apache.catalina.ha.tcp.SimpleTcpCluster&quot;
-                 channelSendOptions=&quot;8&quot;&gt;
-
-          &lt;Manager className=&quot;org.apache.catalina.ha.session.DeltaManager&quot;
-                   expireSessionsOnShutdown=&quot;false&quot;
-                   notifyListenersOnReplication=&quot;true&quot;/&gt;
-
-          &lt;Channel className=&quot;org.apache.catalina.tribes.group.GroupChannel&quot;&gt;
-            &lt;Membership className=&quot;org.apache.catalina.tribes.membership.McastService&quot;
-                        address=&quot;228.0.0.4&quot;
-                        port=&quot;45564&quot;
-                        frequency=&quot;500&quot;
-                        dropTime=&quot;3000&quot;/&gt;
-            &lt;Receiver className=&quot;org.apache.catalina.tribes.transport.nio.NioReceiver&quot;
-                      address=&quot;auto&quot;
-                      port=&quot;4000&quot;
-                      autoBind=&quot;100&quot;
-                      selectorTimeout=&quot;5000&quot;
-                      maxThreads=&quot;6&quot;/&gt;
-
-            &lt;Sender className=&quot;org.apache.catalina.tribes.transport.ReplicationTransmitter&quot;&gt;
-              &lt;Transport className=&quot;org.apache.catalina.tribes.transport.nio.PooledParallelSender&quot;/&gt;
-            &lt;/Sender&gt;
-            &lt;Interceptor className=&quot;org.apache.catalina.tribes.group.interceptors.TcpFailureDetector&quot;/&gt;
-            &lt;Interceptor className=&quot;org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor&quot;/&gt;
-          &lt;/Channel&gt;
-
-          &lt;Valve className=&quot;org.apache.catalina.ha.tcp.ReplicationValve&quot;
-                 filter=&quot;&quot;/&gt;
-          &lt;Valve className=&quot;org.apache.catalina.ha.session.JvmRouteBinderValve&quot;/&gt;
-
-          &lt;Deployer className=&quot;org.apache.catalina.ha.deploy.FarmWarDeployer&quot;
-                    tempDir=&quot;/tmp/war-temp/&quot;
-                    deployDir=&quot;/tmp/war-deploy/&quot;
-                    watchDir=&quot;/tmp/war-listen/&quot;
-                    watchEnabled=&quot;false&quot;/&gt;
-
-          &lt;ClusterListener className=&quot;org.apache.catalina.ha.session.ClusterSessionListener&quot;/&gt;
-        &lt;/Cluster&gt;
-    </source>
   </p>
+  <p>
+    Here are some of the important default values:
+  </p>
+  <ol>
+    <li>Multicast address is 228.0.0.4</li>
+    <li>Multicast port is 45564 (the port and the address together determine cluster membership.</li>
+    <li>The IP broadcasted is <code>java.net.InetAddress.getLocalHost().getHostAddress()</code> (make sure you don't broadcast 127.0.0.1, this is a common error)</li>
+    <li>The TCP port listening for replication messages is the first available server socket in range <code>4000-4100</code></li>
+    <li>Two listeners are configured <code>ClusterSessionListener</code></li>
+    <li>Two interceptors are configured <code>TcpFailureDetector</code> and <code>MessageDispatch15Interceptor</code></li>
+  </ol>
+  <p>
+    The following is the default cluster configuration:
+  </p>
+  <source><![CDATA[        <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
+                 channelSendOptions="8">
+
+          <Manager className="org.apache.catalina.ha.session.DeltaManager"
+                   expireSessionsOnShutdown="false"
+                   notifyListenersOnReplication="true"/>
+
+          <Channel className="org.apache.catalina.tribes.group.GroupChannel">
+            <Membership className="org.apache.catalina.tribes.membership.McastService"
+                        address="228.0.0.4"
+                        port="45564"
+                        frequency="500"
+                        dropTime="3000"/>
+            <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
+                      address="auto"
+                      port="4000"
+                      autoBind="100"
+                      selectorTimeout="5000"
+                      maxThreads="6"/>
+
+            <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
+              <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
+            </Sender>
+            <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
+            <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
+          </Channel>
+
+          <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
+                 filter=""/>
+          <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
+
+          <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
+                    tempDir="/tmp/war-temp/"
+                    deployDir="/tmp/war-deploy/"
+                    watchDir="/tmp/war-listen/"
+                    watchEnabled="false"/>
+
+          <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
+        </Cluster>]]></source>
   <p>Will cover this section in more detail later in this document.</p>
 </section>
 
@@ -128,7 +134,7 @@ should be completed:</p>
    side otherwise, a new session will be created.</p>
 <p>Note: Clustering support currently requires the JDK version 1.5 or later.</p>
 <p>The Cluster module uses the Tomcat JULI logging framework, so you can configure logging
-   through the regular logging.properties file. To track messages, you can enable logging on the key:<code>org.apache.catalina.tribes.MESSAGES</code></p>
+   through the regular logging.properties file. To track messages, you can enable logging on the key: <code>org.apache.catalina.tribes.MESSAGES</code></p>
 </section>
 
 
@@ -152,15 +158,13 @@ should be completed:</p>
    A very simple setup would look like this:
    </p>
 
-<source>
-        DNS Round Robin
+<source>        DNS Round Robin
                |
          Load Balancer
           /           \
       Cluster1      Cluster2
       /     \        /     \
-  Tomcat1 Tomcat2  Tomcat3 Tomcat4
-</source>
+  Tomcat1 Tomcat2  Tomcat3 Tomcat4</source>
 
 <p>What is important to mention here, is that session replication is only the beginning of clustering.
    Another popular concept used to implement clusters is farming, i.e., you deploy your apps only to one
@@ -231,58 +235,54 @@ should be completed:</p>
 </section>
 
 <section name="Configuration Example">
-    <source>
-        &lt;Cluster className=&quot;org.apache.catalina.ha.tcp.SimpleTcpCluster&quot;
-                 channelSendOptions=&quot;6&quot;&gt;
-
-          &lt;Manager className=&quot;org.apache.catalina.ha.session.BackupManager&quot;
-                   expireSessionsOnShutdown=&quot;false&quot;
-                   notifyListenersOnReplication=&quot;true&quot;
-                   mapSendOptions=&quot;6&quot;/&gt;
-          &lt;!--
-          &lt;Manager className=&quot;org.apache.catalina.ha.session.DeltaManager&quot;
-                   expireSessionsOnShutdown=&quot;false&quot;
-                   notifyListenersOnReplication=&quot;true&quot;/&gt;
-          --&gt;
-          &lt;Channel className=&quot;org.apache.catalina.tribes.group.GroupChannel&quot;&gt;
-            &lt;Membership className=&quot;org.apache.catalina.tribes.membership.McastService&quot;
-                        address=&quot;228.0.0.4&quot;
-                        port=&quot;45564&quot;
-                        frequency=&quot;500&quot;
-                        dropTime=&quot;3000&quot;/&gt;
-            &lt;Receiver className=&quot;org.apache.catalina.tribes.transport.nio.NioReceiver&quot;
-                      address=&quot;auto&quot;
-                      port=&quot;5000&quot;
-                      selectorTimeout=&quot;100&quot;
-                      maxThreads=&quot;6&quot;/&gt;
-
-            &lt;Sender className=&quot;org.apache.catalina.tribes.transport.ReplicationTransmitter&quot;&gt;
-              &lt;Transport className=&quot;org.apache.catalina.tribes.transport.nio.PooledParallelSender&quot;/&gt;
-            &lt;/Sender&gt;
-            &lt;Interceptor className=&quot;org.apache.catalina.tribes.group.interceptors.TcpFailureDetector&quot;/&gt;
-            &lt;Interceptor className=&quot;org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor&quot;/&gt;
-            &lt;Interceptor className=&quot;org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor&quot;/&gt;
-          &lt;/Channel&gt;
-
-          &lt;Valve className=&quot;org.apache.catalina.ha.tcp.ReplicationValve&quot;
-                 filter=&quot;.*\.gif|.*\.js|.*\.jpeg|.*\.jpg|.*\.png|.*\.htm|.*\.html|.*\.css|.*\.txt&quot;/&gt;
-
-          &lt;Deployer className=&quot;org.apache.catalina.ha.deploy.FarmWarDeployer&quot;
-                    tempDir=&quot;/tmp/war-temp/&quot;
-                    deployDir=&quot;/tmp/war-deploy/&quot;
-                    watchDir=&quot;/tmp/war-listen/&quot;
-                    watchEnabled=&quot;false&quot;/&gt;
-
-          &lt;ClusterListener className=&quot;org.apache.catalina.ha.session.ClusterSessionListener&quot;/&gt;
-        &lt;/Cluster&gt;
-    </source>
+    <source><![CDATA[        <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
+                 channelSendOptions="6">
+
+          <Manager className="org.apache.catalina.ha.session.BackupManager"
+                   expireSessionsOnShutdown="false"
+                   notifyListenersOnReplication="true"
+                   mapSendOptions="6"/>
+          <!--
+          <Manager className="org.apache.catalina.ha.session.DeltaManager"
+                   expireSessionsOnShutdown="false"
+                   notifyListenersOnReplication="true"/>
+          -->
+          <Channel className="org.apache.catalina.tribes.group.GroupChannel">
+            <Membership className="org.apache.catalina.tribes.membership.McastService"
+                        address="228.0.0.4"
+                        port="45564"
+                        frequency="500"
+                        dropTime="3000"/>
+            <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
+                      address="auto"
+                      port="5000"
+                      selectorTimeout="100"
+                      maxThreads="6"/>
+
+            <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
+              <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
+            </Sender>
+            <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
+            <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
+            <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
+          </Channel>
+
+          <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
+                 filter=".*\.gif|.*\.js|.*\.jpeg|.*\.jpg|.*\.png|.*\.htm|.*\.html|.*\.css|.*\.txt"/>
+
+          <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
+                    tempDir="/tmp/war-temp/"
+                    deployDir="/tmp/war-deploy/"
+                    watchDir="/tmp/war-listen/"
+                    watchEnabled="false"/>
+
+          <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
+        </Cluster>]]></source>
     <p>
       Break it down!!
     </p>
-    <source>
-        &lt;Cluster className=&quot;org.apache.catalina.ha.tcp.SimpleTcpCluster&quot;
-                 channelSendOptions=&quot;6&quot;&gt;
-    </source>
+    <source><![CDATA[        <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
+                 channelSendOptions="6">]]></source>
     <p>
       The main element, inside this element all cluster details can be configured.
       The <code>channelSendOptions</code> is the flag that is attached to each message sent by the
@@ -293,17 +293,15 @@ should be completed:</p>
       sends it itself directly through the channel.
       <br/>For more info, Please visit the <a href="config/cluster.html">reference documentation</a>
     </p>
-    <source>
-          &lt;Manager className=&quot;org.apache.catalina.ha.session.BackupManager&quot;
-                   expireSessionsOnShutdown=&quot;false&quot;
-                   notifyListenersOnReplication=&quot;true&quot;
-                   mapSendOptions=&quot;6&quot;/&gt;
-          &lt;!--
-          &lt;Manager className=&quot;org.apache.catalina.ha.session.DeltaManager&quot;
-                   expireSessionsOnShutdown=&quot;false&quot;
-                   notifyListenersOnReplication=&quot;true&quot;/&gt;
-          --&gt;
-    </source>
+    <source><![CDATA[          <Manager className="org.apache.catalina.ha.session.BackupManager"
+                   expireSessionsOnShutdown="false"
+                   notifyListenersOnReplication="true"
+                   mapSendOptions="6"/>
+          <!--
+          <Manager className="org.apache.catalina.ha.session.DeltaManager"
+                   expireSessionsOnShutdown="false"
+                   notifyListenersOnReplication="true"/>
+          -->]]></source>
     <p>
         This is a template for the manager configuration that will be used if no manager is defined in the &lt;Context&gt;
         element. In Tomcat 5.x each webapp marked distributable had to use the same manager, this is no longer the case
@@ -313,21 +311,17 @@ should be completed:</p>
         and create a manager instance cloning this configuration.
         <br/>For more info, Please visit the <a href="config/cluster-manager.html">reference documentation</a>
     </p>
-    <source>
-          &lt;Channel className=&quot;org.apache.catalina.tribes.group.GroupChannel&quot;&gt;
-    </source>
+    <source><![CDATA[          <Channel className="org.apache.catalina.tribes.group.GroupChannel">]]></source>
     <p>
         The channel element is <a href="tribes/introduction.html">Tribes</a>, the group communication framework
         used inside Tomcat. This element encapsulates everything that has to do with communication and membership logic.
         <br/>For more info, Please visit the <a href="config/cluster-channel.html">reference documentation</a>
     </p>
-    <source>
-            &lt;Membership className=&quot;org.apache.catalina.tribes.membership.McastService&quot;
-                        address=&quot;228.0.0.4&quot;
-                        port=&quot;45564&quot;
-                        frequency=&quot;500&quot;
-                        dropTime=&quot;3000&quot;/&gt;
-    </source>
+    <source><![CDATA[            <Membership className="org.apache.catalina.tribes.membership.McastService"
+                        address="228.0.0.4"
+                        port="45564"
+                        frequency="500"
+                        dropTime="3000"/>]]></source>
     <p>
         Membership is done using multicasting. Please note that Tribes also supports static memberships using the
         <code>StaticMembershipInterceptor</code> if you want to extend your membership to points beyond multicasting.
@@ -339,13 +333,11 @@ should be completed:</p>
         <code>Receiver.address</code> attribute.
         <br/>For more info, Please visit the <a href="config/cluster-membership.html">reference documentation</a>
     </p>
-    <source>
-            &lt;Receiver className=&quot;org.apache.catalina.tribes.transport.nio.NioReceiver&quot;
-                      address=&quot;auto&quot;
-                      port=&quot;5000&quot;
-                      selectorTimeout=&quot;100&quot;
-                      maxThreads=&quot;6&quot;/&gt;
-    </source>
+    <source><![CDATA[            <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
+                      address="auto"
+                      port="5000"
+                      selectorTimeout="100"
+                      maxThreads="6"/>]]></source>
     <p>
         In tribes the logic of sending and receiving data has been broken into two functional components. The Receiver, as the name suggests
         is responsible for receiving messages. Since the Tribes stack is thread less, (a popular improvement now adopted by other frameworks as well),
@@ -353,12 +345,9 @@ should be completed:</p>
         The address attribute is the host address that will be broadcasted by the membership component to the other nodes.
         <br/>For more info, Please visit the <a href="config/cluster-receiver.html">reference documentation</a>
     </p>
-    <source>
-
-            &lt;Sender className=&quot;org.apache.catalina.tribes.transport.ReplicationTransmitter&quot;&gt;
-              &lt;Transport className=&quot;org.apache.catalina.tribes.transport.nio.PooledParallelSender&quot;/&gt;
-            &lt;/Sender&gt;
-    </source>
+    <source><![CDATA[            <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
+              <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
+            </Sender>]]></source>
     <p>
         The sender component, as the name indicates is responsible for sending messages to other nodes.
         The sender has a shell component, the <code>ReplicationTransmitter</code> but the real stuff done is done in the
@@ -369,12 +358,10 @@ should be completed:</p>
         at the same time.
         <br/>For more info, Please visit the <a href="config/cluster-sender.html">reference documentation</a>
     </p>
-    <source>
-            &lt;Interceptor className=&quot;org.apache.catalina.tribes.group.interceptors.TcpFailureDetector&quot;/&gt;
-            &lt;Interceptor className=&quot;org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor&quot;/&gt;
-            &lt;Interceptor className=&quot;org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor&quot;/&gt;
-          &lt;/Channel&gt;
-    </source>
+    <source><![CDATA[            <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
+            <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
+            <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
+          </Channel>]]></source>
     <p>
         Tribes uses a stack to send messages through. Each element in the stack is called an interceptor, and works much like the valves do
         in the Tomcat servlet container.
@@ -387,23 +374,19 @@ should be completed:</p>
         channel stack. Think of it as a linked list, with the head being the first most interceptor and the tail the last.
         <br/>For more info, Please visit the <a href="config/cluster-interceptor.html">reference documentation</a>
     </p>
-    <source>
-          &lt;Valve className=&quot;org.apache.catalina.ha.tcp.ReplicationValve&quot;
-                 filter=&quot;.*\.gif|.*\.js|.*\.jpeg|.*\.jpg|.*\.png|.*\.htm|.*\.html|.*\.css|.*\.txt&quot;/&gt;
-    </source>
+    <source><![CDATA[          <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
+                 filter=".*\.gif|.*\.js|.*\.jpeg|.*\.jpg|.*\.png|.*\.htm|.*\.html|.*\.css|.*\.txt"/>]]></source>
     <p>
         The cluster uses valves to track requests to web applications, we've mentioned the ReplicationValve and the JvmRouteBinderValve above.
         The &lt;Cluster&gt; element itself is not part of the pipeline in Tomcat, instead the cluster adds the valve to its parent container.
         If the &lt;Cluster&gt; elements is configured in the &lt;Engine&gt; element, the valves get added to the engine and so on.
         <br/>For more info, Please visit the <a href="config/cluster-valve.html">reference documentation</a>
     </p>
-    <source>
-          &lt;Deployer className=&quot;org.apache.catalina.ha.deploy.FarmWarDeployer&quot;
-                    tempDir=&quot;/tmp/war-temp/&quot;
-                    deployDir=&quot;/tmp/war-deploy/&quot;
-                    watchDir=&quot;/tmp/war-listen/&quot;
-                    watchEnabled=&quot;false&quot;/&gt;
-    </source>
+    <source><![CDATA[          <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
+                    tempDir="/tmp/war-temp/"
+                    deployDir="/tmp/war-deploy/"
+                    watchDir="/tmp/war-listen/"
+                    watchEnabled="false"/>]]></source>
     <p>
         The default tomcat cluster supports farmed deployment, ie, the cluster can deploy and undeploy applications on the other nodes.
         The state of this component is currently in flux but will be addressed soon. There was a change in the deployment algorithm
@@ -411,10 +394,8 @@ should be completed:</p>
         webapps directory.
         <br/>For more info, Please visit the <a href="config/cluster-deployer.html">reference documentation</a>
     </p>
-    <source>
-          &lt;ClusterListener className=&quot;org.apache.catalina.ha.session.ClusterSessionListener&quot;/&gt;
-        &lt;/Cluster&gt;
-    </source>
+    <source><![CDATA[          <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
+        </Cluster>]]></source>
     <p>
         Since the SimpleTcpCluster itself is a sender and receiver of the Channel object, components can register themselves as listeners to
         the SimpleTcpCluster. The listener above <code>ClusterSessionListener</code> listens for DeltaManager replication messages
@@ -426,9 +407,8 @@ should be completed:</p>
 
 <section name="Cluster Architecture">
 
-<p><b>Component Levels:</b>
-<source>
-         Server
+<p><b>Component Levels:</b></p>
+<source>         Server
            |
          Service
            |
@@ -473,9 +453,8 @@ should be completed:</p>
                                                 \
                                                  -- FarmWarDeployer
 
-
 </source>
-</p>
+
 
 </section>
 <section name="How it Works">
@@ -507,7 +486,7 @@ should be completed:</p>
         Tomcat will create a <code>DeltaManager</code> for that context instead of a <code>StandardManager</code>.
         The cluster class will start up a membership service (multicast) and a replication service (tcp unicast).
         More on the architecture further down in this document.
-    </p><p></p>
+    </p>
 </li>
 <li><b><code>TomcatB</code> starts up</b>
     <p>
@@ -520,7 +499,7 @@ should be completed:</p>
         entry. The session state gets transferred for each web application that has distributable in
         its web.xml. Note: To use session replication efficiently, all your tomcat instances should be
         configured the same.
-    </p><p></p>
+    </p>
 </li>
 <li><B><code>TomcatA</code> receives a request, a session <code>S1</code> is created.</B>
     <p>
@@ -534,7 +513,7 @@ should be completed:</p>
         in the session without calling setAttribute or removeAttribute to be replicated.
         a useDirtyFlag configuration parameter can be used to optimize the number of times
         a session is replicated.
-    </p><p></p>
+    </p>
 
 </li>
 <li><b><code>TomcatA</code> crashes</b>
@@ -544,11 +523,11 @@ should be completed:</p>
         be notified of any changes that occurs in TomcatB.
         The load balancer will redirect the requests from TomcatA to TomcatB and all the sessions
         are current.
-    </p><p></p>
+    </p>
 </li>
 <li><b><code>TomcatB</code> receives a request for session <code>S1</code></b>
     <p>Nothing exciting, TomcatB will process the request as any other request.
-    </p><p></p>
+    </p>
 </li>
 <li><b><code>TomcatA</code> starts up</b>
     <p>Upon start up, before TomcatA starts taking new request and making itself
@@ -556,18 +535,18 @@ should be completed:</p>
     It will join the cluster, contact TomcatB for the current state of all the sessions.
     And once it receives the session state, it finishes loading and opens its HTTP/mod_jk ports.
     So no requests will make it to TomcatA until it has received the session state from TomcatB.
-    </p><p></p>
+    </p>
 </li>
 <li><b><code>TomcatA</code> receives a request, invalidate is called on the session (<code>S1</code>)</b>
     <p>The invalidate is call is intercepted, and the session is queued with invalidated sessions.
         When the request is complete, instead of sending out the session that has changed, it sends out
         an "expire" message to TomcatB and TomcatB will invalidate the session as well.
-    </p><p></p>
+    </p>
 
 </li>
 <li><b><code>TomcatB</code> receives a request, for a new session (<code>S2</code>)</b>
     <p>Same scenario as in step 3)
-    </p><p></p>
+    </p>
 
 
 </li>
@@ -576,7 +555,7 @@ should be completed:</p>
        and the session is queued with invalidated sessions.
        At this point, the invalidet session will not be replicated across until
        another request comes through the system and checks the invalid queue.
-    </p><p></p>
+    </p>
 </li>
 </ol>
 
@@ -613,24 +592,23 @@ should be completed:</p>
 
 <section name="Monitoring your Cluster with JMX">
 <p>Monitoring is a very important question when you use a cluster. Some of the cluster objects are JMX MBeans </p>
-<p>Add the following parameter to your startup script with Java 5:
-<source>
-set CATALINA_OPTS=\
+<p>Add the following parameter to your startup script with Java 5:</p>
+<source>set CATALINA_OPTS=\
 -Dcom.sun.management.jmxremote \
 -Dcom.sun.management.jmxremote.port=%my.jmx.port% \
 -Dcom.sun.management.jmxremote.ssl=false \
--Dcom.sun.management.jmxremote.authenticate=false
-</source>
-</p>
+-Dcom.sun.management.jmxremote.authenticate=false</source>
+
 <p>
-List of Cluster Mbeans<br/>
-<table border="1" cellpadding="5">
+  List of Cluster Mbeans
+</p>
+<table class="defaultTable">
 
   <tr>
-    <th align="center" bgcolor="aqua">Name</th>
-    <th align="center" bgcolor="aqua">Description</th>
-    <th align="center" bgcolor="aqua">MBean ObjectName - Engine</th>
-    <th align="center" bgcolor="aqua">MBean ObjectName - Host</th>
+    <th>Name</th>
+    <th>Description</th>
+    <th>MBean ObjectName - Engine</th>
+    <th>MBean ObjectName - Host</th>
   </tr>
 
   <tr>
@@ -678,7 +656,6 @@ List of Cluster Mbeans<br/>
   </tr>
 
 </table>
-</p>
 </section>
 
 <section name="FAQ">

Modified: tomcat/trunk/webapps/docs/connectors.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/connectors.xml?rev=1518540&r1=1518539&r2=1518540&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/connectors.xml (original)
+++ tomcat/trunk/webapps/docs/connectors.xml Thu Aug 29 09:02:41 2013
@@ -64,13 +64,12 @@ needed for any reason, an AJP connector 
 proxied HTTP. AJP clustering is the most efficient from the Tomcat perspective.
 It is otherwise functionally equivalent to HTTP clustering.</p>
 
-<p>The native connectors supported with this Tomcat release are:
+<p>The native connectors supported with this Tomcat release are:</p>
 <ul>
 <li>JK 1.2.x with any of the supported servers</li>
 <li>mod_proxy on Apache HTTP Server 2.x (included by default in Apache HTTP Server 2.2),
 with AJP enabled</li>
 </ul>
-</p>
 
 <p><b>Other native connectors supporting AJP may work, but are no longer supported.</b></p>
 

Modified: tomcat/trunk/webapps/docs/default-servlet.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/default-servlet.xml?rev=1518540&r1=1518539&r2=1518540&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/default-servlet.xml (original)
+++ tomcat/trunk/webapps/docs/default-servlet.xml Thu Aug 29 09:02:41 2013
@@ -34,59 +34,56 @@
 </section>
 
 <section anchor="what" name="What is the DefaultServlet">
+<p>
 The default servlet is the servlet which serves static resources as well
 as serves the directory listings (if directory listings are enabled).
-
+</p>
 </section>
 
 <section anchor="where" name="Where is it declared?">
+<p>
 It is declared globally in <i>$CATALINA_BASE/conf/web.xml</i>.
 By default here is it's declaration:
-<source>
-    &lt;servlet&gt;
-        &lt;servlet-name&gt;default&lt;/servlet-name&gt;
-        &lt;servlet-class&gt;
+</p>
+<source><![CDATA[    <servlet>
+        <servlet-name>default</servlet-name>
+        <servlet-class>
           org.apache.catalina.servlets.DefaultServlet
-        &lt;/servlet-class&gt;
-        &lt;init-param&gt;
-            &lt;param-name&gt;debug&lt;/param-name&gt;
-            &lt;param-value&gt;0&lt;/param-value&gt;
-        &lt;/init-param&gt;
-        &lt;init-param&gt;
-            &lt;param-name&gt;listings&lt;/param-name&gt;
-            &lt;param-value&gt;false&lt;/param-value&gt;
-        &lt;/init-param&gt;
-        &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
-    &lt;/servlet&gt;
+        </servlet-class>
+        <init-param>
+            <param-name>debug</param-name>
+            <param-value>0</param-value>
+        </init-param>
+        <init-param>
+            <param-name>listings</param-name>
+            <param-value>false</param-value>
+        </init-param>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
 
 ...
 
-    &lt;servlet-mapping&gt;
-        &lt;servlet-name&gt;default&lt;/servlet-name&gt;
-        &lt;url-pattern&gt;/&lt;/url-pattern&gt;
-    &lt;/servlet-mapping&gt;
-
-</source>
+    <servlet-mapping>
+        <servlet-name>default</servlet-name>
+        <url-pattern>/</url-pattern>
+    </servlet-mapping>]]></source>
 
 So by default, the default servlet is loaded at webapp startup and
 directory listings are disabled and debugging is turned off.
 </section>
 
 <section anchor="change" name="What can I change?">
-The DefaultServlet allows the following initParamters:
+<p>
+  The DefaultServlet allows the following initParamters:
+</p>
 
-<table border="1">
-  <tr>
-    <th valign='top'>debug</th>
-    <td valign='top'>
+<properties>
+  <property name="debug">
         Debugging level. It is not very useful unless you are a tomcat
         developer. As
         of this writing, useful values are 0, 1, 11, 1000. [0]
-    </td>
-  </tr>
-  <tr>
-    <th valign='top'>listings</th>
-    <td valign='top'>
+  </property>
+  <property name="listings">
         If no welcome file is present, can a directory listing be
         shown?
         value may be <b>true</b> or <b>false</b> [false]
@@ -96,30 +93,21 @@ The DefaultServlet allows the following 
         <b>WARNING:</b> Listings of directories containing many entries are
         expensive. Multiple requests for large directory listings can consume
         significant proportions of server resources.
-    </td>
-  </tr>
-  <tr>
-    <th valign='top'>readmeFile</th>
-    <td valign='top'>
+  </property>
+  <property name="readmeFile">
         If a directory listing is presented, a readme file may also
         be presented with the listing. This file is inserted as is
         so it may contain HTML.
-    </td>
-  </tr>
-  <tr>
-    <th valign='top'>globalXsltFile</th>
-    <td valign='top'>
+  </property>
+  <property name="globalXsltFile">
         If you wish to customize your directory listing, you
         can use an XSL transformation. This value is an absolute
         file name which be used for all directory listings.
         This can be overridden per context and/or per directory. See
         <strong>contextXsltFile</strong> and <strong>localXsltFile</strong>
         below. The format of the xml is shown below.
-    </td>
-  </tr>
-  <tr>
-    <th valign='top'>contextXsltFile</th>
-    <td valign='top'>
+  </property>
+  <property name="contextXsltFile">
         You may also customize your directory listing by context by
         configuring <code>contextXsltFile</code>. This should be a context
         relative path (e.g.: <code>/path/to/context.xslt</code>). This
@@ -127,11 +115,8 @@ The DefaultServlet allows the following 
         file does not exist, then <code>globalXsltFile</code> will be used. If
         <code>globalXsltFile</code> does not exist, then the default
         directory listing will be shown.
-    </td>
-  </tr>
-  <tr>
-    <th valign='top'>localXsltFile</th>
-    <td valign='top'>
+  </property>
+  <property name="localXsltFile">
         You may also customize your directory listing by directory by
         configuring <code>localXsltFile</code>. This should be a relative
         file name in the directory where the listing will take place.
@@ -142,53 +127,33 @@ The DefaultServlet allows the following 
         <code>globalXsltFile</code> will be used. If
         <code>globalXsltFile</code> does not exist, then the default
         directory listing will be shown.
-    </td>
-  </tr>
-  <tr>
-    <th valign='top'>input</th>
-    <td valign='top'>
+  </property>
+  <property name="input">
         Input buffer size (in bytes) when reading
         resources to be served.  [2048]
-    </td>
-  </tr>
-  <tr>
-    <th valign='top'>output</th>
-    <td valign='top'>
+  </property>
+  <property name="output">
         Output buffer size (in bytes) when writing
         resources to be served.  [2048]
-    </td>
-  </tr>
-  <tr>
-    <th valign='top'>readonly</th>
-    <td valign='top'>
+  </property>
+  <property name="readonly">
         Is this context "read only", so HTTP commands like PUT and
         DELETE are rejected?  [true]
-    </td>
-  </tr>
-  <tr>
-    <th valign='top'>fileEncoding</th>
-    <td valign='top'>
+  </property>
+  <property name="fileEncoding">
         File encoding to be used when reading static resources.
         [platform default]
-    </td>
-  </tr>
-  <tr>
-    <th valign='top'>sendfileSize</th>
-    <td valign='top'>
+  </property>
+  <property name="sendfileSize">
         If the connector used supports sendfile, this represents the minimal
         file size in KB for which sendfile will be used. Use a negative value
         to always disable sendfile. [48]
-    </td>
-  </tr>
-  <tr>
-    <th valign='top'>useAcceptRanges</th>
-    <td valign='top'>
+  </property>
+  <property name="useAcceptRanges">
         If true, the Accept-Ranges header will be set when appropriate for the
         response. [true]
-    </td>
-  </tr>
-
-</table>
+  </property>
+</properties>
 </section>
 
 <section anchor="dir" name="How do I customize directory listings?">
@@ -210,102 +175,101 @@ behaviors takes place.
 
 <p>
 Format:
-<source>
-    &lt;listing&gt;
-     &lt;entries&gt;
-      &lt;entry type='file|dir' urlPath='aPath' size='###' date='gmt date'&gt;
+</p>
+<source><![CDATA[    <listing>
+     <entries>
+      <entry type='file|dir' urlPath='aPath' size='###' date='gmt date'>
         fileName1
-      &lt;/entry&gt;
-      &lt;entry type='file|dir' urlPath='aPath' size='###' date='gmt date'&gt;
+      </entry>
+      <entry type='file|dir' urlPath='aPath' size='###' date='gmt date'>
         fileName2
-      &lt;/entry&gt;
+      </entry>
       ...
-     &lt;/entries&gt;
-     &lt;readme&gt;&lt;/readme&gt;
-    &lt;/listing&gt;
-</source>
+     </entries>
+     <readme></readme>
+    </listing>]]></source>
 <ul>
   <li>size will be missing if <code>type='dir'</code></li>
   <li>Readme is a CDATA entry</li>
 </ul>
+
+<p>
+  The following is a sample xsl file which mimics the default tomcat behavior:
 </p>
-The following is a sample xsl file which mimics the default tomcat behavior:
-<source>
-&lt;?xml version="1.0"?&gt;
-
-&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  version="1.0"&gt;
-
-  &lt;xsl:output method="xhtml" encoding="iso-8859-1" indent="no"/&gt;
-
-  &lt;xsl:template match="listing"&gt;
-   &lt;html&gt;
-    &lt;head&gt;
-      &lt;title&gt;
+<source><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  version="3.0">
+
+  <xsl:output method="html" html-version="5.0"
+    encoding="UTF-8" indent="no"
+    doctype-system="about:legacy-compat"/>
+
+  <xsl:template match="listing">
+   <html>
+    <head>
+      <title>
         Sample Directory Listing For
-        &lt;xsl:value-of select="@directory"/&gt;
-      &lt;/title&gt;
-      &lt;style&gt;
-        h1{color : white;background-color : #0086b2;}
-        h3{color : white;background-color : #0086b2;}
-        body{font-family : sans-serif,Arial,Tahoma;
+        <xsl:value-of select="@directory"/>
+      </title>
+      <style>
+        h1 {color : white;background-color : #0086b2;}
+        h3 {color : white;background-color : #0086b2;}
+        body {font-family : sans-serif,Arial,Tahoma;
              color : black;background-color : white;}
-        b{color : white;background-color : #0086b2;}
-        a{color : black;} HR{color : #0086b2;}
-      &lt;/style&gt;
-    &lt;/head&gt;
-    &lt;body&gt;
-      &lt;h1&gt;Sample Directory Listing For
-            &lt;xsl:value-of select="@directory"/&gt;
-      &lt;/h1&gt;
-      &lt;hr size="1" /&gt;
-      &lt;table cellspacing="0"
-                  width="100%"
-            cellpadding="5"
-                  align="center"&gt;
-        &lt;tr&gt;
-          &lt;th align="left"&gt;Filename&lt;/th&gt;
-          &lt;th align="center"&gt;Size&lt;/th&gt;
-          &lt;th align="right"&gt;Last Modified&lt;/th&gt;
-        &lt;/tr&gt;
-        &lt;xsl:apply-templates select="entries"/&gt;
-        &lt;/table&gt;
-      &lt;xsl:apply-templates select="readme"/&gt;
-      &lt;hr size="1" /&gt;
-      &lt;h3&gt;Apache Tomcat/7.0&lt;/h3&gt;
-    &lt;/body&gt;
-   &lt;/html&gt;
-  &lt;/xsl:template&gt;
-
-
-  &lt;xsl:template match="entries"&gt;
-    &lt;xsl:apply-templates select="entry"/&gt;
-  &lt;/xsl:template&gt;
-
-  &lt;xsl:template match="readme"&gt;
-    &lt;hr size="1" /&gt;
-    &lt;pre&gt;&lt;xsl:apply-templates/&gt;&lt;/pre&gt;
-  &lt;/xsl:template&gt;
-
-  &lt;xsl:template match="entry"&gt;
-    &lt;tr&gt;
-      &lt;td align="left"&gt;
-        &lt;xsl:variable name="urlPath" select="@urlPath"/&gt;
-        &lt;a href="{$urlPath}"&gt;
-          &lt;tt&gt;&lt;xsl:apply-templates/&gt;&lt;/tt&gt;
-        &lt;/a&gt;
-      &lt;/td&gt;
-      &lt;td align="right"&gt;
-        &lt;tt&gt;&lt;xsl:value-of select="@size"/&gt;&lt;/tt&gt;
-      &lt;/td&gt;
-      &lt;td align="right"&gt;
-        &lt;tt&gt;&lt;xsl:value-of select="@date"/&gt;&lt;/tt&gt;
-      &lt;/td&gt;
-    &lt;/tr&gt;
-  &lt;/xsl:template&gt;
+        b {color : white;background-color : #0086b2;}
+        a {color : black;} HR{color : #0086b2;}
+        table td { padding: 5px; }
+      </style>
+    </head>
+    <body>
+      <h1>Sample Directory Listing For
+            <xsl:value-of select="@directory"/>
+      </h1>
+      <hr style="height: 1px;" />
+      <table style="width: 100%;">
+        <tr>
+          <th style="text-align: left;">Filename</th>
+          <th style="text-align: center;">Size</th>
+          <th style="text-align: right;">Last Modified</th>
+        </tr>
+        <xsl:apply-templates select="entries"/>
+        </table>
+      <xsl:apply-templates select="readme"/>
+      <hr style="height: 1px;" />
+      <h3>Apache Tomcat/8.0</h3>
+    </body>
+   </html>
+  </xsl:template>
+
+
+  <xsl:template match="entries">
+    <xsl:apply-templates select="entry"/>
+  </xsl:template>
+
+  <xsl:template match="readme">
+    <hr style="height: 1px;" />
+    <pre><xsl:apply-templates/></pre>
+  </xsl:template>
+
+  <xsl:template match="entry">
+    <tr>
+      <td style="text-align: left;">
+        <xsl:variable name="urlPath" select="@urlPath"/>
+        <a href="{$urlPath}">
+          <pre><xsl:apply-templates/></pre>
+        </a>
+      </td>
+      <td style="text-align: right;">
+        <pre><xsl:value-of select="@size"/></pre>
+      </td>
+      <td style="text-align: right;">
+        <pre><xsl:value-of select="@date"/></pre>
+      </td>
+    </tr>
+  </xsl:template>
 
-&lt;/xsl:stylesheet&gt;
-</source>
+</xsl:stylesheet>]]></source>
 
 </section>
 

Modified: tomcat/trunk/webapps/docs/deployer-howto.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/deployer-howto.xml?rev=1518540&r1=1518539&r2=1518540&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/deployer-howto.xml (original)
+++ tomcat/trunk/webapps/docs/deployer-howto.xml Thu Aug 29 09:02:41 2013
@@ -41,7 +41,8 @@
         </p>
         <p>
             Web application deployment may be accomplished in a number of ways
-            within the Tomcat server.</p>
+            within the Tomcat server.
+        </p>
         <ul>
                 <li>Statically; the web application is setup before Tomcat is started</li>
                 <li>

Modified: tomcat/trunk/webapps/docs/html-manager-howto.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/html-manager-howto.xml?rev=1518540&r1=1518539&r2=1518540&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/html-manager-howto.xml (original)
+++ tomcat/trunk/webapps/docs/html-manager-howto.xml Thu Aug 29 09:02:41 2013
@@ -125,33 +125,29 @@ stop the web application that relies on 
 users continuously encounter database exceptions.</p>
 
 <p>If this command succeeds, you will see a Message like this:</p>
-<source>
-OK - Started application at context path /examples
-</source>
+<source>OK - Started application at context path /examples</source>
 
 <p>Otherwise, the Message will start with <code>FAIL</code> and include an
 error message.  Possible causes for problems include:</p>
 <ul>
 <li><em>Encountered exception</em>
-    <blockquote>
     <p>An exception was encountered trying to start the web application.
     Check the Tomcat logs for the details.</p>
-    </blockquote></li>
+    </li>
 <li><em>Invalid context path was specified</em>
-    <blockquote>
     <p>The context path must start with a slash character, unless you are
     referencing the ROOT web application -- in which case the context path
     must be a zero-length string.</p>
-    </blockquote></li>
+    </li>
 <li><em>No context exists for path /foo</em>
-    <blockquote>
     <p>There is no deployed application on the context path
     that you specified.</p>
-    </blockquote></li>
+    </li>
 <li><em>No context path was specified</em>
-    <blockquote>
+    <p>
     The <code>path</code> parameter is required.
-    </blockquote></li>
+    </p>
+</li>
 </ul>
 
 </subsection>
@@ -164,33 +160,29 @@ stopped will see an HTTP error 404, and 
 "stopped" on a list applications command.</p>
 
 <p>If this command succeeds, you will see a Message like this:</p>
-<source>
-OK - Stopped application at context path /examples
-</source>
+<source>OK - Stopped application at context path /examples</source>
 
 <p>Otherwise, the Message will start with <code>FAIL</code> and include an
 error message.  Possible causes for problems include:</p>
 <ul>
 <li><em>Encountered exception</em>
-    <blockquote>
     <p>An exception was encountered trying to stop the web application.
     Check the Tomcat logs for the details.</p>
-    </blockquote></li>
+    </li>
 <li><em>Invalid context path was specified</em>
-    <blockquote>
     <p>The context path must start with a slash character, unless you are
     referencing the ROOT web application -- in which case the context path
     must be a zero-length string.</p>
-    </blockquote></li>
+    </li>
 <li><em>No context exists for path /foo</em>
-    <blockquote>
     <p>There is no deployed application on the context path
     that you specified.</p>
-    </blockquote></li>
+    </li>
 <li><em>No context path was specified</em>
-    <blockquote>
+    <p>
     The <code>path</code> parameter is required.
-    </blockquote></li>
+    </p>
+</li>
 </ul>
 
 </subsection>
@@ -219,42 +211,37 @@ OK - Reloaded application at context pat
 error message.  Possible causes for problems include:</p>
 <ul>
 <li><em>Encountered exception</em>
-    <blockquote>
     <p>An exception was encountered trying to restart the web application.
     Check the Tomcat logs for the details.</p>
-    </blockquote></li>
+    </li>
 <li><em>Invalid context path was specified</em>
-    <blockquote>
     <p>The context path must start with a slash character, unless you are
     referencing the ROOT web application -- in which case the context path
     must be a zero-length string.</p>
-    </blockquote></li>
+    </li>
 <li><em>No context exists for path /foo</em>
-    <blockquote>
     <p>There is no deployed application on the context path
     that you specified.</p>
-    </blockquote></li>
+    </li>
 <li><em>No context path was specified</em>
-    <blockquote>
-    The <code>path</code> parameter is required.
-    </blockquote></li>
+    <p>The <code>path</code> parameter is required.</p>
+    </li>
 <li><em>Reload not supported on WAR deployed at path /foo</em>
-    <blockquote>
-    Currently, application reloading (to pick up changes to the classes or
+    <p>Currently, application reloading (to pick up changes to the classes or
     <code>web.xml</code> file) is not supported when a web application is
     installed directly from a WAR file, which happens when the host is
     configured to not unpack WAR files. As it only works when the web
     application is installed from an unpacked directory, if you are using
     a WAR file, you should <code>undeploy</code> and then <code>deploy</code>
-    the application again to pick up your changes.
-    </blockquote></li>
+    the application again to pick up your changes.</p>
+    </li>
 </ul>
 
 </subsection>
 
 <subsection name="Undeploy">
 
-<p><strong><font color="red">WARNING</font> - This command will delete the
+<p><strong><span style="color: red;">WARNING</span> - This command will delete the
 contents of the web application directory and/or ".war" file if it exists within
 the <code>appBase</code> directory (typically "webapps") for this virtual host
 </strong>.  The web application temporary work directory is also deleted.  If
@@ -268,33 +255,27 @@ reuse later).  This command is the logic
 in the HTML manager.</p>
 
 <p>If this command succeeds, you will see a Message like this:</p>
-<source>
-OK - Undeployed application at context path /examples
-</source>
+<source>OK - Undeployed application at context path /examples</source>
 
 <p>Otherwise, the Message will start with <code>FAIL</code> and include an
 error message.  Possible causes for problems include:</p>
 <ul>
 <li><em>Encountered exception</em>
-    <blockquote>
     <p>An exception was encountered trying to undeploy the web application.
     Check the Tomcat logs for the details.</p>
-    </blockquote></li>
+    </li>
 <li><em>Invalid context path was specified</em>
-    <blockquote>
     <p>The context path must start with a slash character, unless you are
     referencing the ROOT web application -- in which case the context path
     must be a zero-length string.</p>
-    </blockquote></li>
+    </li>
 <li><em>No context exists for path /foo</em>
-    <blockquote>
     <p>There is no deployed application on the context path
     that you specified.</p>
-    </blockquote></li>
+    </li>
 <li><em>No context path was specified</em>
-    <blockquote>
     The <code>path</code> parameter is required.
-    </blockquote></li>
+    </li>
 </ul>
 
 </subsection>
@@ -319,7 +300,7 @@ This command is the logical opposite of 
 
 <p>There are a number of different ways the deploy command can be used.</p>
 
-<h3>Deploy a Directory or WAR by URL</h3>
+<h5>Deploy a Directory or WAR by URL</h5>
 
 <p>Install a web application directory or ".war" file located on the Tomcat
 server. If no <i>Context Path</i> is specified, the directory name or the
@@ -344,12 +325,10 @@ Tomcat server (running on Unix) is deplo
 context named <code>/bar</code>. Notice that there is no <code>path</code>
 parameter so the context path defaults to the name of the web application
 archive file without the ".war" extension.</p>
-<source>
-WAR or Directory URL: jar:file:/path/to/bar.war!/
-</source>
+<source>WAR or Directory URL: jar:file:/path/to/bar.war!/</source>
 
 
-<h3>Deploy a Directory or War from the Host appBase</h3>
+<h5>Deploy a Directory or War from the Host appBase</h5>
 
 <p>Install a web application directory or ".war" file located in your Host
 appBase directory. If no <i>Context Path</i> is specified the directory name
@@ -360,21 +339,17 @@ or the war file name without the ".war" 
 deployed as the web application context named <code>/foo</code>. Notice
 that there is no <code>path</code> parameter so the context path defaults
 to the name of the web application directory.</p>
-<source>
-WAR or Directory URL: foo
-</source>
+<source>WAR or Directory URL: foo</source>
 
 
 <p>In this example the ".war" file <code>bar.war</code> located in your
 Host appBase directory on the Tomcat server is deployed as the web
 application context named <code>/bartoo</code>.</p>
-<source>
-Context Path: /bartoo
-WAR or Directory URL: bar.war
-</source>
+<source>Context Path: /bartoo
+WAR or Directory URL: bar.war</source>
 
 
-<h3>Deploy using a Context configuration ".xml" file</h3>
+<h5>Deploy using a Context configuration ".xml" file</h5>
 
 <p>If the Host deployXML flag is set to true, you can install a web
 application using a Context configuration ".xml" file and an optional
@@ -386,10 +361,8 @@ configuration file.</p>
 web application Context just as if it were configured in your
 Tomcat <code>server.xml</code> configuration file. Here is an
 example for Tomcat running on Windows:</p>
-<source>
-&lt;Context path="/foobar" docBase="C:\path\to\application\foobar"&gt;
-&lt;/Context&gt;
-</source>
+<source><![CDATA[<Context path="/foobar" docBase="C:\path\to\application\foobar">
+</Context>]]></source>
 
 
 <p>Use of the <i>WAR or Directory URL</i> is optional. When used
@@ -398,18 +371,14 @@ docBase configured in the context config
 
 <p>Here is an example of installing an application using a Context
 configuration ".xml" file for Tomcat running on Windows.</p>
-<source>
-XML Configuration file URL: file:C:/path/to/context.xml
-</source>
+<source>XML Configuration file URL: file:C:/path/to/context.xml</source>
 
 
 <p>Here is an example of installing an application using a Context
 configuration ".xml" file and a web application ".war" file located
 on the server (Tomcat running on Unix).</p>
-<source>
-XML Configuration file URL: file:/path/to/context.xml
-WAR or Directory URL: jar:file:/path/to/bar.war!/
-</source>
+<source>XML Configuration file URL: file:/path/to/context.xml
+WAR or Directory URL: jar:file:/path/to/bar.war!/</source>
 
 
 </subsection>
@@ -430,26 +399,22 @@ including a Context configuration XML fi
 <p>Upload of a WAR file could fail for the following reasons:</p>
 <ul>
 <li><em>File uploaded must be a .war</em>
-    <blockquote>
     <p>The upload install will only accept files which have the filename
     extension of ".war".</p>
-    </blockquote></li>
+    </li>
 <li><em>War file already exists on server</em>
-    <blockquote>
     <p>If a war file of the same name already exists in your Host's
     appBase the upload will fail. Either undeploy the existing war file
     from your Host's appBase or upload the new war file using a different
     name.</p>
-    </blockquote></li>
+    </li>
 <li><em>File upload failed, no file</em>
-    <blockquote>
     <p>The file upload failed, no file was received by the server.</p>
-    </blockquote></li>
+    </li>
 <li><em>Install Upload Failed, Exception:</em>
-    <blockquote>
     <p>The war file upload or install failed with a Java Exception.
     The exception message will be listed.</p>
-    </blockquote></li>
+    </li>
 </ul>
 
 </subsection>
@@ -477,62 +442,54 @@ files located outside of their Host appB
 
 <p>If deployment and startup is successful, you will receive a Message
 like this:</p>
-<source>
-OK - Deployed application at context path /foo
-</source>
+<source>OK - Deployed application at context path /foo</source>
 
 <p>Otherwise, the Message will start with <code>FAIL</code> and include an
 error message.  Possible causes for problems include:</p>
 <ul>
 <li><em>Application already exists at path /foo</em>
-    <blockquote>
     <p>The context paths for all currently running web applications must be
     unique.  Therefore, you must either undeploy the existing web
     application using this context path, or choose a different context path
     for the new one.</p>
-    </blockquote></li>
+    </li>
 <li><em>Document base does not exist or is not a readable directory</em>
-    <blockquote>
     <p>The URL specified by the <i>WAR or Directory URL:</i> field must
     identify a directory on this server that contains the "unpacked" version
     of a web application, or the absolute URL of a web application archive
     (WAR) file that contains this application.  Correct the value entered for
     the <i>WAR or Directory URL:</i> field.</p>
-    </blockquote></li>
+    </li>
 <li><em>Encountered exception</em>
-    <blockquote>
     <p>An exception was encountered trying to start the new web application.
     Check the Tomcat logs for the details, but likely explanations include
     problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
     classes encountered when initializing application event listeners and
     filters.</p>
-    </blockquote></li>
+    </li>
 <li><em>Invalid application URL was specified</em>
-    <blockquote>
     <p>The URL for the <i>WAR or Directory URL:</i> field that you specified
     was not valid.  Such URLs must start with <code>file:</code>, and URLs
     for a WAR file must end in ".war".</p>
-    </blockquote></li>
+    </li>
 <li><em>Invalid context path was specified</em>
-    <blockquote>
     <p>The context path must start with a slash character, unless you are
     referencing the ROOT web application -- in which case the context path
     must be a "/" string.</p>
-    </blockquote></li>
+    </li>
 <li><em>Context path must match the directory or WAR file name:</em>
-    <blockquote>
-    If the application war or directory is deployed in your Host appBase
+    <p>If the application war or directory is deployed in your Host appBase
     directory and either the Host is configured with autoDeploy=true the Context
     path must match the directory name or war file name without the ".war"
-    extension.
-    </blockquote></li>
+    extension.</p>
+    </li>
 <li><em>Only web applications in the Host web application directory can
      be deployed</em>
-     <blockquote>
+     <p>
      If the Host deployXML flag is set to false this error will happen
      if an attempt is made to install a web application directory or
       ".war" file outside of the Host appBase directory.
-     </blockquote></li>
+     </p></li>
 </ul>
 
 </subsection>



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