spring处理流程

文章参考♥Spring框架知识体系详解♥ | Java 全栈知识体系 推荐学习

  1. 接收请求:

    • 当HTTP请求到达Spring Boot应用时,嵌入式的Web服务器(如Tomcat、Jetty、Undertow)会接收这个请求,并将其传递给Spring应用。

  2. 请求调度:

    • DispatcherServlet: Spring MVC的核心组件是DispatcherServlet。它作为前端控制器(Front Controller),负责接收所有的HTTP请求,并根据请求的URL将其分发到相应的处理器(Controller)。

    • HandlerMapping: DispatcherServlet通过HandlerMapping来确定哪个控制器(Controller)方法处理这个请求。

  3. 请求映射:

    • Controller: 根据@RequestMapping@GetMapping@PostMapping等注解,HandlerMapping会找到匹配的Controller类和方法。

    • HandlerAdapter: DispatcherServlet使用HandlerAdapter来调用找到的控制器方法。

  4. 安全处理 (如果配置了Spring Security):

    • Security Filter Chain: 在请求到达DispatcherServlet之前,Spring Security的FilterChain会对请求进行处理。它会根据配置进行身份验证和授权检查。

    • SecurityContext: 在处理请求时,Spring Security会创建SecurityContext来保存与当前用户相关的信息,如身份和权限。

  5. 业务逻辑处理:

    • Controller Method: 控制器方法会处理业务逻辑并返回结果。方法返回的结果通常是一个视图名(对于视图解析)或者直接的数据(对于RESTful服务)。

  6. 视图解析:

    • ViewResolver: 如果控制器方法返回的是视图名,DispatcherServlet会使用ViewResolver来解析视图,生成最终的HTML或其他格式的响应内容。

    • Template Engines: 在返回视图时,模板引擎(如Thymeleaf、FreeMarker等)会被用来渲染视图模板。

  7. 响应返回:

    • Response: 处理完毕后,最终生成的响应会被发送回客户端。这个响应可能是一个渲染的HTML页面,JSON数据,或其他格式的内容。

  8. 过滤器 (可选):

    • Filters: 如果配置了自定义的Filter,它们可以在请求进入DispatcherServlet之前和响应离开DispatcherServlet之后执行,进行额外的处理,如日志记录、请求修改等。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值