SpringMVC处理客户端请求的过程

SpringMVC处理客户端请求的过程

以程序部署在Tomcat上为例,网站程序使用SpringMVC框架开发。

1.客户端发起一个访问网站的请求(如: localhost:8080/index)。

2.请求到达服务器并Tomcat接收到,Tomcat读取网站的web.xml 配置并缓存。

3.查看配置中是否有符合条件的 Filter  过滤器,有则调用过滤器进行处理。

4. 处理完成后 发现处理请求的servlet 被指定为springDispatcherServlet。

5.DispatcherServlet 接收到Tomcat提交的请求,此时分两种情况:

1)该请求为网站的第一个请求,DispatcherServlet先调用初始化方法 initStrategies(), 然后调用doService()方法 

2)请求不为第一次请求该网站,直接调用doService()方法 

6.doService()方法调用 doDispatch()方法,

doDispatch()内主要分为如下几步:

1)先通过getHandler获得request中对应的请求handler

 

 

 

  2) 通过获得的handler 获得对应的 HandlerAdapter

getHandlerAdapter() 方法也是去获得初始化时initHandlerAdapters() 方法生成的handerAdapter。

3) 返回当前处理所调用的处理器适配器

 

 4)handler 中的设置的拦截器(继承自HandlerInterceptorAdapter)在此处进行调用

5)执行 handler方法处理请求,并返回一个  ModelAndView 对象

controller 中的方法就是在这个方法中被执行的。

6)对 返回的 ModelAndView对象进行处理,返回给客户端,最后调用拦截器的afterCompletion() 方法

 

7. 客户端收到返回的response响应。

 

转载于:https://www.cnblogs.com/yejiaojiao/p/6163522.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值