zoukankan      html  css  js  c++  java
  • 图解 Spring:HTTP 请求的处理流程与机制【5】

    5. HTTP 请求处理相关配置文件说明

    HTTP 请求穿越的整个空间是分层的,包括:Web 容器、Web 应用、Spring 框架等,它们每层都是通过配置文件配置初始化的,这是一种松耦合的架构设计。现在我们来梳理一下这些配置文件,HTTP 请求最先穿越的就是 Web 容器,它的代表产品 Tomcat 的配置文件是 server.xml。

    server.xml

    第二道穿越的是 Web 应用,它由 ListenerFilterServlet 等组件构成,主要配置文件是 web.xml。

    web.xml

    第三道穿越的是 Spring 框架,它本身又分成三层:表现层、领域层和数据源层,这些层也是由不同的配置文件来配置维护的,表现层是通过 mvc-servlet.xml,领域层是通过 applicationContext.xml,数据源层是通过对象关系映射框架 ORM(HibernateiBatisMyBatis等)的配置文件 sqlmap-mapping.xml、jdbc.properties 等来配置组装的,具体对应关系可以参照下图:

    Spring配置文件

    老兵哥我介绍这部分内容的原因是帮助大家建立一个概念,这整套系统是由外而内一层包一层构建出来的,而每个层内部是像搭积木一样由不同类型的组件构建出来的,而层与层之间、每层内部都是通过配置文件衔接的。如果你想要更加系统深入地掌握整个应用架构,我们可以把上述这几份配置文件作为切入口或者线索。考虑到本文的主题是剖析 HTTP 请求的处理流程机制,我们就不再展开探讨了。

    6. HTTP 请求处理常见问题说明

    在日常系统开发或维护当中,大部分问题都会跟 HTTP 请求处理相关。其中一部分是我们对 HTTP 协议本身不熟悉,HTTP 协议是目前互联网中各个系统集成的最主要的应用层协议,该协议设计非常优良,我们可以抽些时间深入研究这套协议,当然如果有时间再附带 TCP/IP 协议,尤其是协议中控制服务质量的各种类型参数等。

    除此之外,还有大部分是不熟悉 HTTP 请求处理的全流程,不知道在什么环节设置调试断点,以及配置文件不按要求填写等,这样就容易让自己陷入迷宫,耗费大量的时间精力找不到线索头绪。

    本文主要价值是帮助大家梳理出端到端的全流程框架,也就是我们常说的全局视角或者上帝视角。有了这个框架之后,我们可以根据自己的需要按图索骥找相关节点的资料来研究学习,不至于陷入细节找不到方向。

    当然,考虑到我们每个人的工作学习情况不同,平时遇到的问题也不同,本文内容无法覆盖所有人遇到的问题,欢迎大家留言提问。今天先分享到这里,如果你觉得有价值,麻烦动动手指 转发 给其他需要的小伙伴。另外,老兵哥我后续还会分享职业规划、应聘面试、技能提升、影响力打造等经验,关注「 IT老兵哥 」,赋能程序人生!

    本系列其他文章索引如下:

  • 相关阅读:
    【剑指Offer】跳台阶&变态跳台阶
    【剑指Offer】替换空格
    【剑指Offer】二维数组中的查找
    【Leetcode】2. Add Two Numbers 两数相加
    HTML学习笔记(一)HTML的一些概念区别
    C#项目中一些文件类型说明
    数据结构初步归纳(一)概念、线性表以及队列和栈
    线程相关概念
    程序开发方法论
    C#集合类型
  • 原文地址:https://www.cnblogs.com/itlaobingge/p/11963380.html
Copyright © 2011-2022 走看看