Tomcat知识点

Tomcat介绍

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

在idea中导入tomcat源码

先将源码赋值到工程目录下,然后建立pom.xml文件,最后在idea的最右边点击maven,再点击+号,然后选上那个pom.xml文件,就成功导入了
在这里插入图片描述在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>Tomcat8.5</artifactId>
    <name>Tomcat8.5</name>
    <version>8.5</version>
 
    <build>
        <finalName>Tomcat8.5</finalName>
        <sourceDirectory>java</sourceDirectory>
        <testSourceDirectory>test</testSourceDirectory>
        <resources>
            <resource>
                <directory>java</directory>
            </resource>
        </resources>
        <testResources>
           <testResource>
                <directory>test</directory>
           </testResource>
        </testResources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
 
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymock</artifactId>
            <version>3.4</version>
        </dependency>
        <dependency>
            <groupId>ant</groupId>
            <artifactId>ant</artifactId>
            <version>1.7.0</version>
        </dependency>
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.2</version>
        </dependency>
        <dependency>
            <groupId>javax.xml</groupId>
            <artifactId>jaxrpc</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jdt.core.compiler</groupId>
            <artifactId>ecj</artifactId>
            <version>4.5.1</version>
        </dependency>
       
    </dependencies>
</project>

-Dcatalina.home=/Users/zhewanzhan/Downloads/chromeDownload/zhan_tomcat/apache-tomcat-8.5.56-src/home
-Dcatalina.base=/Users/zhewanzhan/Downloads/chromeDownload/zhan_tomcat/apache-tomcat-8.5.56-src/home
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=/Users/zhewanzhan/Downloads/chromeDownload/zhan_tomcat/apache-tomcat-8.5.56-src/home/conf/logging.properties

HTTP工作方式

在这里插入图片描述
浏览器只能解析html,css,js等静态资源,而像jsp等动态资源是无法解析的

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

Servlet容器的结构,主要是4种容器,并且是父子关系

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

tomcat启动流程源码解析

在这里插入图片描述在这里插入图片描述
因为Tomcat中的每个组件都存在生命周期中的初始化,开始,停止,摧毁方法,所以将各个组件中的这些方法提取出来,变成一个接口叫lifecycle

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
请求处理流程
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

刚开始主要是连接器部分,然后是Servlet容器部分
连接器主要是EndPoint,processor,CoyoteAdapter 这3部分
Servlet容器主要是 Engine, Host, Context Wrapper 这4个父子容器部分

tomcat的请求处理流程

在这里插入图片描述

Jasper组件介绍

在这里插入图片描述
也就是说浏览器解析的页面不能包含任何的JAVA代码

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关于index_jsp.java的解读

在这里插入图片描述

Tomcat服务器配置

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
通过上面的参数在server.xml配置之后,在线程池中就会有100个核心线程生成

server.xml中的连接器Connector配置

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

一个引擎下面配置多个host

在这里插入图片描述
用这个switchhost可以配置你自己定义的www.xxxx.com解析为哪个具体的ip地址
在这里插入图片描述在这里插入图片描述

此时用www.tomcat.com:8080访问即可得到下面这个页面
在这里插入图片描述

用oa.tomcat.com:8080访问即可得到下面这个页面

在这里插入图片描述

Context标签是host标签的一个子标签

里面有docBase属性和path属性
docBase属性是项目应该放在的目录下面
path属性是访问时的路径地址
在这里插入图片描述在这里插入图片描述

Web应用配置

在这里插入图片描述在这里插入图片描述在这里插入图片描述

会话配置session Cookie

web.xml中配置这个session会话,那么当浏览器第一次访问的时候,服务器就会给浏览器传回一个cookie,而这个cookie的键就是cookie-config里 面的 name 标签,这里设置的是JESSIONID

在这里插入图片描述
在这里插入图片描述

Servlet配置

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
默认没有配置load_on_startup ,就表示是小于0 的,只在访问的时候加载
此时我们在Servlet中的初始化方法init中打印一条语句
在这里插入图片描述
结果发现,Tomcat启动时,并没有打印这句话,而是在第一次访问的时候加载了这句话

当我们在web.xml中配置了之后
在这里插入图片描述
则在Tomcat启动的时候,就会打印这句话

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
根据错误的状态码 来选择跳转到哪个HTML页面
在这里插入图片描述

Tomcat管理配置

在这里插入图片描述在这里插入图片描述在这里插入图片描述

JVM配置

在这里插入图片描述在这里插入图片描述在这里插入图片描述

Tomcat集群

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
通过Ip_hash策略就可以让同一个用户一直访问同一个Tomcat服务器

在这里插入图片描述在这里插入图片描述在这里插入图片描述
tomcat数量较少时可以用这种广播的方式,但是如果数量较大,那广播就会特别浪费资源

单点登录

在这里插入图片描述

Tomcat安全

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
https在性能上考虑了加密和解密,有一系列的复杂计算,因此性能没http好
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

Tomcat性能调优

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

Tomcat附加功能

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42350785/article/details/107160987
今日推荐