什么是MVC模式

10 篇文章 0 订阅
订阅专栏

SpringMVC 基于MVC设计理念的优秀WEB框架

MVC模式是目前WEB项目主要的项目架构模式,是一种非常优秀的三层架构模式,其三层是指视图层View,控制层Controller和模型层Model,它们分别完成不同的功能

  • View 层:视图层,用户提供用户的操作页面,是数据的展现层,也是用户接触的界面层
  • Controller层:控制层,接收视图层的请求数据并作出相应,控制页面跳转和交互逻辑的层面
  • Model层:模型层,包含处理业务逻辑的的服务部分(Service)和操作持久层的DAO,以及和数据库对应的实体类模型(pojo)。

mvc模式下开发的项目往往具备这样的几个组成部分

1 视图部分,对应MVC的VIEW层,其实就是一些页面,放在项目专门存放页面的位置即可,不同的项目位置稍有差异,一般该层的技术包含HTML CSS JS jQuery 等一些前端技术和框架以及一些 JSP FreeMaker Thymeleaf等模板引擎技术

2 controller包,对应MVC的Controller层,用于专门存放控制层代码,一般该层次技术包含Servlet或者对于Servlet封装之后的框架技术. SpringMVC框架主要就是对于该层次的处理

3 service 包,属于Model层的一部分,专门用于存放模型层计算业务逻辑的代码,在MyBatis-Plus中,也提供了一些对于该层次的基础的业务逻辑的封装

4 dao或者mapper包,也是属于Model层的一部分,专门用于存放操作持久层数据,实现CURD功能的代码,一般该层次的技术包含JDBC以及或者对于JDBC封装的框架技术,包含Hibernate ,MyBatis, MyBatisPlus, JDBCTemplate, JPA等等

5 pojo或者entity包,也是属于Model层的一部分,专门用于存放和数据库表格对应的实体类包,专门用于封装和传递数据,该层次一般设计的技术或者插件有Lombok,序列化等等

6 其他工具或者配置信息等包

SpringMVC的架构

 SpringMVC运行流程

 1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求调用处理器映射器HandlerMapping。 3.处理器映射器根据请求url找到具体的处理器,生成处理器执行链HandlerExecutionChain(包括处理器对象和处理器拦截器)一并返回给DispatcherServlet。 4.DispatcherServlet根据处理器Handler获取处理器适配器HandlerAdapter执行HandlerAdapter处理一系列的操作,如:参数封装,数据格式转换,数据验证等操作 5.执行处理器Handler(Controller,也叫页面控制器)。 6.Handler执行完成返回ModelAndView 7.HandlerAdapter将Handler执行结果ModelAndView返回到DispatcherServlet 8.DispatcherServlet将ModelAndView传给ViewReslover视图解析器 9.ViewReslover解析后返回具体View 10.DispatcherServlet对View进行渲染视图(即将模型数据model填充至视图中)。 11.DispatcherServlet响应用户。

SpringMVC运行时序

 

SpringMVC三大组件

  • DispatcherServlet前端控制器

  • HandlerMapping处理器映射器

  • HandlerAdapter处理器适配器

本阶段学习目标

  • 熟悉SpringMVC执行流程
  • 可以搭建SpringMVC项目配置三大组件
  • 熟练进行前后端数据传递和页面跳转控制
  • 能够独立整合SSM项目
  • 能够在SpringMVC项目下实现文件上传下载
  • 熟练使用SpringMVC拦截器
  • 能够使用SpringMVC的异常处理机制
  • 熟练使用所有SpringMVC的常见注解

课程大纲

  • 第一章 SpringMVC简介和项目搭建
    • SpringMVC简介
    • SpringMVC项目搭建
    • SpringMVC配置三大组件和请求访问资源细节问题
    • SpringMVC支持RESTFUL风格

SpringMVC三大组件

 RESTFUL风格

  • 第二章 SpringMVC参数注入问题
    • 注入POJO类型参数
    • 注入Date类型参数
    • 注入List类型参数
    • 注入Map类型参数
    • 参数乱码问题及参数注入相关注解
  • 第三章 SpringMVC 响应相关问题
    • 响应void
    • 请求转发和响应重定向
    • forward和redirect关键字
    • ModelAndView的使用
    • 异步响应及JSON的使用
    • Spring SpringMVC MyBatis整合

请求转发

 

 

  • 第四章 文件上传和下载
    • 文件上传
    • 文件下载

文件上传下载

 

 

  • 第五章 拦截器,异常处理机制和SpringMVC常见注解总结
    • 拦截器概念引入
    • 拦截器API解释
    • 拦截器执行顺序
    • 异常处理机制简介
    • 异常处理的四种方式
    • SpringMVC常见注解总结

拦截器

 

常见问题和疑惑

1 为什么要使用SpringMVC框架,他有什么优势?

SpringMVC是以强大的Spring容器为基础的框架,在Spring基础上整合方便,无缝整合. 除此之外,它还具有一整套完善组件,配置简单灵活,代码可重用性和高课扩展性好等一系列优点,是目前市场上主流的MVC框架

2 SSM在面试中问的多不多? 有哪些侧重点?

