From 228a832459bcb113f4246332cac4e89cb35da3f0 Mon Sep 17 00:00:00 2001 From: markt Date: Mon, 2 Aug 2010 15:58:37 +0000 Subject: [PATCH] Tab police git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@981574 13f79535-47bb-0310-9956-ffa450edef68 --- webapps/docs/appdev/processes.xml | 10 +- webapps/docs/appdev/sample/web/WEB-INF/web.xml | 4 +- webapps/docs/apr.xml | 6 +- .../docs/architecture/startup/serverStartup.txt | 228 +++++++++---------- webapps/docs/extras.xml | 2 +- webapps/docs/images/tomcat.svg | 244 ++++++++++----------- webapps/docs/jasper-howto.xml | 6 +- webapps/docs/manager-howto.xml | 126 +++++------ webapps/docs/ssl-howto.xml | 24 +- webapps/docs/tomcat-docs.xsl | 8 +- webapps/docs/windows-service-howto.xml | 10 +- 11 files changed, 334 insertions(+), 334 deletions(-) diff --git a/webapps/docs/appdev/processes.xml b/webapps/docs/appdev/processes.xml index 6da9bc82b..4c4cd4edc 100644 --- a/webapps/docs/appdev/processes.xml +++ b/webapps/docs/appdev/processes.xml @@ -89,14 +89,14 @@ repository. This might be done by a series of commands like this, where stored in the CVS repository, and {username} is your login username:

cd {my home directory} -mkdir myapp <-- Assumed "project source directory" +mkdir myapp <-- Assumed "project source directory" cd myapp mkdir docs mkdir src mkdir web mkdir web/WEB-INF cvs import -m "Initial Project Creation" {project} \ - {username} start + {username} start

Now, to verify that it was created correctly in CVS, we will perform a @@ -115,7 +115,7 @@ or code it from scratch.

cd {my home directory} cd myapp -emacs build.xml <-- if you want a real editor :-) +emacs build.xml <-- if you want a real editor :-) cvs add build.xml cvs commit @@ -188,7 +188,7 @@ building and testing is successful), commit the new file to the repository. For example, to create a new JSP page:

cd {my home directory} -cd myapp/web <-- Ultimate destination is document root +cd myapp/web <-- Ultimate destination is document root emacs mypage.jsp cvs add mypage.jsp ... build and test the application ... @@ -218,7 +218,7 @@ commands (generally, you will want a shell window open that is set to the project source directory, so that only the last command is needed):

cd {my home directory} -cd myapp <-- Normally leave a window open here +cd myapp <-- Normally leave a window open here ant diff --git a/webapps/docs/appdev/sample/web/WEB-INF/web.xml b/webapps/docs/appdev/sample/web/WEB-INF/web.xml index 8162489ec..08b705377 100644 --- a/webapps/docs/appdev/sample/web/WEB-INF/web.xml +++ b/webapps/docs/appdev/sample/web/WEB-INF/web.xml @@ -22,8 +22,8 @@ Hello, World Application - This is a simple web application with a source code organization - based on the recommendations of the Application Developer's Guide. + This is a simple web application with a source code organization + based on the recommendations of the Application Developer's Guide. diff --git a/webapps/docs/apr.xml b/webapps/docs/apr.xml index 1df732abb..51a8f7d54 100644 --- a/webapps/docs/apr.xml +++ b/webapps/docs/apr.xml @@ -104,7 +104,7 @@

- +
@@ -171,14 +171,14 @@

- +

For AJP configuration, see the AJP connector configuration documentation.

