大家好,关于mvc视频网站源码分享下载很多朋友都还不太明白,今天小编就来为大家分享关于视频网站源码怎么用的知识,希望对各位有所帮助!
1.SpringMVC概述
1)SpringMVC是一个基于MVC模式的WEB/表现层框架,它解决WEB开发中常见的问题:参数接收、文件上传/下载、表单验证、国际化等等;
2)SpringMVC作为Spring框架一个非常重要的功能模块,可以与Spring无缝集成,提高开发效率;
3)Spring是一个轻量级的Java开发框架,为了解决企业应用开发的复杂性而创建。SpringMVC以Spring框架为核心,为应用程序中的Web层(表现层)提出的一套优秀的解决方案;
4)目前很多公司都使用SpringMVC,90%的招聘单位要求熟悉使用SpringMVC;
2.SpringMVC执行流程
springMVC执行流程如下图所示:
3.springMVC流程描述
注:控制器即处理器(Handler)
1).用户向服务器发送请求,请求会统一交给SpringMVC前端控制DispatcherServlet处理;
2).DispatcherServlet通过请求HandlerMapping(处理器映射管理对象)找到该请求对应的Handler对象(包括控制器以及Handler对象对应的拦截器)和HandlerExecutionChain对象(包含:控制器+2个拦截器);
3).DispatcherServlet请求HandlerAdapter,选择一个合适的HandlerAdapter去处理Handler。(附注:如果成功获得HandlerAdapter后,此时将开始执行拦截器的preHandler(…)方法);
4).提取request中的模型数据,填充Handler入参,开始执行Handler(Controller)。在填充Handler的入参过程中,根据你的配置,Spring将帮你做一些额外的工作:?HttpMessageConveter:将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定的响应信息?数据转换:对请求消息进行数据转换。如String转换成Integer、Double等?数据格式化:对请求消息进行数据格式化。如将字符串转换成格式化数字或格式化日期等?数据验证:验证数据的有效性(长度、格式等),验证结果存储到BindingResult或Error中
5).Handler执行完成后,向DispatcherServlet返回一个ModelAndView对象;
6).根据返回的ModelAndView,选择一个适合的ViewResolver(必须是已经注册到Spring容器中的ViewResolver)返回给DispatcherServlet;
7).ViewResolver结合Model和View,来渲染视图(Model+View合成)
8).将渲染结果返回给客户端;
4.springMVC组件说明
SpringMVC涉及到的组件有DispatcherServlet(前端控制器)、HandlerMapping(处理器映射器)、HandlerAdapter(处理器适配器)、Handler(处理器)、ViewResolver(视图解析器)和View(视图)。下面对各个组件的功能说明如下。
1)DispatcherServlet
DispatcherServlet是前端控制器,从图1可以看出,SpringMVC的所有请求都要经过DispatcherServlet来统一分发。DispatcherServlet相当于一个转发器或中央处理器,控制整个流程的执行,对各个组件进行统一调度,以降低组件之间的耦合性,有利于组件之间的拓展。
2)HandlerMapping
HandlerMapping是处理器映射器,其作用是根据请求的URL路径,通过注解或者XML配置,寻找匹配的处理器(Handler)信息。
3)HandlerAdapter
HandlerAdapter是处理器适配器,其作用是根据映射器找到的处理器(Handler)信息,按照特定规则执行相关的处理器(Handler)。
4)Handler
Handler是处理器(常称Controller),和JavaServlet扮演的角色一致。其作用是执行相关的请求处理逻辑,并返回相应的数据和视图信息,将其封装至ModelAndView对象中。
5)ViewResolver
ViewResolver是视图解析器,其作用是进行解析操作,通过ModelAndView对象中的View信息将逻辑视图名解析成真正的视图View(如通过一个JSP路径返回一个真正的JSP页面)。
6)View
View是视图,其本身是一个接口,实现类支持不同的View类型(JSP、FreeMarker、Excel等)。
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!