美文网首页
了解Spring MVC设计模式

了解Spring MVC设计模式

作者: 小马哥是没有感情的 | 来源:发表于2021-07-20 11:30 被阅读0次

    MVC设计模式

    MVC是 Model、View、Controller的缩写,分别代表web应用程序的三种指责。

    • 模型(Model):用于存储数据以及处理用户请求的业务逻辑
    • 视图(view):向控制器提交数据,现实模型中的数据
    • 控制器(Controller):根据试图提供的请求判断将请求和数据交给那个模型处理,将处理的有关结果交给那个视图更新显示。

    基于Servlet的MVC模式的具体实现

    • 模型:一个或多个JavaBean对象,用于存储数据(实体模型,由JavaBean类创建)和处理业务逻辑(业务模型,由一般的Java类创建)。
    • 视图:一个或多个JSP页面,向控制器提交数据和为模型提供数据显示,JSP页面主要是使用HTML标记和JavaBean标记来显示数据。
    • 控制器:一个或多个Servlet对象,根据试图提交的请求进行控制,即将请求转发给处理业务逻辑的JavaBean,并将处理结果存放到实体模型JavaBean中,输出给视图显示。 图1

    Spring MVC的工作流程

    • 客户端请求提交到DispatcherServlet。
    • 由DispatcherServlet控制器寻找一个或多个HandlerMapping,找到处理请求的Controller。
    • DispatcherServlet将请求提交到Controller
    • Controller调用业务逻辑后返回ModelAndView
    • DispatcherServlet寻找一个或多个ViewResolver视图解析器,找到ModelAndView指定的视图
    • 视图负责将数据显示到客户端
    图2

    Spring MVC接口

    • DispatcherServlet:Spring MVC所有的请求都经过DispatcherServlet统一分发,在DispatcherServlet将请求分发给Controller之前需要借助Spring MVC提供的HandlerMapping定位到具体的Controller。
    • HandlerMapping:负责完成客户请求到Controller的映射。
    • Controller:处理用户请求,和Servlet扮演的角色一致,一旦Controller处理完用户请求,将返回ModelAndView对象给DispatcherServlet前端控制器,ModelAndView中包含了模型(Model)和视图(View)。
    • ViewResolver:视图解析器,在Web应用中负责查找View对象,从而将相应结果渲染给客户。

    Spring NVC注解

    • @Controller:声明某个类的实例是一个控制器
    • @RequestMapping:在基于注解的控制器类中可以为每个请求编写对应的处理方法
    • @Service
    • @Autowired

    拦截器的定义

    在Spring MVC框架中定义一个拦截器需要对拦截器进行定义和配置,定义一个拦截器可以通过两种方式:

    • 实现HandlerInterceptor接口或者继承HandlerInterceptor接口
    • 实现WebRequestInterceptor接口或者继承WebRequestInterCeptor接口

    转自:saojiatete

    相关文章

      网友评论

          本文标题:了解Spring MVC设计模式

          本文链接:https://www.haomeiwen.com/subject/tmvlmltx.html