最近在看《深入分析java web技术内幕》,书中讲解了一部分tomcat的相关知识,我也去查看了一些源码,看了大神们写的代码,我才知道自己就像在做加减乘除一样,这是不行的。还有好多包和类要属性。就像要盖高楼大厦一样,对其不熟悉怎么行呢?只有对底层架构了如指掌,才能流畅的写业务,同时也是一个学习的过程。

  private Context createContext(Host host, String url) {
String contextClass = StandardContext.class.getName();
if (host == null) {
host = this.getHost();
} if (host instanceof StandardHost) {
contextClass = ((StandardHost)host).getContextClass();
} try {
return (Context)Class.forName(contextClass).getConstructor().newInstance();
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException | ClassNotFoundException | InstantiationException var5) {
throw new IllegalArgumentException("Can't instantiate context-class " + contextClass + " for host " + host + " and url " + url, var5);
}
}

  Tomcat.class中的一个方法,自己实现这个方法,能够学习很多。Context和Host的关系,已经cath中多个异常的写法,还有throw和throws的写法。

-----------------------

再补充一下,在linux下安装tomcat的问题,首先就是要配置好java的path,然后有一个小问题就是,startup.sh和catlatina.sh需要更改文件的执行权限,这个比较隐蔽

ApplicationContext implements ServletContext

这句话可以看出Servlet的继承关系。

tomcat架构分析和源码解读的更多相关文章

  1. 《Netty5.0架构剖析和源码解读》【PDF】下载

    <Netty5.0架构剖析和源码解读>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230062545 内容简介 Netty 是个异步的 ...

  2. tomcat架构分析(valve源码导读)

    出处:http://gearever.iteye.com 源码面前,了无秘密                              ----侯捷 在tomcat架构分析(valve机制)(http ...

  3. tomcat架构分析-索引

    出处:http://gearever.iteye.com tomcat架构分析 (概览) tomcat架构分析 (容器类) tomcat架构分析 (valve机制) tomcat架构分析 (valve ...

  4. 图像分割之(四)OpenCV的GrabCut函数使用和源码解读

    图像分割之(四)OpenCV的GrabCut函数使用和源码解读         分类:            图像处理            计算机视觉             2013-01-23 ...

  5. Spring源码解析02:Spring IOC容器之XmlBeanFactory启动流程分析和源码解析

    一. 前言 Spring容器主要分为两类BeanFactory和ApplicationContext,后者是基于前者的功能扩展,也就是一个基础容器和一个高级容器的区别.本篇就以BeanFactory基 ...

  6. Spring源码解析 | 第二篇:Spring IOC容器之XmlBeanFactory启动流程分析和源码解析

    一. 前言 Spring容器主要分为两类BeanFactory和ApplicationContext,后者是基于前者的功能扩展,也就是一个基础容器和一个高级容器的区别.本篇就以BeanFactory基 ...

  7. tomcat架构分析 (Session管理)

    Session管理是JavaEE容器比较重要的一部分,在app中也经常会用到.在开发app时,我们只是获取一个session,然后向session中存取数据,然后再销毁session.那么如何产生se ...

  8. tomcat架构分析(connector BIO 实现)

    出处:http://gearever.iteye.com 在tomcat架构分析(概览)中已经介绍过,connector组件是service容器中的一部分.它主要是接收,解析http请求,然后调用本s ...

  9. tomcat架构分析 (connector NIO 实现)

    出处:http://gearever.iteye.com 上一篇简单记录了缺省配置的connector的内部构造及消息流,同时此connector也是基于BIO的实现.除了BIO外,也可以通过配置快速 ...

随机推荐

  1. .ipynb格式文件

    ipynb,即ipython notebook,需要用ipython notebook打开,IPython Notebook是web based IPython封装,但是可以展现富文本,使得整个工作可 ...

  2. Java身份证归属地目录树

    数据库结构: web管理界面: 目录树: 视频: 应用场景:

  3. Java+Selenium3框架设计篇5-如何实现邮件发送测试报告

    https://blog.csdn.net/u011541946/article/details/77278837 本篇继续回答网友的问题,这个主题是如何通过邮件发送测试报告.通过邮件发送测试报告,这 ...

  4. [Linux] - 利用ping给端口加密,限制访问

    Linux中,想对特定的端口加密访问,可以使用iptables的ping方式. 作用 访问被限制的端口,必需先ping发送对应的字节包(字节包大小可自行设置,此为密钥)才能访问成功! 下边是对SSH的 ...

  5. 【PMP】商业论证与效益管理文件

    ①项目商业论证 定义:文档化的经济可行性研究报告,用来对尚缺乏充分定义的所选方案的收益进行有效性论证,是启动后续项目管理活动的依据. 项目发起人通常负责商业论证文件的制定和维护,项目经理负责提供建议和 ...

  6. 最完整苹果IOS个人开发账号升级方法-个人开发账号升级为公司开发者账号常见误区

    1:背景交代 大概晚上10点钟之后在知乎上看到很多人聊审核被拒PLA1.2,主要电商和金融类APP被拒很多.主要原因是 1:发布的APP与改账号关联度很低.(说白苹果怀疑你是山寨APP,不是优质的AP ...

  7. 星云STS 常用配置

    STS4  下载地址:https://spring.io/tools    (这个版本没有tomcat插件) STS3  下载地址:https://spring.io/tools3/sts/all ( ...

  8. 如何用cmd命令递归文件夹中的所有特定文件,拷贝到另一个文件夹中

    现在有一个文件夹,里面有很多子文件夹,每个子文件夹中有很多不同类型的图片,现在想将其所有.png图片整理出来,一开始我是手动拷贝的,拷贝了几个图片后,突然想能不能让计算机来自动完成此项功能,经过一番尝 ...

  9. Mac安装minikube

    安装过程 先安装minikube,使用下面命令(由于墙的问题,所以指定国内的地址) curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyun ...

  10. java.util.function 中的 Function、Predicate、Consumer

    函数式接口: 函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但可以有多个非抽象方法的接口. 函数式接口可以被隐式转换为 Lambda 表达式. Function ...