SpringMVC的工作原理-创新互联

一、spring简介  

springMVC是spring框架的一个模块,springMVC和spring无需通过中间整合层进行开发。

咸阳ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

   springMVC是一个基于mvc的web框架。

    spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来:

SpringMVC的工作原理

二、MVC在B/S系统中的应用

1.用户发起request请求至控制器(Controller)

控制接收用户请求的数据,委托给模型进行处理

2.控制器通过模型(Model)处理数据并得到处理结果

模型通常是指业务逻辑

3.模型处理结果返回给控制器

4.控制器将模型数据在视图(View)中展示

web中模型无法将数据直接在视图上显示,需要通过控制器完成。如果在C/S应用中模型是可以将数据在视图中展示的。

5.控制器将视图response响应给用户

    通过视图展示给用户要的数据或处理结果。

三、spring工作原理

SpringMVC的工作原理

(1).发起请求到前端控制器(DispatcherServlet);

(2).前端控制器请求HandlerMapping查找Handler,可以根据xml配置、注解进行查找;

(3).处理器映射器HandlerMapping向前端控制器返回Handler;

(4).前端控制器调用处理器适配器去执行Handler;

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

(6).Handler执行完成给适配器返回ModelAndView;

(7).处理器适配器向前端控制器返回ModelAndView(是springmvc框架的一个底层对象,包括Model和View);

(8).前端控制器请求视图解析器去进行视图解析,根据逻辑视图名称解析真正的视图(jsp...);

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

(10).前端控制器进行视图渲染,视图渲染就是将模型数据(在ModelAndView对象中)填充到request域中。

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

四、组件介绍

1、前端控制器DispatcherServlet(不需要攻城狮开发),由框架提供

作用:接收请求,响应结果,相当于转发器,中央处理器。有了dispatcherServlet减少了其它组件之间的耦合度。

     用户请求到达前端控制器,它就相当于mvc模式中的c,dispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,dispatcherServlet的存在降低了组件之间的耦合性。

2、处理器映射器HandlerMapping(不需要攻城狮开发),由框架提供

作用:根据请求的url查找Handler

     HandlerMapping负责根据用户请求找到Handler即处理器,springmvc提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。

3、处理器适配器HandlerAdapter

作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler

    通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。

4、处理器Handler(需要攻城狮开发)

注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler

   Handler 是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler对具体的用户请求进行处理。

   由于Handler涉及到具体的用户业务请求,所以一般情况需要攻城狮根据业务需求开发Handler。

5、视图解析器View resolver(不需要攻城狮开发),由框架提供

作用:进行视图解析,根据逻辑视图名解析成真正的视图(view)

View Resolver负责将处理结果生成View视图,View Resolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。 springmvc框架提供了很多的View视图类型,包括:jstlView、freemarkerView、pdfView等。

一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由攻城狮根据业务需求开发具体的页面。

6、视图View(需要攻城狮开发jsp...)

View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf...)

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前名称:SpringMVC的工作原理-创新互联
当前链接:http://myzitong.com/article/ddodoi.html