SSM在早年刚出现的时候,面试中问的比较多,但是随着技术更新,SSM面试的问题都比较少,都比较侧重基础和一些原理性的问题,或者是一些源码上的问题, 常见面试技术要点基本在每章节授课时都已经提及,面试前刷一刷马士兵教育源码课程即可.

3 SSM这一章节最重要的是不是就是SSM整合?会整合是不是就说明学会了?

 SSM整合的学习非常重要,但是整合之后还是要使用我们每个章节所学习的技能点来完成业务的开发,所以SSM整合是一种认识性的基础性的知识,最重要的还是完成业务的开发,学习业务中每个环节所使用的一些技术要点才可以

spring基于xml格式数据交换的前后端配置与使用 之 Jackson方式
Vince的专栏
11-14 2124
MappingJackson2XmlHttpMessageConverter方式解析xml(支持注解修改元素别名)配置及代码如下: xml配置文件中添加converter application/xml;charset=UTF-8
什么是MVC,好东西啊
10-30
为什么要使用 MVCMVC 模式可以将应用程序的输入、处理和输出分开,使应用程序更加灵活和可维护。MVC 模式可以使多个视图共享一个模型,减少代码的重复性,并且可以最大化的重用代码。模型的自包含性和与控制器和...
SpringBoot项目 整合 JacksonXml
博客
04-15 2258
一、需求场景: 有个需求场景:同一个请求路径,入参类型分别有“JSON格式”和“XML格式”的入参,需要根据入参类型的不同,处理不同的业务场景,然后返回对应格式的返回。值。比如: ​ JSON格式入参,返回JSON格式的返回值。 ​ XML格式入参,返回XML格式的返回值。 印象中是可以区分的,然后网上搜索了资料完善了解决方案,好记性不如烂笔头,现在梳理一下如下: 二、解决方案 第一种方案:SpringMvc 自定义 XML的 HttpMessageConverter 转换器。 自定义转换器的方式本身没有问
jackson-dataformat-xml-2.12.2-API文档-中英对照版.zip
07-03
赠送jar包:jackson-dataformat-xml-2.12.2.jar; 赠送原API文档:jackson-dataformat-xml-2.12.2-javadoc.jar; 赠送源代码:jackson-dataformat-xml-2.12.2-sources.jar; 赠送Maven依赖信息文件:jackson-dataformat-xml-2.12.2.pom; 包含翻译后的API文档:jackson-dataformat-xml-2.12.2-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.12.2; 标签:fasterxml、jackson、dataformat、xml、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。
MVC模式
小小拓哥
06-25 2287
初识MVC
springboot引入ackson Dataformat XML后原本返回json的却返回xml
weixin_46441124的博客
05-25 796
今天项目需要生成xml文件,才引入了jackson2的依赖,后来写完才发现原本返回json格式的数据都变成了xml,找了好多博客都没有解决。希望这篇博客能帮助到大家。
MVP模式MVC模式
03-02
MVP是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,...
设计模式——MVC模式
03-13
MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。 Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。 View...
MVC.rar_mvc模式
09-22
介绍MVCMVC是在JSP网页设计中的一种模式,这里做点介绍
引入jackson-dataformat-xml的影响
曾的左的博客
11-12 2466
最近项目发生一件怪事:调用其他接口的时候,返回数据从json变为了xml。而且直接通过浏览器访问自己的接口获取数据时,返回的也是xml格式。于是排查了下原因: 调用其他API出错原因 项目中使用的RestTemplate进行调用,当引入jackson-dataformat-xml,RestTemplate的messageConverter里面会增加MappingJackson2XmlHttpMessageConverter,并且优先级高于MappingJackson2HttpMessageConvert
jackson-dataformat-xml-2.7.4.jar
04-13
Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。 相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。而且Jackson社区相对比较活跃,更新速度也比较快。
MVC模式介绍
怎奈你何的博客
10-25 4217
mvc
Jackson-dataformat-xml对springmvc返回数据格式影响
cr_james的博客
04-26 2550
      先把自己遇到的问题的描述一下:公司最近要升级框架版本,本人响应号召,及时更新了框架版本;项目发布到测试环境后,自认为只是升级了下框架版本而已,不会有什么问题,想着直接上到生产也差不多,不过此时我们的测试站出来说还是要做下回归测试比较好,结果一测试发现还真是有bug!!!明明服务端返回了数据,本地跑也是正常的取出了正确的数据,可是为什么前端就是展示不出数据,是不是前端改什么东西改出了bu...
