当前位置: 首页 > news >正文

网站建设到哪个店做关键seo排名点击软件

网站建设到哪个店做,关键seo排名点击软件,建设网站公司排名,做徽章的企业网站目录 ​编辑 1. 背景 2. web项目和非web项目 3. 环境准备 4. 分析链路 5. 总结 1. 背景 今天开了一篇文章“SpringMVC是如何将不同的Request路由到不同Controller中的?”;看完之后突然想到,在请求走到mvc 之前服务是怎么知道有请求进来…

目录

​编辑

1. 背景

2. web项目和非web项目

3. 环境准备

4. 分析链路

5. 总结


1. 背景

今天开了一篇文章“SpringMVC是如何将不同的Request路由到不同Controller中的?”;看完之后突然想到,在请求走到mvc 之前服务是怎么知道有请求进来了,并且知道交给谁处理呢?想看看这一块的代码

2. web项目和非web项目

当我们需要新增一个后端接口的时候,我们会通过@RestController和@RequestMapping注解来新增一个接口。然后我们发现我们这两个注解实际上是在spring-web包下的。

  • 如果我们的后端服务需要提供http请求的能力,那么我们就需要引入一个spring-web的包。称做web项目。
  • 如果我们的后端服务只提供thrift(一种rpc框架),那么我们也就不需要引入spring-web的包,称做非web项目。 这次主要是想看看是怎么处理的http请求。

3. 环境准备

  • 新建或者打开一个之前创建的springboot项目,我用的是之前写各种demo的项目
  • 在项目中新建一个Controller或者使用之前的Controller,我用的是之前就建好的TestController,自己得知道咋请求这个接口就行
@RestController
public class TestController implements BaseController {@RequestMapping("/test")public String test() {return "SUCCESS";}
}

 

  • 在AbstractHandlerMethodMapping#lookupHandlerMethod第一行添加断点(这个看文章知道的会在这里处理请求转发到不同的controller),如图

    image-1.png

  • 以debug启动项目

image-2.png

  • 请求接口,然后进入到debug模式

4. 分析链路

  1. 首先可以看到在线程池拿到了一个task并执行

image-3.png

2. 继续往下,我们可以看到这个task是一个SocketProcessorBase对象,添加断点,重启服务,再次请求接口

image-4.png

3. 然后发现是在NioEndpoint$Poller创建的socket继续debug,

image-5.png

image-6.png

  1. 这个时候我们发现,是在容器加载完成之后会去启动服务,同时启动tomcat

image-7.png

5. 当tomcat接受到请求的时候:

  • Poller从Acceptor线程接收新的连接请求。
  • Poller将接收到的连接请求注册到其内部的NIO Selector上。
  • Poller不断轮询其注册的Selector,以查看是否有任何NIO事件就绪。
  • 一旦Poller检测到某个通道上有事件就绪,它就会创建一个SocketProcessor任务对象,并将该任务提交给Executor线程池进行处理。
  1. 然后经过tomcat 的一顿invoke

image-8.png

7. 开始处理请求

image-9.png

8. 一直走到FrameworkServlet这个springmvc处理请求的核心类 9. 然后走到DispatcherServlet 的doDispatch类

protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception {。。。省略try {//现在在这里,去拿mappedHandlermappedHandler = getHandler(processedRequest);if (mappedHandler == null) {noHandlerFound(processedRequest, response);return;}。。。省略
}

 

5. 总结

后面就走到了我们比较熟悉的springmvc处理请求的地方了,这块网上很多写的文章,大家感兴趣可以自己去百度看看。

 

http://www.shuangfujiaoyu.com/news/35557.html

相关文章:

  • 办公装修怎么设计网站编辑seo
  • 公司邮箱后缀正确的是以下seo研究中心教程
  • 绵阳微信网站乔拓云智能建站系统
  • 哈尔滨做网站营销网站建设哪家快
  • 重庆市建筑一体化平台广州网站优化公司如何
  • 如何做 行业社交类网站免费python在线网站
  • 网站首页只显示域名百度手机助手app下载安装
  • 做网站上线一般要多久自己建立网站步骤
  • 网站建设要注意一些什么北京快速优化排名
  • 扶贫工作网站怎么做中南建设集团有限公司
  • 定制建站网站建设快速排名seo软件
  • php 自动做网站点击量线上营销的优势
  • express 网站开发网址导航推广
  • 百度收录最高发帖网站搜索引擎是什么意思啊
  • 婚纱网站开发进度表搜索引擎优化员简历
  • 制作网站公司合同注意事项长沙优化网站
  • 做网站一年赚80亿今日国内新闻热点
  • 一个空间能否做两个网站广告外链购买平台
  • 艾臣网站建设友情链接的网站
  • 域名和网站空间相互做解析b2b平台有哪些网站
  • 电商营销型网站建设2021拉新推广佣金排行榜
  • 阿里云 网站建设seo网站推广是什么
  • 网架提升公司seo的英文全称是什么
  • 网站建设公司的政策风险seo实战密码在线阅读
  • 有什么网站可以做微信h5页面制作平台
  • 音乐网站怎么做社交的竞价托管怎么做
  • 个人名义做网站百度一下app
  • 企业信用信息年度报告公示重庆搜索引擎seo
  • 没有后台的网站怎么做排名seo网站免费优化软件
  • 美工宝盒网站b2b网站大全