This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat-training.git
The following commit(s) were added to refs/heads/master by this push:
new b7a3d00 Start the deployment module
b7a3d00 is described below
commit b7a3d008430cff0c09639de6996d29ce6bed0019
Author: Mark Thomas <[email protected]>
AuthorDate: Mon Mar 12 19:55:00 2018 +0000
Start the deployment module
---
modules/deployment-01.html | 146 +++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 142 insertions(+), 4 deletions(-)
diff --git a/modules/deployment-01.html b/modules/deployment-01.html
index c592516..162959d 100644
--- a/modules/deployment-01.html
+++ b/modules/deployment-01.html
@@ -14,7 +14,145 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<section>Deployment 01</section>
-<section>Slide 1</section>
-<section>Slide 2</section>
-
+<section>
+ <h2>Deployment</h2>
+</section>
+<section>
+ <h3>Definition</h3>
+ <p>Adding a web application to Tomcat</p>
+ <p>A web application maps request URLs to zero to many Filters and exactly
one Servlet</p>
+ <p>Plus a supporting cast of static content, security configuration,
resources, session management
+ and more</p>
+ <p>Web application (Servlet spec) == Context (Tomcat)</p>
+</section>
+<section>
+ <h3>Web application structure</h3>
+ <p>Directory or Web ARchive (WAR)</p>
+ <p>WAR has same format as JAR (and zip)</p>
+</section>
+<section>
+ <h3>Web application structure</h3>
+ <p>/ contains static content (and JSPs)</p>
+ <p>/WEB-INF/ may contain web.xml file</p>
+ <p>/META-INF/ may contain context.xml file</p>
+ <p>/WEB-INF/classes Java class files</p>
+ <p>/WEB-INF/lib JAR files</p>
+</section>
+<section>
+ <h3>Servlet</h3>
+ <p>Java class</p>
+ <p>Accepts an HTTP request</p>
+ <p>Generates an HTTP response</p>
+ <p>Default Servlet: static files</p>
+ <p>JSP Servlet (Jasper): JSP files</p>
+</section>
+<section>
+ <h3>Mapping rules</h3>
+ <p>Web applications are deployed to a context path</p>
+ <p>First mapping rule is map to longest matching context path</p>
+</section>
+<section>
+ <h3>Context Paths</h3>
+ <p>The context path is always derived from the WAR, DIR (or context.xml).</p>
+ <p>Priority order is context.xml, WAR then DIR</p>
+</section>
+<section>
+ <h3>Context Paths</h3>
+ <table>
+ <tr>
+ <th>Context Path</th>
+ <th>Context Name</th>
+ <th>Base File Name</th>
+ <th>Example File Names (.xml, .war & directory)</th>
+ </tr>
+ <tr>
+ <td>/foo</td>
+ <td>/foo</td>
+ <td>foo</td>
+ <td>foo.xml, foo.war, foo</td>
+ </tr>
+ <tr>
+ <td>/foo/bar</td>
+ <td>/foo/bar</td>
+ <td>foo#bar</td>
+ <td>foo#bar.xml, foo#bar.war, foo#bar</td>
+ </tr>
+ <tr>
+ <td><i>Empty String</i></td>
+ <td><i>Empty String</i></td>
+ <td>ROOT</td>
+ <td>ROOT.xml, ROOT.war, ROOT</td>
+ </tr>
+ </table>
+</section>
+<section>
+ <h3>Automatic deployment</h3>
+ <p>Default Host appBase is $CATALINA_BASE/webapps</p>
+ <p>Directories and WARs placed here are deployed at start-up by default</p>
+ <p>Root of WAR or directory for a Context is called the docBase</p>
+ <p>deployOnStartUp, autoDeploy, unpackWARs</p>
+</section>
+<section>
+ <h3>Deployment Descriptors</h3>
+ <p>context.xml files</p>
+ <p>/META-INF/context.xml
+ <p>$CATALINA_BASE/engine-name/host-name/base-name.xml</p>
+ <p>$CATALINA_BASE/Catalina/localhost/manager.xml</p>
+</section>
+<section>
+ <h3>Deployment Descriptors</h3>
+ <p>copyXML - copy to $CATALINA_BASE</p>
+ <p>deployXML - ignore /META-INF/context.xml</p>
+ <p>Note: defaults changed in Tomcat 7</p>
+ <p>Can point to a docBase outside the appBase</p>
+</section>
+<section>
+ <h3>Automatic deployment</h3>
+ <p>1st Deployment descriptors</p>
+ <p>2nd WAR</p>
+ <p>3rd Directory</p>
+</section>
+<section>
+ <h3>Automatic deployment</h3>
+ <p>Detecting changes</p>
+ <p>Tomcat will pick up the change</p>
+ <p>Aims to do the minimum necessary for the change to take effect</p>
+ <p>The <a
href="https://tomcat.apache.org/tomcat-9.0-doc/config/automatic-deployment.html">details</a>
+ are documented</p>
+</section>
+<section>
+ <h3>Automatic deployment</h3>
+ <p>You can define Contexts in server.xml</p>
+ <p>Don't</p>
+ <p>Changes require a Tomcat restart</p>
+</section>
+<section>
+ <h3>Changes while shutdown</h3>
+ <p>Most will take effect on start-up</p>
+ <p>Updated WAR used to be ignored</p>
+ <p>/META-INF/war-tracker as of 8.0.21</p>
+</section>
+<section>
+ <h3>Parallel deployment</h3>
+ <p>Different versions of web application at the same time</p>
+ <p>Sessions using old version continue to do so</p>
+ <p>New sessions use latest version</p>
+</section>
+<section>
+ <h3>Parallel deployment</h3>
+ <p>foo##001.war</p>
+ <p>foo##002.war</p>
+ <p>Version is a string, not a number</p>
+</section>
+<section>
+ <h3>Demonstration</h3>
+ <p>Automatic deployment</p>
+ <p>Changes</p>
+ <p>Parallel deployment</p>
+</section>
+<section>
+ <h3>Exercise</h3>
+ <p>Create a web application and deploy it</p>
+ <p>Demonstrate parallel deployment</p>
+</section>
+
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
[email protected].
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]