SpringMVC工作原理

前端之家收集整理的这篇文章主要介绍了SpringMVC工作原理前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这里是修真院后端小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析后端知识/技能,本篇分享的是:

【SpringMVC工作原理】

大家好,我是IT修真院深圳分院第13期的学员,一枚正直纯洁善良的java程序员

今天给大家分享一下,修真院官网Java任务2,深度思考中的知识点————SpringMVC工作原理

1.背景介绍

Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。

这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。

2.知识剖析

(1) Spring MVC主要由DispatcherServlet、处理器映射、处理器(控制器)、视图解析器、视图组成。

(2)它的两个核心是:

处理器映射:选择使用哪个控制器来处理请求

视图解析器:选择结果应该如何渲染

(3)通过以上两点,Spring MVC保证了如何选择控制处理请求和如何选择视图展现输出之间的松耦合。

2.1知识剖解

(1)用户发送请求到前端控制器(DispatcherServlet)。

(2)前端控制器请求处理器映射器(HandlerMapping)去查找处理器(Handler)。

(3)找到以后处理器映射器(HandlerMappering)向前端控制器返回执行链(HandlerExecutionChain)。

(4)前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行处理器(Handler)。

(5)处理器适配器去执行Handler。

(6)处理器执行完给处理器适配器返回ModelAndView。

(7)处理器适配器向前端控制器返回ModelAndView。

(8)前端控制器请求视图解析器(ViewResolver)去进行视图解析。

(9)视图解析器向前端控制器返回View。

(10)前端控制器对视图进行渲染。

(11)前端控制器向用户响应结果。

3.常见问题

Springmvc的常用配置

(1)1.在web.xml中配置字符集 过滤器

   

   

        encodingFilter

        org.springframework.web.filter.CharacterEncodingFilter

       

            encoding

            UTF-8

       

       

            forceEncoding

            true

       

   

   

        encodingFilter

        /*

   

(2)在web.xml中配置DispatcherServlet

   

   

        spring

        org.springframework.web.servlet.DispatcherServlet

       

       

            contextConfigLocation

           

           

           

           

           

            /WEB-INF/spring-servlet.xml

       

        1

   

   

       

       

        spring

       

       

       

        /

   

4.解决方

5.编码实战

demo是参考李学凯大神的,他介绍得很好,所以这里就不重复放demo了

感兴趣的同学可以去看一下

https://blog.csdn.net/qq_27093465/article/details/68961393

6.扩展思考

7.参考文献

CSDN、百度百科

8.更多讨论

(1) Springmvc常用的注解都有什么?

@Controller是必须的,常用的还有@RequestMapping,@Resource,@ResponseBody,绑定接收参数的有@RequestParam,@PathVariable等等

(2)Springmvc怎么配置HandlerMappeing?

Springmvc中使用@RequestMapping,告诉前端控制器(DispatcherServlet),请求路径与处理器的方法的对应关系。所以spring配置文件不用配置HandlerMappeing了。

(3) Springmvc中需要我们编写的有什么,哪些是被Springmvc封装好了的?

一般来说,controller和view层是需要我们自己编写的,其它大部分是被Springmvc封装好了的,所以我们可以更专注于我们的业务逻辑编写。

9.鸣谢:

感谢修真院的师兄和CSDN博客上相关的作者,此教程是在他们之前技术分享的基础上完善而成。

10.结束语:

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

温馨提示:本人初学java者,如有不对敬请指出,谢谢!

--------------------- 

PPT链接 视频链接

更多内容,可以加入IT交流群565734203与大家一起讨论交流

这里是技能树·IT修真院:nofollow">https://www.jnshu.com,初学者转行到互联网的聚集地

猜你在找的SpringMVC相关文章