Download presentation
Presentation is loading. Please wait.
Published byThomasina Garrison Modified over 9 years ago
2
Introductions Two decades in software development Software Engineering Solutions, Inc. www.swengsol.com www.swengsol.com Technical Reviewer: Core JavaServer Faces 3 rd Edition “Top 1000” reviewer at Amazon.com.
3
Why another Tomcat book? Current focus is on administrators Tend to view Tomcat as a black box Exactly HOW does it do what it does?
4
Pieces of the Puzzle Java EE HTML over HTTP Servlet Container.
5
Java EE
6
Uniform Resource Locators http://www.swengsol.com:80/myWebApp /adobe/invoices/EditInvoice ?id=x123;jsessionid=… schemeporthost context path servlet path info path parameters query string
7
HTML over HTTP
8
Servlet Specification WAR file format Servlet Filter Listener Session web.xml
9
Servlet Container Interaction
10
Concurrency
11
The Tomcat Servlet Container
12
Container Overview A valve: Extends Tomcat functionality Is Tomcat-specific Must be super-efficient
13
Containment: Server and Service
14
Containment: Connectors
15
Containment: Catalina Engine
16
Containment: Virtual Host Each FQHN resolves to a specific IP address Needs dedicated IP addresses
17
Containment: Virtual Host Multiple FQHNs resolve to a single IP address Host: request header interrogated Simple but requires help with SSL
18
Containment: Virtual Host
19
Containment: Context
20
Containment: Another View
21
Benefits Late Binding (assembly of functionality) Security (single choke point) Customization (encrypt, generate, locate) Variance across Time Variance across Space Isolation Zones Advanced Topics: Java Class Loading First Principles
22
Rules Consistency (always return same instance) Delegation (security) Visibility (Delegation hierarchy + CL inversion) Advanced Topics: Java Class Loading First Principles
23
Available Options Implicit class loading: MyClass myClass = new MyClass() Explicit class loading: ClassLoader ldr = ClassLoader.getSystemClassLoader(); Class cls = ldr.loadClass("MyClass"); MyClass myClass = (MyClass) cls.newInstance(); Advanced Topics: Java Class Loading First Principles
24
Advanced Topics: Java Class Loading No parent Native code in JVM Core Java classes from rt.jar JRE_HOME/jre/lib/ext (implicit CLASSPATH) Classes on CLASSPATH Truncated by Tomcat CATALINA_HOME/lib Visible to web apps and Tomcat code Directory configured in catalina.properties Visible to all web apps WEB-INF/classes and WEB-INF/lib Delegates to parent for standard Java classes Directory configured in [catalina.properties] Visible only to Tomcat code Lets you override core JDK classes JAVA_HOME /lib/endorsed
25
Advanced Topics: Web Application Class Loading
26
Thank You! damodarchetty@gmail.com www.swengsol.com www.swengsol.com 651 270 8457 for training/consulting opportunities.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.