- +
diff --git a/webapps/docs/architecture/startup/serverStartup.txt b/webapps/docs/architecture/startup/serverStartup.txt index b40dbd4c9..af8efdff5 100644 --- a/webapps/docs/architecture/startup/serverStartup.txt +++ b/webapps/docs/architecture/startup/serverStartup.txt @@ -18,121 +18,121 @@ Tomcat 5 Startup Sequence Sequence 1. Start from Command Line Class: org.apache.catalina.startup.Bootstrap What it does: - a) Set up classloaders - commonLoader (common)-> System Loader - sharedLoader (shared)-> commonLoader -> System Loader - catalinaLoader(server) -> commonLoader -> System Loader - b) Load startup class (reflection) - org.apache.catalina.startup.Catalina - setParentClassloader -> sharedLoader - Thread.contextClassloader -> catalinaLoader - c) Bootstrap.daemon.init() complete - + a) Set up classloaders + commonLoader (common)-> System Loader + sharedLoader (shared)-> commonLoader -> System Loader + catalinaLoader(server) -> commonLoader -> System Loader + b) Load startup class (reflection) + org.apache.catalina.startup.Catalina + setParentClassloader -> sharedLoader + Thread.contextClassloader -> catalinaLoader + c) Bootstrap.daemon.init() complete + Sequence 2. Process command line argument (start, startd, stop, stopd) Class: org.apache.catalina.startup.Bootstrap (assume command->start) What it does: - a) Catalina.setAwait(true); - b) Catalina.load() - b1) initDirs() -> set properties like - catalina.home - catalina.base == catalina.home (most cases) - b2) initNaming - setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY, - org.apache.naming.java.javaURLContextFactory ->default) - b3) createStartDigester() - Configures a digester for the main server.xml elements like - org.apache.catalina.core.StandardServer (can change of course :) - org.apache.catalina.deploy.NamingResources - Stores naming resources in the J2EE JNDI tree - org.apache.catalina.LifecycleListener - implements events for start/stop of major components - org.apache.catalina.core.StandardService - The single entry for a set of connectors, - so that a container can listen to multiple connectors - ie, single entry - org.apache.coyote.tomcat5.CoyoteConnector - Connectors to listen for incoming requests only - It also adds the following rulesets to the digester - NamingRuleSet - EngineRuleSet - HostRuleSet - ContextRuleSet - b4) Load the server.xml and parse it using the digester - Parsing the server.xml using the digester is an automatic - XML-object mapping tool, that will create the objects defined in server.xml - Startup of the actual container has not started yet. - b5) Assigns System.out and System.err to the SystemLogHandler class - b6) Calls initialize on all components, this makes each object register itself with the - JMX agent. - During the process call the Connectors also initialize the adapters. - The adapters are the components that do the request pre-processing. - Typical adapters are HTTP1.1 (default if no protocol is specified, - org.apache.coyote.http11.Http11Protocol) - AJP1.3 for mod_jk etc. + a) Catalina.setAwait(true); + b) Catalina.load() + b1) initDirs() -> set properties like + catalina.home + catalina.base == catalina.home (most cases) + b2) initNaming + setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY, + org.apache.naming.java.javaURLContextFactory ->default) + b3) createStartDigester() + Configures a digester for the main server.xml elements like + org.apache.catalina.core.StandardServer (can change of course :) + org.apache.catalina.deploy.NamingResources + Stores naming resources in the J2EE JNDI tree + org.apache.catalina.LifecycleListener + implements events for start/stop of major components + org.apache.catalina.core.StandardService + The single entry for a set of connectors, + so that a container can listen to multiple connectors + ie, single entry + org.apache.coyote.tomcat5.CoyoteConnector + Connectors to listen for incoming requests only + It also adds the following rulesets to the digester + NamingRuleSet + EngineRuleSet + HostRuleSet + ContextRuleSet + b4) Load the server.xml and parse it using the digester + Parsing the server.xml using the digester is an automatic + XML-object mapping tool, that will create the objects defined in server.xml + Startup of the actual container has not started yet. + b5) Assigns System.out and System.err to the SystemLogHandler class + b6) Calls initialize on all components, this makes each object register itself with the + JMX agent. + During the process call the Connectors also initialize the adapters. + The adapters are the components that do the request pre-processing. + Typical adapters are HTTP1.1 (default if no protocol is specified, + org.apache.coyote.http11.Http11Protocol) + AJP1.3 for mod_jk etc. - c) Catalina.start() - c1) Starts the NamingContext and binds all JNDI references into it - c2) Starts the services under which are: - StandardService -> starts Engine (ContainerBase ->Logger,Loader,Realm,Cluster etc) - c3) StandardHost (started by the service) - Configures a ErrorReportValvem to do proper HTML output for different HTTP - errors codes - Starts the Valves in the pipeline (at least the ErrorReportValve) - Configures the StandardHostValve, - this valves ties the Webapp Class loader to the thread context - it also finds the session for the request - and invokes the context pipeline - Starts the HostConfig component - This component deploys all the webapps - (webapps & conf/Catalina/localhost/*.xml) - Webapps are installed using the deployer (StandardHostDeployer) - The deployer will create a Digester for your context, this digester - will then invoke ContextConfig.start() - The ContextConfig.start() will process the default web.xml (conf/web.xml) - and then process the applications web.xml (WEB-INF/web.xml) - - c4) During the lifetime of the container (StandardEngine) there is a background thread that - keeps checking if the context has changed. If a context changes (timestamp of war file, - context xml file, web.xml) then a reload is issued (stop/remove/deploy/start) - - d) Tomcat receives a request on an HTTP port - d1) The request is received by a separate thread which is waiting in the PoolTcpEndPoint - class. It is waiting for a request in a regular ServerSocket.accept() method. - When a request is received, this thread wakes up. - d2) The PoolTcpEndPoint assigns the a TcpConnection to handle the request. - It also supplies a JMX object name to the catalina container (not used I believe) - d3) The processor to handle the request in this case is Coyote Http11Processor, - and the process method is invoked. - This same processor is also continuing to check the input stream of the socket - until the keep alive point is reached or the connection is disconnected. - d4) The HTTP request is parsed using an internal buffer class (Coyote Http11 Internal Buffer) - The buffer class parses the request line, the headers, etc and store the result in a - Coyote request (not an HTTP request) This request contains all the HTTP info, such - as servername, port, scheme, etc. - d5) The processor contains a reference to an Adapter, in this case it is the - Coyote Tomcat 5 Adapter. Once the request has been parsed, the Http11 processor - invokes service() on the adapter. In the service method, the Request contains a - CoyoteRequest and CoyoteRespons (null for the first time) - The CoyoteRequest(Response) implements HttpRequest(Response) and HttpServletRequest(Response) - The adapter parses and associates everything with the request, cookies, the context through a - Mapper, etc - d6) When the parsing is finished, the CoyoteAdapter invokes its container (StandardEngine) - and invokes the invoke(request,response) method. - This initiates the HTTP request into the Catalina container starting at the engine level - d7) The StandardEngine.invoke() simply invokes the container pipeline.invoke() - d8) By default the engine only has one valve the StandardEngineValve, this valve simply - invokes the invoke() method on the Host pipeline (StandardHost.getPipeLine()) - d9) the StandardHost has two valves by default, the StandardHostValve and the ErrorReportValve - d10) The standard host valve associates the correct class loader with the current thread - It also retrieves the Manager and the session associated with the request (if there is one) - If there is a session access() is called to keep the session alive - d11) After that the StandardHostValve invokes the pipeline on the context associated - with the request. - d12) The first valve that gets invoked by the Context pipeline is the FormAuthenticator - valve. Then the StandardContextValve gets invoke. - The StandardContextValve invokes any context listeners associated with the context. - Next it invokes the pipeline on the Wrapper component (StandardWrapperValve) - d13) During the invocation of the StandardWrapperValve, the JSP wrapper (Jasper) gets invoked - This results in the actual compilation of the JSP. - And then invokes the actual servlet. - e) Invocation of the servlet class + c) Catalina.start() + c1) Starts the NamingContext and binds all JNDI references into it + c2) Starts the services under which are: + StandardService -> starts Engine (ContainerBase ->Logger,Loader,Realm,Cluster etc) + c3) StandardHost (started by the service) + Configures a ErrorReportValvem to do proper HTML output for different HTTP + errors codes + Starts the Valves in the pipeline (at least the ErrorReportValve) + Configures the StandardHostValve, + this valves ties the Webapp Class loader to the thread context + it also finds the session for the request + and invokes the context pipeline + Starts the HostConfig component + This component deploys all the webapps + (webapps & conf/Catalina/localhost/*.xml) + Webapps are installed using the deployer (StandardHostDeployer) + The deployer will create a Digester for your context, this digester + will then invoke ContextConfig.start() + The ContextConfig.start() will process the default web.xml (conf/web.xml) + and then process the applications web.xml (WEB-INF/web.xml) + + c4) During the lifetime of the container (StandardEngine) there is a background thread that + keeps checking if the context has changed. If a context changes (timestamp of war file, + context xml file, web.xml) then a reload is issued (stop/remove/deploy/start) + + d) Tomcat receives a request on an HTTP port + d1) The request is received by a separate thread which is waiting in the PoolTcpEndPoint + class. It is waiting for a request in a regular ServerSocket.accept() method. + When a request is received, this thread wakes up. + d2) The PoolTcpEndPoint assigns the a TcpConnection to handle the request. + It also supplies a JMX object name to the catalina container (not used I believe) + d3) The processor to handle the request in this case is Coyote Http11Processor, + and the process method is invoked. + This same processor is also continuing to check the input stream of the socket + until the keep alive point is reached or the connection is disconnected. + d4) The HTTP request is parsed using an internal buffer class (Coyote Http11 Internal Buffer) + The buffer class parses the request line, the headers, etc and store the result in a + Coyote request (not an HTTP request) This request contains all the HTTP info, such + as servername, port, scheme, etc. + d5) The processor contains a reference to an Adapter, in this case it is the + Coyote Tomcat 5 Adapter. Once the request has been parsed, the Http11 processor + invokes service() on the adapter. In the service method, the Request contains a + CoyoteRequest and CoyoteRespons (null for the first time) + The CoyoteRequest(Response) implements HttpRequest(Response) and HttpServletRequest(Response) + The adapter parses and associates everything with the request, cookies, the context through a + Mapper, etc + d6) When the parsing is finished, the CoyoteAdapter invokes its container (StandardEngine) + and invokes the invoke(request,response) method. + This initiates the HTTP request into the Catalina container starting at the engine level + d7) The StandardEngine.invoke() simply invokes the container pipeline.invoke() + d8) By default the engine only has one valve the StandardEngineValve, this valve simply + invokes the invoke() method on the Host pipeline (StandardHost.getPipeLine()) + d9) the StandardHost has two valves by default, the StandardHostValve and the ErrorReportValve + d10) The standard host valve associates the correct class loader with the current thread + It also retrieves the Manager and the session associated with the request (if there is one) + If there is a session access() is called to keep the session alive + d11) After that the StandardHostValve invokes the pipeline on the context associated + with the request. + d12) The first valve that gets invoked by the Context pipeline is the FormAuthenticator + valve. Then the StandardContextValve gets invoke. + The StandardContextValve invokes any context listeners associated with the context. + Next it invokes the pipeline on the Wrapper component (StandardWrapperValve) + d13) During the invocation of the StandardWrapperValve, the JSP wrapper (Jasper) gets invoked + This results in the actual compilation of the JSP. + And then invokes the actual servlet. + e) Invocation of the servlet class diff --git a/webapps/docs/extras.xml b/webapps/docs/extras.xml index 41049553e..3c76cf9b6 100644 --- a/webapps/docs/extras.xml +++ b/webapps/docs/extras.xml @@ -70,7 +70,7 @@ output/extras folder
  • Refer to the documentation below about the usage of these JARs
  • - +
    diff --git a/webapps/docs/images/tomcat.svg b/webapps/docs/images/tomcat.svg index a43a5d6dd..cfa87dba9 100644 --- a/webapps/docs/images/tomcat.svg +++ b/webapps/docs/images/tomcat.svg @@ -17,34 +17,34 @@ --> - - - - - - - - - - + + + + + + + + + + + ]> - - - - - - - - - - - + xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" i:viewOrigin="176.7139 486.707" i:rulerOrigin="-156 -296" i:pageBounds="156 496 456 296" + xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/" + width="260.162" height="184.413" viewBox="0 0 260.162 184.413" overflow="visible" enable-background="new 0 0 260.162 184.413" + xml:space="preserve"> + + + + + + + + + + + @@ -82,84 +82,84 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eJzdffle8sqy6H0B3gFUFGQwEyEBB2YHUEFwwJlJRJlkWGuv88d59lvVSUgICWmQ75x1716/7aed + </metadata> + <switch> + <foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1"> + <i:pgfRef xlink:href="#adobe_illustrator_pgf"> + </i:pgfRef> + </foreignObject> + <g i:extraneous="self"> + <g id="colors" i:layer="yes" i:dimmedPercent="3" i:rgbTrio="#4F00FFFF4F00"> + <path i:knockout="Off" fill="#F8DC75" d="M237.682,33.617c-0.019-5.071,0.402-24.5-2.5-30.4 + c-7.869,2.99-19.189,11.68-22.431,21.588c-15.532-2.32-35.042-2.045-50.381,0.608C159.808,14.753,147.946,7.596,138.243,3 + c-4.093,6.907-3.906,19.92-3.445,31.279c-0.018,0.013-0.037,0.024-0.054,0.037c1.8,47.7,22.2,74.399,52.799,92.399 + c31.481-17.988,50.972-49.057,50.101-93.12C237.656,33.603,237.67,33.609,237.682,33.617z M216.485,25.421 + c0.114,0.021,0.229,0.042,0.344,0.064C216.715,25.463,216.601,25.441,216.485,25.421z M214.527,25.083 + c0.275,0.044,0.554,0.094,0.83,0.141C215.081,25.177,214.805,25.129,214.527,25.083z"/> + <path i:knockout="Off" fill="#D2A41F" d="M91.013,133.328c46.474,4.115,90.927,22.883,141.085,49.085h25.598l0.361,0.191 + c0.516-2.575-1.888-6.025-4.752-9.229c-4.941-5.528-11.623-6.145-19.707-5.951c-5.738-6.83-41.004-43.861-41.004-43.861 + l-4.808,3.395c-38.75-21.75-49.155-62.513-49.155-62.513c-33.792,8.148-69.78,28.334-90.391,49.761l-3.118,3.292 + c-1.489,1.597-2.928,3.174-4.312,4.723C18.967,146.661,3,170.87,3,175.213v2.25h23.816l-0.505-0.668 + c-2.449-12.943,4.443-23.341,10.279-30.385c4.179-5.044,11.1-9.801,21.968-12.457L91.013,133.328z"/> + </g> + <g id="tomcat" i:layer="yes" i:dimmedPercent="3" i:rgbTrio="#4F00FFFF4F00"> + <path i:knockout="Off" d="M240.682,32.617c-0.019-5.071-1.598-26.5-4.5-32.4c-7.869,2.99-22.189,12.68-25.431,22.588 + c-15.532-2.32-33.042-2.045-48.381,0.608C159.808,12.753,146.946,4.596,137.243,0c-4.093,6.907-5.906,22.92-5.445,34.279 + c-0.018,0.013-0.037,0.024-0.054,0.037c1.8,47.7,25.2,77.399,55.799,95.399c31.481-17.988,53.972-53.057,53.101-97.12 + C240.656,32.603,240.67,32.609,240.682,32.617z M214.485,23.421c0.114,0.021,0.229,0.042,0.344,0.064 + C214.715,23.463,214.601,23.441,214.485,23.421z M212.527,23.083c0.275,0.044,0.554,0.094,0.83,0.141 + C213.081,23.177,212.805,23.129,212.527,23.083z M235.784,36.059c0.81,39.69-19.44,71.279-47.79,87.48 + c-48.118-23.977-57.183-84.71-48.977-117.289c2.283,12.454,6.424,20.266,15.394,24.098c19.533-5.591,46.423-6.033,66.231-0.57 + c8.255-6.001,11.456-15.169,13.204-23.18C236.029,15.921,235.777,36.055,235.784,36.059z"/> + <g> + <rect x="133.209" y="90.51" i:knockout="Off" width="26.245" height="3.239"/> + <rect x="133.209" y="82.732" i:knockout="Off" width="26.245" height="3.24"/> + <rect x="213.35" y="90.51" i:knockout="Off" width="26.244" height="3.239"/> + <rect x="213.35" y="82.732" i:knockout="Off" width="26.244" height="3.24"/> + <g> + <path i:knockout="Off" d="M204.1,63.524h-27.188h-3.021h-12.561v-2.917h13.31c1.639-7.018,1.963-13.725-0.014-17.125 + c-0.844-1.446-2.01-2.121-3.674-2.121c-7.609,0-10.753,8.046-10.884,8.389l0.002-0.003l-2.73-1.024 + c0.156-0.42,3.965-10.278,13.612-10.278c2.692,0,4.834,1.235,6.191,3.57c2.41,4.141,2.127,11.305,0.494,18.592l23.354,0 + c3.103-9.116,9.581-13.414,20.405-13.414v2.916c-11.732,0-15.019,4.973-17.366,10.498l12.743,0l-0.029,2.901L204.1,63.524z" + /> + <path i:knockout="Off" d="M206.017,77.925l0.019-0.003c-3.459-5.101-4.555-9.456-3.108-14.413l-2.971,0.015 + c-1.035,3.3-0.62,8.273,1.929,12.54H172.21c1.806-3.616,3.479-8.025,4.702-12.54h-3.021 + c-1.348,4.786-3.241,9.524-5.372,13.277l-0.689,1.213l16.652,10.482l-9.375,6.178l1.605,2.436l10.479-6.908l11.312,7.382 + l1.554-2.468l-10.488-6.488c0,0,15.682-10.187,16.461-10.684C206.024,77.937,206.021,77.931,206.017,77.925z M187.156,86.733 + l-12.317-7.755l24.071,0.006L187.156,86.733z"/> + </g> + </g> + <polygon i:knockout="Off" points="114.745,73.635 122.087,95.391 99.788,80.434 "/> + <polygon i:knockout="Off" points="93.261,83.153 101.147,96.75 84.559,88.32 "/> + <polygon i:knockout="Off" points="75.313,93.759 79.12,107.356 67.699,99.47 "/> + <polygon i:knockout="Off" points="196.871,130.199 189.801,141.077 202.31,135.366 "/> + <polygon i:knockout="Off" points="208.021,142.709 196.6,151.411 212.372,147.332 "/> + <polygon i:knockout="Off" points="180.282,24.686 188.713,43.178 194.151,24.414 "/> + <polygon i:knockout="Off" points="137.588,51.608 150.913,58.678 138.947,59.494 "/> + <polygon i:knockout="Off" points="140.851,66.021 149.009,69.284 142.211,71.188 "/> + <polygon i:knockout="Off" points="236.031,56.775 225.153,61.398 234.127,62.757 "/> + <polygon i:knockout="Off" points="231.68,70.1 223.25,72.548 230.048,74.995 "/> + <path i:knockout="Off" d="M256.305,173.375c-4.941-5.528-14.623-8.145-22.707-7.951c-5.738-6.83-39.004-41.861-39.004-41.861 + l-2.306,2.903l40.162,43.238l1.743-0.149c10.912-0.935,17.115,4.983,18.757,6.819c1.204,1.347,1.931,2.575,2.326,3.539h-22.075 + c-50.624-26.416-95.078-45.044-142.297-49.112c0.104-6.571,1.273-14.01,3.518-22.299l-4.343-1.177 + c-2.308,8.521-3.523,16.236-3.661,23.133c-4.92-0.326-9.872-0.495-14.868-0.495c-4.237,0-8.095,0.394-11.614,1.077 + c-4.59-4.587-8.5-8.959-11.823-13.108c21.936-22.85,58.15-43.498,89.533-51.092l-1.015-4.396 + c-33.792,8.148-70.78,30.334-91.391,51.761c-9.565-12.91-13.36-23.504-14.487-31.532c-1.424-10.14,0.997-19.441,6.999-26.899 + C47.15,44.099,60.502,43.277,74.23,45.586c-0.268,2.167,0.017,4.24,0.885,5.522c3.631,5.363,23.144,7.246,34.791,2.049 + c-8.595-12.045-26.006-17.926-30.83-15.569c-1.598,0.781-2.804,2.214-3.63,3.886c-4.745-0.849-9.458-1.48-12.903-1.455 + c-12.107,0.088-21.363,4.319-28.296,12.932c-6.802,8.451-9.551,18.944-7.95,30.347c1.516,10.8,6.863,22.286,15.825,34.198 + c-1.489,1.597-2.928,3.174-4.312,4.723C15.967,146.661,0,172.87,0,177.213v2.25h28.816l-0.505-2.668 + c-1.627-8.601,1.623-19.351,8.279-27.385c4.179-5.044,11.1-10.801,21.968-13.457c9.663,9.431,21.975,19.446,35.679,29.109 + h21.414v-2.25c0-2.539-1.259-4.762-3.545-6.257c-3.383-2.212-8.605-2.517-13.402-0.881c-4.573-5.093-7.137-11.896-7.691-20.347 + c46.474,4.115,90.927,22.883,141.085,49.085h27.598l0.361-1.809C260.572,180.029,259.169,176.579,256.305,173.375z + M33.125,146.539c-6.816,8.227-10.429,19.094-9.601,28.424H5.372c3.647-7.894,18.176-30.712,39.644-53.76 + c2.958,3.656,6.253,7.35,9.872,11.073C44.347,135.444,37.437,141.336,33.125,146.539z"/> + </g> + </g> + </switch> + <i:pgf id="adobe_illustrator_pgf"> + <![CDATA[ + eJzdffle8sqy6H0B3gFUFGQwEyEBB2YHUEFwwJlJRJlkWGuv88d59lvVSUgICWmQ75x1716/7aed Tnd1dXXN1fF6iuVQsjmot0J8mHG7vN70qFWbDEYxN2l1n3e70/FkhE2+G7+bZcMMdEqeS29qx7vW aNwZ9GPkEXmYw7d951e565vTrN/t80NbpTPptqB1Mug1apPw+K+2X5sLXs7UJvAwciAfMKKbZWJ8 1J28hOepwbTf7PTbqcF/YPyo6OYZzi3AU0GKwuOzzk1rbO4TjrK8jB3DnAy/CLwYluBNQYInDL6V @@ -231,9 +231,9 @@ Tq9gNWkg3o0d20wa+dw/eUxcW08qVKtMTmaugMas1rqVa0d3bnrctdWkTO7lJWczqbjt/e5fpk2T wizatDXmNPh+Zz3pKZPca/miVUv0TraDJ+qk1ZDPhN6TK+Ho2aWcVTb7/J2bW+vjIVOIhlic9HBh 0rPWQLyphTiYlAmZV1p4eqyZJiWzqGuNfjdzr3aTZpjL/RfZetLzn1jia3R1YzlpOb7Hw6m0Xqu4 nW+VecZm0qcQU37zb1lPmj9rXT09+n36pC6vYdq7vX7bdtLyZ+m9bjfpKXOXHx5aTw== - - - WuC9Lu9tLnF4ZLnWu+HFlu2kd2+nWxO7Sa+Z+5N8Rp8U1mKY9vI4+/ZaenmxnPTl+vvcdtKvaqSZ + + + WuC9Lu9tLnF4ZLnWu+HFlu2kd2+nWxO7Sa+Z+5N8Rp8U1mKY9vI4+/ZaenmxnPTl+vvcdtKvaqSZ s5n0Gbgl8zLuhqzXevU17F3LEm856dt5qG876chbDnj0SVGKGc/qLZPt9C4sJ5WuQluexEsoC5Py YfOhmb5F39RJ67zfdGhcXv9jobZPpuX2jn1n82stMO/7sSROemyaFIb9+tGYvnhgnnQ82D1SJ52c BGBf5tfqea49+ZVJU1X2fJ4VBkfj22MPTppY5EnnIW2lh6xpUsBY/GxLVKY9YfMhEysMDoUrRdLw @@ -305,9 +305,9 @@ Ob0WOSR1jio9nDqMUue3qHMUKUq3csSvZ3Xq1PtgLTyFzj7mWo62It5lsXTHCh7QtxM2FTzNU72C Z3nNCH3NqWNRhjqUGk2gKpSkUist9TbLvL5Tytt6qEs5qXXL+XNgX1tsWcA4x5NpzIu5fVmUPr/e F+dLgFbdFzqVdaV9obsJaJVqZXPYCj0kv7mcCauVnSuZXKsdQ0rl1YzK2W3zVoeG7k4gClSqOgwi 0zH6uCoq9Zqm5TWJKxvmk+MfKzGo172aBeH6hvnk2CwG7Whsptpb00H7bCWTY3anyg== - - - wu6fUTK4oKJdvHOv77ZHU8OYhfm8tvE8OTGL+bUxRjK1N4IxOtaj62N2xDDGU7kop5dYjvYgrWwj + + + wu6fUTK4oKJdvHOv77ZHU8OYhfm8tvE8OTGL+bUxRjK1N4IxOtaj62N2xDDGU7kop5dYjvYgrWwj 2wK1GBCkAsngUZwBRcVXKEDSbbblZ3/ewrYJUGKQaSFlxto/ZrKwna65GX7YX3PzMm6bkxhcXmcj fEkRNOU2uSjLZH/MVudKwJki71/ny1NNV1U/YTxUc2jvhXOq3+JeJj77GxbsfUpLarRXYS5OudZY tLyOB8jCulF48vlyBrH6ck1aiOXtQBZycUnJMoU8cy0e8SUIdDjitgi01GDPraozV0TgnO7h8qrV @@ -379,9 +379,9 @@ cd4Sf1jBEaKOaIs7kxuEourZWUxi/brz2aepYLfw+r15lnn96oaPECy3xOm8fh/psIONiH4YmysX lpU0fzpduDCfgeuiuNOg+mu34sI9ilY5Sb9wK1Yt8y3Xvn2YlK7TS2S6z50fUKvXWi2PjdiyTC1a 48KF+bNfpfHzr2JN6kIL8y0LQthebL2M2w7Xg6nLWPZdiHnr9TZ2YDsfRcTcdr7ZjTqqxxHxWKhk 6weNXrLfCA2Ske700iQDyFSpbktkEoff18+5/d1rjbk0kruZj6GfTebvHwuzfQYrSQ== - - - r7xXT5G5+/uV3l3vrNRqqTgpXKe6kodNX92XWrnD7HMY1nfvy/lLXDLxk3r1YWWKYg7MWk8aORyx + + + r7xXT5G5+/uV3l3vrNRqqTgpXKe6kodNX92XWrnD7HMY1nfvy/lLXDLxk3r1YWWKYg7MWk8aORyx mIhXSlOsjz6TQp7dafY+de+ZP1zFTCNWa2Yb79niaMSNk5799qh0EPLGdvn7y0gyIgbGn+cHg2nN 5d07a0ny/snTzuOW53zi9yRzNwdb1VcxtlO+3854v/vlwl7rcxgSy4Wft+h3s9BOfL9ffeZbZVm+ ej77uSuzw/xH+bPU6d6eHlxO795O/b63t3TA/1WNfF33ioH4h8s7DDwmJiNv2bc3GvE7nq1Ba3Dg @@ -453,9 +453,9 @@ u7e3JscnCQShlcTEo5pDNzhGk8urhE8OQ/et1Hfha6T4B+eCObXk7e7hMWz33fViQOm+q9u2JCKF Lr62f8haovf8Yc04PYnHPo2F1PfeaU4z631eY6ArffyilmvNXmPzVZT775feLkasRMXi67xe9IHG RiLG6bbk72QW0ObnZzHTBw8cvvxohp2JEj0ddRp+DdZ7KfHA+MPan7tg7+d8ecaLzulLOHK1XYUY mrvBfG6fO+a0bXyU0Oru5N738i9wAo+2SWQE3ZgZA0sBGkqA/f3QS1Yus3l9c1xezQ== - - - /+uVsVMcWj1fydIVaJkY6tHRMYsgyXgOCkrwCO24+QfFRLx3nDYEfV74bBdsZOKA04JCxEFV1UJG + + + /+uVsVMcWj1fydIVaJkY6tHRMYsgyXgOCkrwCO24+QfFRLx3nDYEfV74bBdsZOKA04JCxEFV1UJG 4ihRTudvQA/xn5MoHjpBJQw4PGldUl9JqfH4kDl4KEWVcNosGAXblPlIxJ+TF4Qnm4GKYrToKNmv 196V84K35xzujVvtrG/rrp3JeT8u5gNKF+J9zz9IDobDekqYpkqmiJTCYT5zJ+Pnu8Dx9uE2vnMG mA/siNssc39wWf5GHfVkB/Sj/SfVEfJ+fgyc6mRsiFx2vZWSIZQzH4QBi6/16v8A7SqHmTPbEvqg @@ -527,9 +527,9 @@ wsusSN7jw1wEloC4EWVWgLXwAGaUcwOCw7LMwS+48IgIA0RkpQXekyPhKC/xSi+JgUHZCKBHgl8Y QIYgSWRT+EhUIDsHC5ZwC8jOMazSxghKJwkXjNsr46YubHja9QETQn+YXMGxBLvWI22wgIjSJsJa sUXgcBBsEQSlJSLwSgP8z91wKZ0krRMfdSsDCbOBRPfidA0AggGiBsTBS6zyROQEAgduiCiSpoiE hAQtUVmQlRYetxGIjYmyCiCw3wIBZLEXjiSpI0UlZaS56RCO/Vvrw0pOoXb4wiyMzA== - - - IPBw1sNSVMLjx8Ay4fBxoFlGOaQlwDEflWRcBeCdY4AKeUEGJCBa4HiJER7pmwHqwpPCSHBSgKp5 + + + IPBw1sNSVMLjx8Ay4fBxoFlGOaQlwDEflWRcBeCdY4AKeUEGJCBa4HiJER7pmwHqwpPCSHBSgKp5 IBegdDwgAg/HgQFUzdoKpC0aZZR+oN5ESFtEwSTPiGExipvEc2FJ4pAykT/g8YWJGFw/0iXP424J XAQQF4XXWJhbJCQjKQTCs3Bco4h3eJ8nYEELJ/HaYQfCBrA4EagPVyHKYZ6JwuBwklgBtrvqQtqO EMKOIow8TAa/8BKLrUDRPJwVNxx2RAgH/Tl8EoFfkUphRs7NCZEwnGGBkIyMZMVxeKwFmCfKAb9D @@ -584,6 +584,6 @@ wnlZIFSIZlhPDdDwircRaE5ws6CskOOD+8FEyYFCZiMpwWMiQ4AwgbEz6GuYtRWgDf2caCkAaxcx ukDeRCUHcSZE8HDAoMSYAP01wiiEg5FscoCA3eHZQk4gS0TWgcxB1zOHngMGhS0GDnji58eRMPSA yFdpGTkB8E0SH4oi3zGv1zHaaRX58RZr7VZlVOt0WyNXe1z7q+Wu9fuDSW3SGsITd3vUGk8Go5Z7 /Dn4G1vgFa2715u9zrn+L1T7Dxc= - - - + ]]> + + diff --git a/webapps/docs/jasper-howto.xml b/webapps/docs/jasper-howto.xml index 3f6954782..2bc9c56ce 100644 --- a/webapps/docs/jasper-howto.xml +++ b/webapps/docs/jasper-howto.xml @@ -282,7 +282,7 @@ download) to precompile a webapp: optimize="off" debug="on" failonerror="false" srcdir="${webapp.path}/WEB-INF/src" - excludes="**/*.smap"> + excludes="**/*.smap"> <classpath> <pathelement location="${webapp.path}/WEB-INF/classes"/> <fileset dir="${webapp.path}/WEB-INF/lib"> @@ -306,10 +306,10 @@ download) to precompile a webapp: </target> <target name="cleanup"> - <delete> + <delete> <fileset dir="${webapp.path}/WEB-INF/src"/> <fileset dir="${webapp.path}/WEB-INF/classes/org/apache/jsp"/> - </delete> + </delete> </target> </project> diff --git a/webapps/docs/manager-howto.xml b/webapps/docs/manager-howto.xml index c285c5196..b56125b47 100644 --- a/webapps/docs/manager-howto.xml +++ b/webapps/docs/manager-howto.xml @@ -1149,69 +1149,69 @@ can be used:
    -	<target name="manager.deploy"
    -		depends="context.status"
    -		if="context.notInstalled">
    -		<deploy url="${mgr.url}"
    -			username="${mgr.username}"
    -			password="${mgr.password}"
    -			path="${mgr.context.path}"
    -			config="${mgr.context.descriptor}"/>
    -	</target>
    -
    -	<target name="manager.deploy.war"
    -		depends="context.status"
    -		if="context.deployable">
    -		<deploy url="${mgr.url}"
    -			username="${mgr.username}"
    -			password="${mgr.password}"
    -			update="${mgr.update}"
    -			path="${mgr.context.path}"
    -			war="${mgr.war.file}"/>
    -	</target>
    -	
    -	<target name="context.status">
    -		<property name="running" value="${mgr.context.path}:running"/>
    -		<property name="stopped" value="${mgr.context.path}:stopped"/>
    -	
    -		<list url="${mgr.url}"
    -			outputproperty="ctx.status"
    -			username="${mgr.username}"
    -			password="${mgr.password}">
    -		</list>
    -		
    -		<condition property="context.running">
    -			<contains string="${ctx.status}" substring="${running}"/>
    -		</condition>
    -		<condition property="context.stopped">
    -			<contains string="${ctx.status}" substring="${stopped}"/>
    -		</condition>
    -		<condition property="context.notInstalled">
    -			<and>
    -				<isfalse value="${context.running}"/>
    -				<isfalse value="${context.stopped}"/>
    -			</and>
    -		</condition>
    -		<condition property="context.deployable">
    -			<or>
    -				<istrue value="${context.notInstalled}"/>
    -				<and>
    -					<istrue value="${context.running}"/>
    -					<istrue value="${mgr.update}"/>
    -				</and>
    -				<and>
    -					<istrue value="${context.stopped}"/>
    -					<istrue value="${mgr.update}"/>
    -				</and>
    -			</or>
    -		</condition>
    -		<condition property="context.undeployable">
    -			<or>
    -				<istrue value="${context.running}"/>
    -				<istrue value="${context.stopped}"/>
    -			</or>
    -		</condition>
    -	</target>
    +    <target name="manager.deploy"
    +        depends="context.status"
    +        if="context.notInstalled">
    +        <deploy url="${mgr.url}"
    +            username="${mgr.username}"
    +            password="${mgr.password}"
    +            path="${mgr.context.path}"
    +            config="${mgr.context.descriptor}"/>
    +    </target>
    +
    +    <target name="manager.deploy.war"
    +        depends="context.status"
    +        if="context.deployable">
    +        <deploy url="${mgr.url}"
    +            username="${mgr.username}"
    +            password="${mgr.password}"
    +            update="${mgr.update}"
    +            path="${mgr.context.path}"
    +            war="${mgr.war.file}"/>
    +    </target>
    +    
    +    <target name="context.status">
    +        <property name="running" value="${mgr.context.path}:running"/>
    +        <property name="stopped" value="${mgr.context.path}:stopped"/>
    +    
    +        <list url="${mgr.url}"
    +            outputproperty="ctx.status"
    +            username="${mgr.username}"
    +            password="${mgr.password}">
    +        </list>
    +        
    +        <condition property="context.running">
    +            <contains string="${ctx.status}" substring="${running}"/>
    +        </condition>
    +        <condition property="context.stopped">
    +            <contains string="${ctx.status}" substring="${stopped}"/>
    +        </condition>
    +        <condition property="context.notInstalled">
    +            <and>
    +                <isfalse value="${context.running}"/>
    +                <isfalse value="${context.stopped}"/>
    +            </and>
    +        </condition>
    +        <condition property="context.deployable">
    +            <or>
    +                <istrue value="${context.notInstalled}"/>
    +                <and>
    +                    <istrue value="${context.running}"/>
    +                    <istrue value="${mgr.update}"/>
    +                </and>
    +                <and>
    +                    <istrue value="${context.stopped}"/>
    +                    <istrue value="${mgr.update}"/>
    +                </and>
    +            </or>
    +        </condition>
    +        <condition property="context.undeployable">
    +            <or>
    +                <istrue value="${context.running}"/>
    +                <istrue value="${context.stopped}"/>
    +            </or>
    +        </condition>
    +    </target>
     
    diff --git a/webapps/docs/ssl-howto.xml b/webapps/docs/ssl-howto.xml index 98f867e78..21beed1d0 100644 --- a/webapps/docs/ssl-howto.xml +++ b/webapps/docs/ssl-howto.xml @@ -433,14 +433,14 @@ by the Certificate Authority to create a Certificate that will identify your web as "secure". To create a CSR follow these steps:

    • Create a local Certificate (as described in the previous section): - keytool -genkey -alias tomcat -keyalg RSA \ - -keystore <your_keystore_filename> - Note: In some cases you will have to enter the domain of your website (i.e. www.myside.org) - in the field "first- and lastname" in order to create a working Certificate. + keytool -genkey -alias tomcat -keyalg RSA \ + -keystore <your_keystore_filename> + Note: In some cases you will have to enter the domain of your website (i.e. www.myside.org) + in the field "first- and lastname" in order to create a working Certificate.
    • The CSR is then created with: - keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr \ - -keystore <your_keystore_filename> + keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr \ + -keystore <your_keystore_filename>

    Now you have a file called certreq.csr that you can submit to the Certificate Authority (look at the @@ -454,22 +454,22 @@ After that you can proceed with importing your Certificate.

    • Download a Chain Certificate from the Certificate Authority you obtained the Certificate from.
      - For Verisign.com commercial certificates go to: + For Verisign.com commercial certificates go to: http://www.verisign.com/support/install/intermediate.html
      For Verisign.com trial certificates go to: http://www.verisign.com/support/verisign-intermediate-ca/Trial_Secure_Server_Root/index.html
      - For Trustcenter.de go to: + For Trustcenter.de go to: http://www.trustcenter.de/certservices/cacerts/en/en.htm#server
      - For Thawte.com go to: + For Thawte.com go to: http://www.thawte.com/certs/trustmap.html
    • Import the Chain Certificate into your keystore keytool -import -alias root -keystore <your_keystore_filename> \ - -trustcacerts -file <filename_of_the_chain_certificate> + -trustcacerts -file <filename_of_the_chain_certificate>
    • And finally import your new Certificate - keytool -import -alias tomcat -keystore <your_keystore_filename> \ - -file <your_certificate_filename> + keytool -import -alias tomcat -keystore <your_keystore_filename> \ + -file <your_certificate_filename>
    diff --git a/webapps/docs/tomcat-docs.xsl b/webapps/docs/tomcat-docs.xsl index 80e06d4b2..f5551baf8 100644 --- a/webapps/docs/tomcat-docs.xsl +++ b/webapps/docs/tomcat-docs.xsl @@ -77,10 +77,10 @@ --> - + ParameterName - Default - Description - + Default + Description + --Description @@ -156,8 +156,8 @@ --User User account used for running executable. It is used only for - StartMode java or exe and enables running applications - as service under account without LogonAsService privilege. + StartMode java or exe and enables running applications + as service under account without LogonAsService privilege. --Password -- 2.11.0