首页 > 编程语言 > 详细

什么是SpringMVC —— SpringMVC(一)

时间:2020-04-06 15:29:17      阅读:47      评论:0      收藏:0      [点我收藏+]

三层架构

  开发架构一般都基于两种形式,一种是C/S架构,另一种是B/S架构。

  在JavaEE开发中,几乎全部都是基于B/S架构的开发。在B/S架构当中,系统标准的三层架构包括:表现层、业务层、持久层。

  表现层:

    它是Web层,负责接收客户端请求,向客户端响应结果,通常客户端使用http协议请求Web层,Web层需要接收http请求,完成http响应。

  业务层:

    它是Service层,负责业务逻辑处理,Web层依赖业务层,但是业务层不依赖Web层。

  持久层:

    它是Dao层,负责数据持久化,包括数据层即数据库和数据访问层,数据库是对数据进行持久化的载体,数据访问层是业务层和持久层交互的接口。

    业务层需要通过数据访问层将数据持久化到数据库当中,通俗的来讲,持久层就是和数据库进行交互,对数据库表进行增删改查。

 

MVC模型

  MVC全名是Model View Controller,是模型-视图-控制器的缩写。

  MVC是一种用于设计Web应用程序表现层的模式,其中的每个部分各司其职。

  Model(模型)

    通常指数据模型,一般情况下用于封装数据。

  View(视图)

    通常指jsp或者html,一般用于展示数据。

    通常视图是依据模型数据创建的。

  Controller(控制器)

    是应用程序中处理用户交互的部分,一般就是处理逻辑程序的。

 

什么是SpringMVC?

  SpringMVC是一种基于Java的,实现MVC设计模型的,请求驱动类型的,轻量级Web框架。属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。

  Spring框架提供了构建Web应用程序的全功能MVC模块。

  使用Spring可插入的MVC架构,从而在使用Spring进行Web开发时,可以选择使用Spring的Spring MVC框架或者集成其他的MVC开发框架。

  SpringMVC已经成为了目前最主流的MVC框架之一,并且随着Spring3.0的发布,全面超越Struts2,成为最优秀的MVC框架。

  SpringMVC通过一套注解,将一个简单的Java类变成处理请求的控制器,并且无需实现任何接口。

  SpringMVC同时还支持RESTful编程风格的请求。

 

为什么要使用SpringMVC?

  清晰的角色划分

    前端控制器(DispatcherServlet)

    请求到处理器映射(HandlerMapping)

    处理器适配器(HandlerAdapter)

    视图解析器(ViewResolver)

    处理器或页面控制器(Controller)

    验证器(Validator)

    命令对象(Command 请求参数绑定到的对象就叫命令对象)

    表单对象(Form Object 提供给表单展示和提交到的对象就叫表单对象)  

  分工明确,而且扩展点相当灵活,可以很容易进行扩展,虽然几乎不需要。

  因为命令对象就是一个pojo,无需继承框架特定API,可以使用命令对象直接作为业务对象。

  和Spring其他框架无缝集成,是其他Web框架所不具备的。

  可适配。通过HandlerAdapter可以支持任意的类作为处理器。

  可定制。HandlerMapping、ViewResolver等能够非常简单的定制。

  功能强大的数据验证、格式化、绑定机制。

  利用Spring提供的Mock对象能够非常简单的进行Web层单元测试。

  本地化、主题的解析的支持,让我们更容易进行国际化和主题的切换。

  强大的JSP标签库。

 

SpringMVC和Struts2的优略分析

  共同点

    它们都是表现层框架,都是基于MVC模型编写的。

    它们的底层都离不开原始的ServletAPI。

    它们处理请求的机制都是一个核心控制器。

  区别

    SpringMVC的入口是Servlet,Struts2是Filter。

    SpringMVC是基于方法设计的,而Struts2是基于类,Struts每次执行都会创建一个动作类。所以SpringMVC会比Struts2稍微快一些。

    SpringMVC更加简洁,同时还支持JSR303,处理Ajax的请求更加方便。

    Struts2的OGNL表达式使页面的开发效率相比SpringMVC更高一些,但是执行效率没有比JSTL提升,尤其是Struts2的表单标签,远远没有html的执行效率高。

    

什么是JSR303?

  JSR303是一套JavaBean参数校验的标准,它定义了很多常用的注解校验,我们可以直接将这些注解加在我们的JavaBean属性上面,可以直接在需要校验的时候直接进行校验。

 

什么是SpringMVC —— SpringMVC(一)

原文:https://www.cnblogs.com/guancangtingbai/p/12642210.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!