(四)How Tomcat Works - Tomcat servlet容器Container
上一节讲了半天,经历了“client request -> server http connector -> processor -> parse http request”,终于才提到“使用servlet处理请求”。 而处理请求的代码就两行——使用container处理请求: ((HttpServletResponse) response...
上一节讲了半天,经历了“client request -> server http connector -> processor -> parse http request”,终于才提到“使用servlet处理请求”。 而处理请求的代码就两行——使用container处理请求: ((HttpServletResponse) response...
显然,servlet容器承担了两部分的职责:作为web server处理http请求;作为servlet容器处理servlet相关的内容。Tomcat在实现时按照这两部分,可以被归类为两个主要模块: 连接器(Connector):处理http相关内容; servlet容器(Container):处理servlet相关内容; 朴素connector和processor ...
web server搭建完成了,servlet server(或者说servlet容器)又是什么东西?和web server又有什么区别? javax.servlet.Servlet:servlet是什么 引入servlet javax.servlet.ServletRequest & javax.servlet.ServletResp...
Tomcat是一个Servlet容器,Servlet首先是一个web服务器。先来看一下最基础的web服务器怎么构造的。 Tcp tcp server tcp client Http http server http client 一个原始的web服务器 Tcp web服务器其实...
HTTP(HyperText Transfer Protocol)是超文本传输协议。hyper是亢奋、过度的意思,有点儿像super,HyperText就是超级文本,或者说超越普通文本,柯林斯词典对这个词的解释为:In computing, hypertext is a way of connecting pieces of text so that you can go quickly a...
看到Tomcat自定义的classloader有感而发,总结一下Java里的classloader。 classloader概述 classloader做什么 classloader加载类的流程 Java的ClassLoader体系 位置 sun.boot.class.path...
之前利用github pages提供的便利,使用jekyll创建了个人静态网站: Jekyll:GitHub Pages:如何使用jekyll搭建网站; Jekyll:mimima结构:minima网站架构; Jekyll:minima主题自定义:各种自定义元素,以minima为例; 使用了jekyll的默认主题minima。 结构 框架文件 ...
在Java程序中,一般需要统计的量被称为metric。比如请求个数、请求到来的速率、请求处理的时间分布quantile(.50/.95/.99等)。 metric统计方案 最简陋 正常部署方案 优化部署方案 大一统方案 - micrometer micrometer 统一的meter接口 ...
Java在运行时,能够实时获取对象的类型信息:RTTI(RealTime Type Identification,实时类型识别)。比如多态,父类引用指向子类对象,在调用方法时能准确地调用子类的override方法。本文从RTTI谈到反射,再聊一聊反射相关的一大应用——动态代理。 Class对象 getClass() Class.forName(Stri...
使用json序列化对象是一个很常见的方式,和其他字节方式序列化框架protobuf、avro、Java自带序列化相比,使用json的一个显而易见的好处就是可读性。 多态 Jackson @JsonTypeInfo @JsonSubTypes 必须记录的多态类型 附:示例代码 json序列化可以使用的依赖有很多,比如fas...