随笔分类 -  Tomcat服务器

摘要:springBoot项目 war包启动原理参考链接: 【spring boot war包启动原理】 https://www.cnblogs.com/stone-with-big-ears/p/10950581.html 【Tomcat war包加载过程】https://www.jianshu.com 阅读全文
posted @ 2020-06-16 16:25 海绵般汲取 阅读(2652) 评论(0) 推荐(0) 编辑
摘要:难得遇到一次java堆内存溢出(心里想着,终于可以来一次jvm性能优化了$$) 先看下报错信息, 错误就是发出了这样的信号: 执行垃圾收集的时间比例太大, 有效的运算量太小. 默认情况下, 如果GC花费的时间超过 98%, 并且GC回收的内存少于 2%, JVM就会抛出这个错误。 资料来源:OutO 阅读全文
posted @ 2019-07-08 18:09 海绵般汲取 阅读(4509) 评论(1) 推荐(0) 编辑
摘要:以前觉了maven依赖设置很简单,就是将手动导入jar包转化为自动下载导入 但发现的一个问题, 在使用maven插件tomcat打包上传工具时 老是出现可以上传war包到服务器,但就是启动不了 就一步步排查问题,找了一大堆,最后我是靠注释掉所有启动时的配置代码,尝试着终于找到问题 问题代码AppCo 阅读全文
posted @ 2018-11-01 19:41 海绵般汲取 阅读(310) 评论(0) 推荐(0) 编辑
摘要:在本地eclipse上创建一个tomcat server 即tomcat服务器时, 会复制一份tomca安装目录中的conf文件下的配置文件到这个tomcat server目录下 这个tomcat server目录在workspaces路径,跟其他project同路径 文件如下,这些配置文件是启动t 阅读全文
posted @ 2018-09-19 18:48 海绵般汲取 阅读(387) 评论(0) 推荐(0) 编辑
摘要:今天想在本地eclipse上启动tomcat让项目在本地运行,但是老是报错类找不到异常。 也可能报其它错误,大概都是classNotFoundException。 网上查了一些资料,有人提到servlet-api和tomcat的jar包冲突,导致部署的项目缺少jar包,就报错了。 解决办法。 我们可 阅读全文
posted @ 2018-09-19 18:38 海绵般汲取 阅读(1380) 评论(0) 推荐(0) 编辑
摘要:当tomcat的Conector保存着StandardService实例,而StandardService保存着Container的实例 当Http11NioProcessor.process()方法内调用getAdapter.service(request,response)时会调用CoyoteA 阅读全文
posted @ 2017-11-14 19:57 海绵般汲取 阅读(1002) 评论(0) 推荐(0) 编辑
摘要:tomcat启动(六)Catalina分析-StandardServer.start() 上一篇分析到:Http11NioProcessor.process(SocketWrapper<S> socketWrapper)会将请求进行转换成生成request,和response对象,然后调用Coyot 阅读全文
posted @ 2017-11-09 23:48 海绵般汲取 阅读(1172) 评论(0) 推荐(0) 编辑
摘要:从链接 Tomcat中组件的生命周期管理公共接口Lifecycle 可以知道调用的是StandardServer.startInternal() 1、首先用fireLifecycleEvent()方法发送CONFIGURE_START_EVENT=“config_start”事件 这个事件会被Nam 阅读全文
posted @ 2017-11-07 14:53 海绵般汲取 阅读(547) 评论(0) 推荐(0) 编辑
摘要:Tomcat的组件都会实现一个Lifecycle接口,以方便组件的生命周期的统一管理 interface Lifecycle 组件生命周期中主要的几个方法 事件有: 在tomcat启动过程中用到的几个组件,如StandardServer,StandardService,StandardEngine, 阅读全文
posted @ 2017-11-07 08:28 海绵般汲取 阅读(396) 评论(0) 推荐(0) 编辑
摘要:这个方法主要设置(这个方法很重要,贵在理解,虽然还没学过设计模式。。) 1、遇到<server>标签时创建StandardServer实例 设置StandardServer类内部的相关属性 并调用Catalina.setServer()方法设置server 2、遇到<Server>标签的子标签<Li 阅读全文
posted @ 2017-11-05 14:33 海绵般汲取 阅读(1501) 评论(1) 推荐(0) 编辑
摘要:上篇写到StandardService.init() 这个方法做什么呢?一起来看看。 这个类也是实现了Lifecycle 如图。这个图中i表示Interface接口。如Lifecycle,Container,Executor C表示Class类 如StandardService C上有一个小A表示A 阅读全文
posted @ 2017-10-26 13:36 海绵般汲取 阅读(1029) 评论(0) 推荐(0) 编辑
摘要:上一回load()方法解析讲到xml解析完成。 load()内部接下来会获取server getServer().setCatalina(this); 这个server从createStartDigester()方法中可以看出getServer()返回的是StandardServer对象 具体请看: 阅读全文
posted @ 2017-10-25 11:41 海绵般汲取 阅读(1369) 评论(0) 推荐(0) 编辑
摘要:load()方法按从上到下顺序分析(主要分析本人所没学过的知识点,其它略过。。。)。 Digester类作用 使用sax技术对xml进行解析 未开始解析时Digester.push(this)这个用来为catalina设置server Digester的stack对象栈中持有Catalina对象, 阅读全文
posted @ 2017-10-24 16:24 海绵般汲取 阅读(885) 评论(0) 推荐(0) 编辑
摘要:上篇解析Bootstrap到 daemon.setAwait(true); daemon.load(args); daemon.start(); 这三个方法实际是反射调用org.apache.catalina.startup.Catalina类的方法 对Catalina类有一段解释 这个google 阅读全文
posted @ 2017-10-23 14:44 海绵般汲取 阅读(2634) 评论(0) 推荐(0) 编辑
摘要:这个类构造一个类加载器来加载Catalina内部类(通过在server目录下的catalina.home来找到所有的jar文件),和开始定期执行container容器。 这种回旋处理方法的目的是保持Catalina内部类(以及其依赖的任何其他类,如XML解析器)脱离系统类路径,因此对应用程序级别不可 阅读全文
posted @ 2017-10-20 16:35 海绵般汲取 阅读(21976) 评论(0) 推荐(0) 编辑
摘要:环境:windows X64位 Tomcat8.0.47 bootstrap.jar是tomcat的内核 开始位置 startup.bat 查看文本 具体的批处理脚本语法可以查看我整理的文章 https://www.cnblogs.com/gne-hwz/p/10009130.html .bat学习 阅读全文
posted @ 2017-10-17 18:04 海绵般汲取 阅读(7445) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示