当前位置: 首页 > article >正文

SpringMVC框架学习

系列文章目录

第一章 基础知识、数据类型学习
第二章 万年历项目
第三章 代码逻辑训练习题
第四章 方法、数组学习
第五章 图书管理系统项目
第六章 面向对象编程:封装、继承、多态学习
第七章 封装继承多态习题
第八章 常用类、包装类、异常处理机制学习
第九章 集合学习
第十章 IO流、多线程学习
第十一章 仓库管理系统项目
第十二章 员工管理系统、多表查询、反射实现DBHelper学习
第十三章 DML、DDL、数据库对象学习
第十四章 网络编程、各种标签、CSS学习
第十五章 ECMAScript、BOM学习
第十六章 DOM、jQuery学习
第十七章 Servlet、jsp、Cookie、Ajax学习
第十八章 融资管理系统项目
第十九章 MyBatis框架学习
第二十章 逆向工程、Spring框架IOC、AOP学习
第二十一章 SpringMVC框架学习


文章目录

  • 系列文章目录
  • 前言
  • 一、SpringMVC框架
    • 1. MVC介绍
    • 2. 分解框架处理流程
      • 2.1 总结
    • 3. MVC代码实现
  • 总结


前言

本文会讲述:
SpringMVC框架
在下攸攸太上,现如今要面试了,压力山大吖!!


一、SpringMVC框架

1. MVC介绍

M:model模型,业务模型service和数据模型mapper、entry
V:view视图
C:controller控制器

举个例子:京东的网页版、应用版、小程序版,后台都是同一个。也就是我们需要将M和C和V分离,放到代码就相当于使用C(controller)将M(service、mapper、entry)和V(前端)分离
SpringMVC能将java代码和servlet之间的解耦,他代替servlet工作,实现了servlet层的解耦,但本质还是servlet
SpringMVC是SpringFrameWork(及Spring)的后续产品,是他的子框架
SpringMVC是一个基于MVC的web框架。

2. 分解框架处理流程

在这里插入图片描述
1、首先用户发送请求到DispatcherServlet:前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制;
2、DispatcherServlet到HandlerMapping:HandlerMapping将会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象、多个HandlerInterceptor拦截器)对象,通过这种策略模式,很容易添加新的映射策略;
3、DispatcherServlet到HandlerAdapter:HandlerAdapter将会把处理器包装为适配器,从而支持多种类型的处理器,即适配器设计模式的应用,从而很容易支持很多类型的处理器;
4、HandlerAdapter到处理器:功能处理方法的调用HandlerAdapter将会根据适配的结果调用真正的处理器的功能处理方法,完成功能处理;并返回一个ModelAndView对象(包含模型数据、逻辑视图名);
5、DispatcherServlet到ViewResolver:ViewResolver将把逻辑视图名解析为具体的View,通过这种策略模式,很容易更换其他视图技术;
6、DispatcherServlet到View:View会根据传进来的Model模型数据进行渲染,此处的Model实际是一个Map数据结构,因此很容易支持其他视图技术;
7、由DispatcherServlet返回响应给用户,到此一个流程结束。

2.1 总结

原先我们处理第一步request和最后一步response,现在我们处理的是第五步获取数据和第六步返回ModelAndView。

3. MVC代码实现

由于MCV项目文件很多,放在文章里会显得很臃肿,所以我会将需要的文件都放在百度网盘里发给你们。
哈哈,我好吧!
只要把jdbc.properties文件中的数据库连接对象配成自己的,再导一下jar包(网盘里有),再添加一下employee数据库下的emp表(创建表的Sql语句在网盘里有),就能使用了,万岁!!
SpringMCV项目文件
通过网盘分享的文件:SpringMCV文件
链接: https://pan.baidu.com/s/1ZeGk-D08ZCqDC1dhHHQ5sQ?pwd=61qt 提取码: 61qt


总结

本文讲述了
SpringMVC框架:使用控制层将(前端)和(业务层与数据持久层)
在下攸攸太上,


http://www.kler.cn/a/282170.html

相关文章:

  • Uni-APP+Vue3+鸿蒙 开发菜鸟流程
  • 2024 同一个网段,反弹shell四种方法【linux版本】bash、python、nc、villian反弹shell图解步骤
  • 【MySQL】优化方向+表连接
  • STM32 Option Bytes(选项字节)
  • C++ 编程基础(5)类与对象 | 5.8、面向对象五大原则
  • 动态规划之股票系列
  • 使用ftl文件导出时,多层嵌套循环
  • 如何开Stand Up Meeting
  • 深度学习基础—Softmax回归
  • 虚拟化云管服务奥创的优化升级以及多集群下VPC网络实现
  • XML CSS:结构和样式的完美结合
  • python(9) : docker方式运行python程序(自启动,守护)
  • 恒电流间歇滴定法 (GITT) 测试教程
  • 国产游戏行业的技术突破与未来展望:挑战与机遇并存
  • macos MacPort 包管理工具安装和使用
  • TCP的连接建立及报文段首部格式
  • P1516 青蛙的约会(exgcd)
  • 操作系统
  • 最火视频素材去哪里找?热门的视频素材网站库分享给你
  • 工业软件架构1:(QT和C++实现)
  • LLama3技术报告笔记(垂直能力)
  • js逆向——异步栈分析(上)
  • Faiss入门心得---向量数据库Faiss的搭建与使用
  • C#/WinForm实现炸弹人游戏
  • PaddleNLP 3.0 支持大语言模型开发
  • 新手学习打怪之编译安装LAMP和LNMP