学习SpringMVC必知必会(1)~MVC 思想和前端控制器思想

简介: 学习SpringMVC必知必会(1)~MVC 思想和前端控制器思想

一、MVC 思想

1.三层架构:

Web 开发的最佳实践就是根据功能职责的不同,划分为控制层业务层持久层



2.MVC 原理

✿ 控制层【MVC 模型】:

是一种架构型的模式,本身不引入新功能,是控制层的一种思想,只是帮助我们将开发的结构组织的更加合理[MV分离] 使数据展示与模型分离、流程控制逻辑、【VC】业务逻辑调用与数据展示逻辑分离------>责任分离


  • Model(模型):数据模型,包含要展示的数据和业务功能。 【类:domain、dao、service】
  • View(视图):用户界面,在界面上显示模型数据。
  • Controller(控制器):起调度作用,接收用户请求、调用业务处理请求、共享模型数据并跳转界面。【servlet职责】


3、MVC框架需要具备的功能【类比javaweb】

  • 设置请求编码
  • 接收请求参数
  • 输入校验
  • 参数类型转换
  • 把参数封装到对象
  • 设置共享数据
  • 文件上传
  • 文件下载
  • 控制界面跳转
  • 国际化处理
  • 自定义标签


二、前端控制器

1.什么是前端控制器

Front Controller 模式要求在 WEB 应用系统的前端(Front)设置一个入口控制器(Controller),是用来提供一个集中的请求处理机制,所有的请求都被发往该控制器统一处理,然后把请求分发给各自相应的处理程序。

■ 简单说就是:处理所有请求共同的操作,再把请求分发给各自的处理器【后端控制器】。

  • 一般用来做一个共同的处理,如权限检查,授权,日志记录等。因为前端控制的集中处理请求的能力,因此提高了可重用性和可拓展性

image.png



2、怎么保证所有请求都先经过前端过滤器呢?

  • 在javaweb:有过滤器Filter、servlet,都需要在web.xml 中做配置
  • 使用mvc框架,需要配置前端控制器:
  • Struts2 框架是基于Filter
  • SpringMVC 框架是基于Servlet
目录
相关文章
|
2月前
|
前端开发 Java 编译器
【前端学java】如何从前端视角快速学习Maven
【8月更文挑战第12天】如何从前端视角快速学习Maven
43 2
【前端学java】如何从前端视角快速学习Maven
|
2月前
|
前端开发 JavaScript API
前端框架Vue------>第二天学习(1)插槽
这篇文章介绍了Vue框架中插槽(slot)的概念和用法,以及如何在组件中使用自定义事件进行父子组件间的通信。
前端框架Vue------>第二天学习(1)插槽
|
2月前
|
JSON 前端开发 JavaScript
前端框架Vue------>第一天学习(3)
这篇文章是关于使用Vue框架进行前端开发的教程,重点介绍了如何使用Axios实现异步通信和表单输入的双向数据绑定。
前端框架Vue------>第一天学习(3)
|
2月前
|
前端开发 JavaScript API
前端框架Vue------>第一天学习(2) v-if
这篇文章介绍了Vue框架中条件渲染的用法,包括`v-if`、`v-else-if`指令的使用,以及列表渲染和事件监听的基本实现。
前端框架Vue------>第一天学习(2) v-if
|
2月前
|
设计模式 JavaScript 前端开发
前端框架Vue------>第一天学习、Vue学习的路径、Vue官网(1)
这篇文章是关于Vue框架的学习指南,涵盖了前端知识体系、MVVM模式、创建第一个Vue程序以及Vue实例的生命周期等基础知识。
前端框架Vue------>第一天学习、Vue学习的路径、Vue官网(1)
|
2月前
|
前端开发 算法 网络协议
如何学习计算机基础知识,打好前端和网络安全的基础
如何学习计算机基础知识,打好前端和网络安全的基础
37 4
|
2月前
|
前端开发 JavaScript
前端网站学习大全
这篇文章提供了前端网站开发学习的资源大全,涵盖了HTML常用标签和CSS常用样式,以及如何使用`<meta>`标签提供页面元信息和`lang`属性定义内容语言等基础知识。
前端网站学习大全
|
2月前
|
前端开发 JavaScript
前端框架Vue------>第三天学习(1)
这篇文章介绍了Vue框架的组件基础和计算属性的概念,通过示例代码展示了如何定义可复用的Vue组件和使用计算属性来声明性地描述依赖其他值的数据。
|
3月前
|
Web App开发 存储 JavaScript
前端如何学习Node.js及Node.js的主要用途
【7月更文挑战第16天】 学习Node.js对前端开发者至关重要,涉及理解其基于V8的运行时环境、JavaScript基础、安装与验证、核心模块(如fs、http、path)及npm管理。实践项目,如用Express建服务器,参与开源,深入学习异步编程和事件循环。Node.js用于服务器开发、构建工具、本地开发服务器和实时应用,提升全栈能力。借助官方文档和各种资源加速学习。
54 4
|
3月前
|
JavaScript 前端开发 NoSQL
前端node如何学习进阶知识
【7月更文挑战第8天】 深化JavaScript基础,精通Node.js核心模块(如fs、http)与事件循环机制,学习Express框架及异步编程(回调、Promise、async/await),掌握数据库交互,参与实战项目,关注Node.js最新技术和最佳实践,以此提升进阶技能。
39 8
下一篇
无影云桌面