tomcat
文章平均质量分 65
rainsbaby
这个作者很懒,什么都没留下…
展开
-
Tomcat源码解析(十):启动和关闭
之前一直说,catalina是tomcat的一个重要组成。Server、connector、container都归Catalina来管理,它的主要功能就是,在启动的时候读取server.xml文件,创建server对象,也就创建了server管理的connector、container。在应用程序关闭的时候,它进行一些善后的工作。shutdown应用程序关闭的时候,需要做一些清理现场的工作。如果程序原创 2016-09-14 14:49:36 · 1202 阅读 · 0 评论 -
Tomcat源码解析(八):Host
host的作用是啥?之前我们学习了context,它表示一个独立的web应用。当我们一台机器上只有一个web应用的时候,只需要把context当做最上层的容器就可以了。可是通常我们希望在一个机器上部署多个应用,就需要有多个context。这时候怎么将不同的请求匹配到不同的context呢?就由host来解决这个问题啦。context管理wrapper,同样地,host来管理context。主流程ho原创 2016-08-25 18:43:57 · 987 阅读 · 0 评论 -
tomcat源码解析(七):server和service
server和service的作用是什么?Catalina主要包括connector和container两个模块,connector负责接收请求,传递给container,而container负责处理请求。service的作用是统一管理connector和container,一个service可以包括多个connector和一个container。而server的作用是,管理所有的service,一原创 2016-08-25 18:35:43 · 3885 阅读 · 0 评论 -
Tomcat源码解析(六):类加载器
一、loader的作用是什么?loader是根据请求加载对应的类。jvm有自带的loader,而tomcat中没有直接用java自带loader,是为了安全和重载。安全:jvm自带loader载入的servlet和类,能访问当前jvm的classpath环境变量下所有的类,这样不安全。一般只允许加载的类访问/WEB-INF/classes及其子目录和/WEB-INF/lib中的类。catalina中原创 2016-08-14 17:03:16 · 738 阅读 · 0 评论 -
Tomcat源码解析(五):安全性控制
读Tomcat源码:安全性控制Tomcat安全性控制流程包括哪几个部分?Authenticatorhttp有几种身份认证方式,包括Basic认证、摘要认证等。其中基本认证,是把用户名和密码用BASE64加密,在request中传给服务端,这样服务端就可以确定用户的身份了。主要校验流程如下:public boolean authenticate(HttpRequest request,原创 2016-07-12 19:05:42 · 644 阅读 · 0 评论 -
Tomcat源码解析(四):session管理
session是什么?我们访问某个很多网站时,第一次进入需要登陆,但进入下一个页面时就不需要再登陆了,否则这个网站的可用性就是零啦~~在第二次访问时,我们想让服务端识别出请求来自同一个客户。要怎么做呢?其中一个方法就是用session来实现。首先,session是存储在服务端的数据。一个请求到来时,服务端首先看请求中有没有sessionId,若没有,就新建一个session,并将sessionId传原创 2016-08-14 16:58:52 · 497 阅读 · 0 评论 -
Tomcat源码解析(三):StandardContext
StandardContextCatalina主要包括Connector和Container,StandardContext就是一个Container,它主要负责对进入的用户请求进行处理。实际来说,不是由它来进行处理,而是交给内部的valve处理。 一个context表示了一个外部应用,它包含多个wrapper,每个wrapper表示一个servlet定义。/** * Standard impl原创 2016-08-14 16:56:30 · 2613 阅读 · 0 评论 -
Tomcat源码解析(二):Connector
Connector的作用是什么?它主要实现了什么功能?tomcat中Catalina包括Connector和Container,Connector主要功能是接收请求、将请求交给container进行处理。下面看一下Connector的主要功能。一、Connector功能初始化调用open方法,创建socket。private ServerSocket open() throws IOExce原创 2016-08-14 17:01:21 · 493 阅读 · 0 评论 -
Tomcat源码解析(一):wrapper
读Tomcat源码:wrapperWrapper的作用StandardWrapper同StandardContext一样,继承自ContainerBase,Wrapper表示了一个servlet定义,一个servlet类对应一个wrapper。wrapper的parent container必须是context,而wrapper不能有child container。 定义如下:public fin原创 2016-08-14 16:53:38 · 1432 阅读 · 0 评论 -
Tomcat源码解析(九):配置文件读取
Tomcat源码解析:配置文件读取一、文件解析工具Digesterapache commons-digester.jar,本来是Struts中用来读取struts-config.xml的一个组件,后来独立出来。tomcat中就是用digester来解析xml文件。具体是怎么解析的呢?digester的使用xml文件如下:<?xml version="1.0" encoding="ISO-8859-1原创 2016-08-25 18:46:23 · 906 阅读 · 0 评论