SpringMVC——MVC

1、了解MVC

  mvc这种设计模式,分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),不光运用于Web领域,并且也能用于非Web领域;能够特指一种表现层设计模式,不限于Java语言;Java Web应用中应用的最普遍的设计模式即是MVC模式,目前的主流Web框架大多也是基于MVC设计模式所编写的。html

  一、JavaWeb开发模式前端

    C/S:客户端 / 服务器web

    B/S: 浏览器 / 服务器(主要采用mvc框架模式)spring

    JavaBean:就是一个普通类(实体bean),包含三样标准:无参构造、私有属性、公共的getter和setter方法;数据库

  二、mvc在Java web中具体应用设计模式

    Model:模型能够表明着一种企业规范,就是业务流程/状态的处理以及业务规则的规定,业务模型的设计能够说是MVC的核心。通常Model层包括业务处理层和数据访问层。数据访问层主要是对数据库的一些操做的封装。业务处理层应用JavaBean构建,JavaBean主要是用做将从View层获取的数据和数据库的数据进行桥接。除却JavaBean之外,若想构建分布式应用系统,能够应用EJB组件进行业务逻辑层的构建。
    View:视图便是展现给用户实际进行交互的,像HTML、JSP等。
    Controller:控制器,通常控制请求的处理逻辑,负责请求转发;具体的能够理解为对View层提交的请求为其设置对应的Servlet进行特定功能的处理,通常是编写在Model中的业务处理层中的,相对于一个中介者的做用。浏览器

  如图所示:
服务器

    MVC模式在最熟悉的框架中如:Struts二、spring MVC等等,都是基于MVC模式;架构

    其中总结Model模式,常见的以下:mvc

    <1>Jsp+JavaBean
      须要在jsp页面中检查请求的参数是否正确,显示和业务逻辑操做会耦合度高,之后维护起来比较困难;相对于纯jsp页面去作开发比较,程序的可读性变高了,大部分代码写在JavaBean上,可重复率变高了(JavaBean的设计就是用来重用、封装,大大减小编写重复代码的工做);
    <2>JSP+Servlrt+JavaBean
      基于MVC模式的开发进行的,拥有分层思想:高内聚、低耦合;

 

  三、springmvc与spring的关系?

    springmvc属于spring框架的后续产品,用在基于MVC的表现层开发,相似于struts2框架;spring参考连接 spring知识点  ;

2、springmvc 的认识

  Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,能够选择是使用内置的 Spring Web 框架还能够是 Struts 这样的 Web 框架。  

  一、springmvc工做流程

  (1)客户端经过url发送请求

  (2)核心控制器Dispatcher Servlet接收到请求,经过系统或自定义的映射器配置找到对应的handler,并将url映射的控制器controller返回给核心控制器。

  (3)经过核心控制器找到系统或默认的适配器

  (4)由找到的适配器,调用实现对应接口的处理器,并将结果返回给适配器,结果中包含数据模型和视图对象,再由适配器返回给核心控制器

  (5)核心控制器将获取的数据和视图结合的对象传递给视图解析器,获取解析获得的结果,并由视图解析器响应给核心控制器

  (6)核心控制器将结果返回给客户端

  二、springmvc与struts2的区别(下面以3种区别为例)

    <1>springmvc的入口是一个servlet,即前端控制器,例如:*.action
      struts2入口是一个filter过虑器,即前端过滤器,例如:/*
    <2>springmvc是基于方法开发,传递参数是经过方法形参,能够设计为单例
      struts2是基于类开发,传递参数是经过类的属性,只能设计为多例
    <3>springmvc经过参数解析器是将request对象内容进行解析成方法形参,将响应数据和页面封装成ModelAndView对象,最后又将模型数据经过request对象传输到页面
      struts采用值栈存储请求和响应的数据,经过OGNL存取数据

  三、springmvc的理解与方法(下面以核心代码为例子)

相关文章
相关标签/搜索