zoukankan      html  css  js  c++  java
  • Java下Web MVC的领跑者:SpringMVC

    比较常用的MVC框架有Struts 和 SpringMVC。

    Struts 是Java Web MVC框架中曾经不争的王者。经过长达九年的发展,Struts占有了MVC框架中最大的市场份额。但是Struts某些技术特性上已经落后于新兴的MVC框架。面对Spring MVC、Webwork2这些设计更精密,扩展性更强的框架,Struts受到了前所未有的挑战。

    Spring MVC通过一套MVC注解,让POJO成为处理请求的控制器,无须实现任何接口,同时,Spring MVC还支持REST风格的URL请求:注解驱动及REST风格的Spring MVC是Spring3.0最出彩的功能之一。此外,Sping MVC在数据绑定、视图解析、本地化处理及静态资源处理上都有许多不俗的表现。它在框架设计、扩展性、灵活性等方面全面超越了Struts、WebWork等MVC框架,从原来的追赶者一跃成为MVC的领跑者。

    • 和众多其他Web框架一样,它基于MVC设计理念,此外,它采用了松散耦合可插拔组件结构,比其他MVC框架更具扩展性和灵活性。
    • Sping MVC在数据绑定、视图解析、本地化处理及静态资源处理上都有许多不俗的表现。
    • Spring MVC框架围绕DispatcherServlet这个核心展开,DispatcherServlet是Sprrng MVC的总导演、总策划,它负责截获请求并将其分派给相应的处理器处理。

    SpringMVC的工作流程:

    1.客户端发起Http请求,DispatcherServlet接受客户端的请求(相当于控制器);

    2.DispatcherServlet通过HandlerMapping寻找合适的处理器(相当于IOC);

    3.DispatcherServlet将请求发给Handler处理(如有必要,Handler还可以通过调用其它分布式服务实现目标);

    4.Handler将处理结果以“ModelAndView”的形式反馈给DispatcherServlet;

    5.DispatcherServlet根据ModelAndView中“View”的指示,通过ViewResolver解析到合适的View;

    6.DispatcherServlet将ModelAndView中的"Model"加载到上一步解析出来的View中(这个View可能是网页、xml、pdf等等);

    7.客户端获得Http响应。

    流程示意图如下:

  • 相关阅读:
    初识python 2.x与3.x 区别
    装饰器
    函数的进阶
    Spring Boot启动问题:Cannot determine embedded database driver class for database type NONE
    22.Spring Cloud Config安全保护
    23.Spring Cloud Bus 无法更新问题(踩坑) Spring cloud config server Could not fetch remote for master remote
    24.Spring Cloud之Spring Cloud Config及Spring Cloud Bus
    Spring Boot整合Spring Data Elasticsearch 踩坑
    项目中Spring Security 整合Spring Session实现记住我功能
    32.再谈SpringBoot文件上传
  • 原文地址:https://www.cnblogs.com/quickcodes/p/5400574.html
Copyright © 2011-2022 走看看