MVC模式是什么
03-06 5414
一、概念 MVC模型是模型(model)、视图(view)、控制器(controller)三层架构的设计模式,用于把前端页面的展现与后端业务分离。 模型:主要包含业务数据和业务逻辑。在模型层,还会涉及到用户发布的服务,在服务中会根据不同的业务需求,更新业务模型中的数据。 视图:呈现给用户的部分,是用户和程序交互的接口,用户会根据具体的业务需求,在View视图层输入自己特定的业务数据,并通过界面的事件交互,将对应的输入参数提交给后台控制器进行处理。 控制器:用来处理用户输入数据,已经更新业务模型的部分
什么是MVC
热门推荐
weixin_45920385的博客
10-20 3万+
什么是MVC1、什么是MVC2、代码层面理解(1)pom依赖(2)编写一个Servlet类,用来处理用户的请求(3)编写Hello.jsp,在WEB-INF目录下新建一个jsp的文件夹,新建hello.jsp(4)在web.xml中注册Servlet(5)配置Tomcat,并启动测试3、小结 1、什么是MVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范,是将业务逻辑、数据、显示分离的方法来组织代码。 MVC主要作用是降低了视图与业务逻辑间的双向
Spring MVC 集成 jackson-dataformat-xml 问题
dawuafang
12-27 530
Spring MVC 集成 jackson-dataformat-xml 问题 HttpMessageNotWritableException Could not write content 注:如果你没有遇到这个问题,你可以直接看下面解决方法二。 当我在SpringBoot集成Spring MVC中使用XML格式输出的时候,出错了,后台错误信息如下: Failed to w...
jackson解析xml文件或xml格式请求以及踩坑经历
lu1098693002的博客
09-18 4770
jackson解析xml文件或xml格式请求以及踩坑经历 最近写的接口要被外部接口调用,请求格式为xml,在网上搜索,有的是用代码去解析的例如 使用HttpServletRequest.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream(), "UTF-8")); StringBuffer xml = new StringBuffer(); whil
Jackson快速入门
梦想是很难很难的,所以先勇敢一点
10-11 291
package com.mote.jackson; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jack...
什么是MVC模式?ASP.NET Core MVC框架有哪些特点?
最新发布
05-27
ASP.NET Core MVC框架是MVC模式在ASP.NET Core平台上的实现。它具有以下特点: 1. 跨平台:可以在Windows、Linux和macOS等多种操作系统上运行。 2. 轻量级:相比于传统的ASP.NET框架,ASP.NET Core MVC框架更加轻...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 以太网是有线还是无线?什么是以太网? 11697
  • java: 警告: 源发行版 17 需要目标发行版 17 10986
  • IDEA的常用设置 7686
  • Eclipse配置Tomcat以及使用Tomcat启动项目 7321
  • 将Double类型转换为String类型 6057

分类专栏

  • 开发经验 23篇
  • java开发 94篇
  • Ajax 12篇
  • 开发经验_wei220519 2篇
  • Servlet和JSP 4篇
  • javaScript 32篇
  • IDE集成开发工具-IDEA 4篇
  • 过滤器监听器 7篇
  • 团队开发和版本控制工具-GIT 2篇
  • Maven 19篇
  • Spring 36篇
  • Linux 10篇
  • JDBC 10篇
  • CSS 10篇
  • HTML 11篇
  • JQuery 12篇
  • SpringMVC 10篇
  • MyBatis 29篇
  • MySQL 20篇
  • RPC_远程服务调用 3篇
  • Gradle+Groovy实战教程 7篇
  • 算法和数据结构新手班课程内容(1~8节) 1篇
  • RabbitMQ消息中间件 1篇
  • Shiro安全框架 1篇
  • SpringBoot 14篇
  • Solr 6篇
  • JAVASE 6篇
  • JAVASE_wei220410 30篇
  • Git 3篇
  • 第18章_JDBC 2篇
  • IDEA 8篇
  • SpringCloudAlibaba_wei220511 3篇
  • 其它网络知识_wei220425 2篇
  • test04-wei220410
  • test03-wei220410
  • test02-wei

最新评论

  • java中 怎么把字符串转成 double

    洛文泽: 有点问题如果str="3.140",number=3.14

  • 面试题:使用Java代码实现B系统与A系统企业信息定时同步

    爱学Java的Holy: 博主 ,难道没有第二题了吗

  • java: 警告: 源发行版 17 需要目标发行版 17

    阿J~: 看到文章昏昏欲睡的我瞬间来了精神,必须支持

  • java: 警告: 源发行版 17 需要目标发行版 17

    昀稚: 在哪打这些代码,请说清楚

  • java: 警告: 源发行版 17 需要目标发行版 17

    悲伤的美利坚: 你搁着废话文学?

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 路过的朋友,欢迎来看看通俗易懂版本的Nacos
  • java什么时候声明static方法
  • java所有集合的相互关系是什么
2024年10篇
2023年368篇
2022年142篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司坪地seo排名哪家好百色营销网站光明网站推广系统价格南充网站优化按天扣费推荐黄石建网站哪家好娄底网站改版遵义百度竞价南阳百度标王哪家好合肥seo网站推广多少钱布吉seo排名报价聊城百度关键词包年推广公司株洲网站优化排名哪家好张家口网站优化推广哪家好新乡网站优化软件昭通seo哪家好内江网站seo优化柳州关键词排名包年推广多少钱布吉品牌网站设计公司娄底百度标王推荐漯河SEO按天计费哪家好洛阳SEO按天计费武威营销型网站建设汕尾百度关键词包年推广多少钱荆州网站关键词优化报价遂宁推广网站价格阜阳至尊标王报价和田网站排名优化绵阳网站推广工具推荐运城网站关键词优化多少钱莱芜seo优化推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化