Tomcat原理学习
文章平均质量分 53
tomcat相关知识学习、问题解决
军伟@
Java开发工程师
展开
-
Tomcat学习--tomcat运行状态监控
上一篇博客Tomcat学习--war服务相关状态信息监控中我们已经了解了一下对war包的启动、停止、运行状态、重载和卸载操作的实现机制,接下来我们用这篇博客了解一下tomcat运行过程中服务器,操作系统,jvm和war的一些状态信息。 目前tomcat将运行的过程中的一些状态信息通过JMX的MBeanServer机制保存起来,所以目前的实现就是通过MBeanServer来获取数据就好...原创 2018-05-02 20:43:42 · 11270 阅读 · 0 评论 -
Tomcat学习--war服务相关状态信息监控
Tomcat官方管理 tomcat官方提供了自身的管理界面,我们可以根据其实现原理改造和移植其相关功能。主要有以下功能:(1)每个war服务状态,并提供了启动(start)、停止(stop)、卸载(Undeploy)、重新发布(Reload)以及设置session过期时间等。(2)查看JVM相关内存使用情况(3)查看对外服务提供的请求等处理情况等(4)每个war服务中相关请求的执行处理情况等...原创 2018-05-02 20:04:22 · 1799 阅读 · 0 评论 -
Tomcat源码学习--servlet请求处理
当前tomcat 8.5.20中已经不再使用bio模型,默认支持NIO实现的org.apache.coyote.http11.Http11NioProtocol,当前tomcat支持的io模型如下: 在Tomcat启动时会启用一个端口来监听请求,并且会启动多个线程来处理相关的请求操作,如下图:相关线程介绍:(1)http-nio-8080-Acceptor为请求接收器,其只接收请求,不会对请求做任...原创 2018-03-20 19:38:28 · 4308 阅读 · 0 评论 -
Tomcat源码学习--Tomcat模块组成
1、Server.xml从tomcat的server.xml中我们可以看到tomcat的相关模块设计,从server.xml文件中解析出来的各个对象都是容器,比如Server、service、Connector和host等,这些容器都有新建、初始化、启动、停止、失败和销毁等状态。Server.xml示例:<?xml version="1.0" encoding="UTF-8"?>&...原创 2018-03-20 12:42:48 · 1562 阅读 · 0 评论 -
Tomcat启动停止慢问题查找解决
Tomcat启动停止慢问题查找解决一、概述 使用封装的tomcat组件进行web服务部署时,导致tomcat服务在服务启动和停止中用时比较长,结合tomcat的运行日志进行问题分析。运行日志如下: 二、tomcat服务停止慢问题1、现象根据tomcat的运行日志发现,进行了3次tomcat停止操作过程中,第一次tomcat服务停止用时接近5分钟,第二次和第三次tomc...原创 2018-03-01 18:46:29 · 10225 阅读 · 0 评论 -
Tomcat源码学习--WebAppClassLoader类加载机制
上一篇博客JVM-类加载机制中我们已经对JVM的类加载机制有所了解, 这篇博客我们了解一下Tomcat的类加载机制。Tomcat的类加载器可以分为两部分,第一个是Tomcat自身所使用的类加载器,会加载jre的lib包及tomcat的lib包的类,遵循类加载的双亲委派机制;第二个是每个Web应用程序用的,每个web应用程序都有自己专用的WebappClassLoader,优先加载/web-inf原创 2017-11-01 20:10:17 · 15048 阅读 · 5 评论 -
Tomcat源码学习--Cookie创建和销毁
上一篇博客Tomcat源码学习--Session创建销毁中我们学习了Session创建、使用和销毁的操作,接下来我们看看Tomcat中对Cookie是如何做处理的。首先我们要了解Cookie是由浏览器创建、管理和销毁操作的,Tomcat只能获取浏览器请求过来的cookie值,或者创建cookie。一、获取Cookie1、通过request获取cookie Cookie [] cookies = r原创 2017-10-31 16:05:38 · 1298 阅读 · 0 评论 -
Tomcat源码学习--Session创建销毁
每个web后台开发人员肯定对Session有所接触和了解,简单来说就是后台服务器维护了一个存在有效时间和范围限制的缓存数据。 接下来我们通过这篇博客来分析一下tomcat创建、使用和销毁Session的相关过程。首先我们需要看一下tomcat中与session相关的所有类,如下:HttpSession:是javax.servlet包中提供的session接口StandardSessionFacad原创 2017-10-31 11:32:28 · 1396 阅读 · 0 评论 -
Spring boot 内置tomcat禁止不安全HTTP方法
1、在tomcat的web.xml中可以配置如下内容,让tomcat禁止不安全的HTTP方法 /* PUT DELETE HEAD OPTIONS TRACE BASIC 2、Spring boot使用内置tomcat,没有web.xml配置文件,可以通过原创 2017-10-16 18:47:43 · 21334 阅读 · 2 评论 -
Tomcat学习--tomcat配置使用log4j
tomcat自身提供了日志收集及打印功能,但对日志文件的大小及日志文件生成个数没法控制,因此tomcat提供了一个扩展日志的功能。1、首先去tomcat官网下载两个jar:tomcat-juli-adapters.jar和tomcat-juli.jar2、下载log4j的jar包:log4j-1.2.17.jar 及配置log4j的配置文件log4j.properties#log4j.rootLo原创 2017-09-20 20:23:37 · 8146 阅读 · 2 评论 -
Tomcat学习--禁止tomcat日志中stderr和stdout日志打印
最近在使用tomcat时,由于代码问题导致logbac日志打印过多,由于logback可以控制日志文件的个数和日志文件大小,不会产生过多日志问题,但是发现tomcat由于是每天生成一个日志文件,导致一天所有的日志都打印到同一个文件中,导致日志文件过大,并且日志文件中的内容包括很多东西,如下图,直接导致磁盘被占满。1、解决方法首先考虑是禁止tomcat打印stderr和stdout日志修改tomca原创 2017-09-20 19:16:59 · 13810 阅读 · 3 评论