Tomcat学习笔记

75 阅读3分钟

一、web相关基本概念

Http有个特点是无状态,请求与请求之间没有关系。为了使每次请求之间建立关系,并且服务器需要知道请求来自哪个用户,所以出现了Cookie技术

  1. Cookie技术
  • Cookie是http报文的一个请求头,web应用可以将用户的标识信息或者其他信息存储在Cookie中。用户经过验证后,每次请求报文中都包含Cookie。
  • 本质上就是一份存储在用户本地的文件,里面包含了每次请求中都需要传递的信息
  1. Session技术
  • 对比Cookie以明文的方式存储在本地,而Cookie中往往携带有用户信息,有非常大的安全隐患
  • 服务器端开辟的存储空间,里面保存了用户状态。用户信息以session的形式存储在服务端。当用户请求到来时,浏览器在Cookie中填充一个SessionId之类的字段标识请求
  1. servlet容器用来加载和管理业务类,http服务器不直接与业务类打交道,而是把请求交给servlet容器去处理,servlet容器会将请求转发到具体的servlet,如果servlet还没创建,就加载并实例化这个servlet,然后调用servlet的接口方法,因此servlet接口其实是servlet容器和具体业务类之间的接口

  2. servlet接口

    • service方法,具体业务类在这个方法里实现处理逻辑
      • ServletRequest用来封装请求信息
      • ServletResponse用来封装响应信息
      • 这两个类本质上是对通信协议的封装
    • init方法:Servlet容器在加载Servlet类时调用这个方法,SpringMVC中的DispatchServlet就是在init方法里面创建了自己的Spring容器
      • ServiceConfig:封装Servlet的初始化参数
    • destroy方法:在卸载的时候调用destroy方法 image.png
  3. Servlet扩展机制

    • Filter是过滤器,允许对请求和响应做一些统一的定制化处理;
      • 工作原理:web应用部署完成后,Servlet容器需要实例化Filter并把Filter链接成一个FilterChain。当请求过来时,获取第一个Filter并调用doFilter方法。doFilter方法负责调用这个FilterChain中的下一个Filter
    • Listener是监听器。当web应用在Servlet容器中运行时,Servlet容器内部会不断发生各种事件,Servlet容器提供了一些默认的监听器来监听这些事件,当事件发生时,Servlet容器会负责调用监听器的方法

二、tomcat基本概念

  1. tomcat-8.5.85下载地址

image.png

  • /bin:存放启动和关闭tomcat的脚本文件
  • /config 存放各种全局配置文件,最重要的是server.xml
  • /lib 存放tomcat以及所有web应用都可以访问的jar文件
  • /logs存放tomcat执行时产生的日志文件
  • /work存放jsp编译后产生的Class文件
  • /webapps:tomcat的web应用目录,默认情况下把Web应用放在这个目录
  1. 查看tomcat日志 image.png
    • catalina.xxx.log 记录tomcat启动过程信息,在这个文件可以看到启动的jvm参数以及操作系统的日志信息
    • catalina.out 记录tomcat的标准输出和标准存错误,是在tomcat启动脚本中指定;会将stdout和stderr重定向到这里
    • localhost.xxx.log 记录Web应用在初始化过程中遇到的未处理异常,会被Tomcat捕获而输出到这个日志文件
    • localhost_access_log.xxx.text 存放访问tomcat的请求日志,包括IP地址以及请求的路径、时间、请求协议以及状态码信息
    • manager.xxxd.log/host-manager.xxx.log 存放Tomcat自带的manager项目的日志信息

参考链接

  1. TOMCAT官网