30. MVC设计模式

JavaEE 开发流程

在这里插入图片描述

在这里插入图片描述

MVC的概念

MVC是Model-View-Controller的简称,即模型-视图-控制器。
MVC是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。

模型(model)
  • 模型是应用程序的主体部分,模型表示业务数据和业务逻辑。
  • 一个模型能为多个视图提供数据。
  • 由于应用于模型的代码只需写一次就可以被多个视图重用,所以提高了代码的可重用性。
    视图

视图是用户看到并与之交互的界面,作用如下:

  • 视图向用户显示相关的数据。
  • 接受用户的输入。
  • 不进行任何实际的业务处理。
    控制器
  • 控制器接受用户的输入并调用模型和视图去完成用户的需求。
  • 控制器接收请求并决定调用哪个模型组件去处理请求,然后决定调用哪个视图来显示模型处理返回的数据。
MVC处理流程

在这里插入图片描述

View:JSP
  • 呈现数据:从 reuqes 中获取 Servlet 放入的属性,
  • 接收用户的输入,将输入转给controller
  • 编写 JS 代码给出对应的提示。
Controller:Controller
  • 获取请求信息:获取请求参数
  • 验证请求参数的合法性:验证失败,需要返回页面,并给出提示信息
  • 把请求参数封装为一个 JavaBean
  • 调用 Service的方法获取返回的结果
  • 把返回的结果放入到 request 中
  • 响应页面:转发、重定向
Model:DAO
  • 获取数据库连接
  • 执行 CRUD 操作
  • 返回结果
Model:MySQL
  • 用于存储数据
Service:服务层
  • 整个项目核心功能的体现
  • 接受Controller层的调用,调用dao层
  • 不能跨层访问
  • 只能自上向下依赖,而不能自下向上依赖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/291935.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

系列十二(面试)、Java中的GC回收类型有哪些?

一、Java中的GC回收类型 1.1、概述 Java中的GC回收类型主要包含以下几种,即:UseSerialGC、UseParallelGC、UseConcMarkSweepGC、UseParNewGC、UseParallelOldGC、UseG1GC。 1.2、源码

案例101:基于微信小程序的停车共享小程序

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

【K8s】4# 使用kuboard部署开源项目实战

文章目录 1.开源项目2.实战2.1.创建spring-blade命名空间2.2.导入 spring-blade 到 K8S 名称空间2.3.设置存储卷参数2.4.调整节点端口2.5.确认导入2.6.查看集群2.7.导入配置到 nacos2.8.启动微服务工作负载 3.验证部署结果3.1.Nacos3.2. web 4.问题汇总Q1:Nacos启动…

代码随想录-刷题第三十四天

1005. K 次取反后最大化的数组和 题目链接:1005. K 次取反后最大化的数组和 思路:取反k次,保证每次取反的数值是数组中的最小值,最后数组和就是最大的。 class Solution {public int largestSumAfterKNegations(int[] nums, in…

Node.js安装与配置

聚沙成塔每天进步一点点 ⭐ 专栏简介 Vue学习之旅的奇妙世界 欢迎大家来到 Vue 技能树参考资料专栏!创建这个专栏的初衷是为了帮助大家更好地应对 Vue.js 技能树的学习。每篇文章都致力于提供清晰、深入的参考资料,让你能够更轻松、更自信地理解和掌握 Vue.js 的核心概念和技…

【科学计算语言】实验二 Python函数

【目的和要求】 (1)掌握Python语言的函数设计过程 (2)掌握自定义函数及其调用 (3)熟练运用Python内置函数 【实验准备】 系统函数库的导入、自定义函数 【实验内容】 编程实现:利用Pytho…

在 QT 项目中使用开源大模型

随着 ChatGPT 和 Stable Diffusion 的大热,AI 不再作为一个玩具,走进人们的视线,AIGC 产品也如雨后春笋一般纷纷涌现。然而对大多数 C程序员而言,却处在尴尬的位置。 诚然,AI 的核心都是 C实现的,但对于普通…

java并发编程六 共享模型之内存

文章目录 Java 内存模型可见性解决方法 有序性解决方法 Java 内存模型 JMM 即 Java Memory Model,它定义了主存、工作内存抽象概念,底层对应着 CPU 寄存器、缓存、硬件内存、CPU 指令优化等。 JMM 体现在以下几个方面 原子性 - 保证指令不会受到线程上…

3D模型人物换装系统(一)

3D模型人物换装系统 介绍遇到的问题问题修复具体实现换装1.准备所有模型部位和模型骨骼部位准备材质准备模型根骨骼准备创建文件夹将上述模型拖成预制体创建一个动画状态机给他们附上待机动画 2.脚本驱动Mesh合并代码 UCombineSkinnedMgr.cs创建Mesh以及实例化对象的代码 UChar…

主流数据库体系结构

MySQL 我们通常所说的 MySQL 数据库服务器由一个实例(instance)以及一个数据库(database)组成。实例包括一组后台进程/线程和许多内存结构,用于管理数据库;数据库由一组磁盘文件组成,用于存储数…

人工智能在约会APP开发中的作用

约会APP已成为当今技术世界中结识人们的流行方式。这意味着您不必要求您的朋友去见某人约会。简而言之,技术改善了约会过程,而人工智能在约会APP开发中的兴起极大地影响了人们今天的约会方式。 在约会APP中使用人工智能技术可以改善个人寻找完美匹配对象…

vue3+element plus组件库中el-carousel组件走马灯特效,当图片变动时下面数字也随着图片动态变化

1.效果图 2.html <section style"height:30%"><div class"left-img1-title"><img src"../assets/img/title.png"alt""srcset""><div class"text">回收垃圾数量</div></div>…