Javaweb- 11 MVC架構模式

MVC(Model View Controller) 是軟件工程中一種軟件架構模式,它把軟件系統分為模型,視圖,控制器,三個基本部分。用一種業務邏輯,數據,界面顯示分離的方法組織代碼,將業務邏輯集群到一個部件里面。當改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯。(1. 高內聚,低耦合 2. 開閉原則(對修改關閉,對拓展開放))

MVC 各層的內容

M:Model 模型層

? ? ? ? 1. 存放和數據庫對應的實體類以及一些用于存儲非數據庫持久化存儲的相關的 VO 對象

? ? ? ? 2. 存放一些對數據進行邏輯運算操作的業務處理代碼

V:View 視圖層

? ? ? ? 1. 存放一些視圖相關的代碼 html css js 等

? ? ? ? 2. 在前后端分離的項目中,該層次已經變為了獨立的前端項目

C:Controller 控制層

? ? ? ? 1. 接收客戶端請求,獲得請求數據

? ? ? ? 2. 將準備好的數據,響應給客戶端

MVC 項目中的常見包

M:

? ? ? ? 1. 實體類包(pojo/entity/bean):專門存放和數據庫對應的實體類和一些 VO 對象

? ? ? ? 2. 數據庫訪問包(dao/mapper):專門存放對數據庫不同表格 CURD 方法封存的一些類

? ? ? ? 3. 服務包(service):專門存放對數據進行業務邏輯運算的一些類

C:

? ? ? ? 控制層包(controller)

V:

? ? ? ? web 目錄下的視圖資源

舉個栗子:

要實現一個頁面,張三網絡購物,買 10 本書:

用戶打開頁面,首先是一個視圖頁面

當顧客選好數量和書籍后,點擊結算,將相關數據發送給控制層

?

同時,還用封裝對表格數據 CRUD 的 DAO 層,和實體類層

完!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/88677.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/88677.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/88677.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【電腦】主板的基礎知識

主板(Motherboard)是計算機的核心組件之一,它將所有其他硬件部件連接在一起并協調它們的工作。以下是關于主板的詳細知識:1. 架構組成一個典型的主板通常由以下幾個主要部分構成:芯片組(Chipset&#xff09…

【飛算JavaAI】一站式智能開發,驅動Java開發全流程革新

【作者主頁】Francek Chen 【專欄介紹】???人工智能與大模型應用??? 人工智能(AI)通過算法模擬人類智能,利用機器學習、深度學習等技術驅動醫療、金融等領域的智能化。大模型是千億參數的深度神經網絡(如ChatGPT&#xff09…

STM32中的RTC(實時時鐘)詳解

前言:為什么需要RTC? 在嵌入式系統中,時間記錄是一項基礎且關鍵的功能。想象一下:智能家居設備需要按時間觸發開關燈,工業儀表需要記錄傳感器數據的采集時刻,物聯網終端需要同步服務器時間戳……這些場景都…

Python技巧記錄

空格拼接數組格式化顯示 一維數組 arr [1, 2, 3, 4, 5] print( .join(map(str, arr))) # 直接轉換并連接二維數組 for row in arr:print( .join(map(str, row)))for row in arr: 此循環會遍歷矩陣arr中的每一行。這里的arr是一個二維列表,每一行代表一個子列表。m…

next.js打包后的前端資源如何進行部署和訪問,為什么沒有index.html

在 Next.js 項目中,打包后的部署方式和傳統單頁應用(SPA)有所不同,尤其是沒有直接生成 index.html 這一點。以下是詳細解釋和部署指南:為什么沒有 index.html 文件? Next.js 采用 混合渲染策略,…

Qt+FFmpeg網絡視頻流播放

init 函數用于初始化 FFmpeg,包括設置參數、打開輸入、初始化視頻和音頻等。initOption 函數用于設置 FFmpeg 的參數選項。bool FFmpegThread::init() {if (url.isEmpty()) {return false;}//判斷該攝像機是否能聯通if (checkConn && isRtsp) {if (!checkUr…

【SpringBoot】Spring Boot 高并發優化終極指南,涵蓋線程模型、JVM 調優、數據庫訪問、緩存策略等 15+ 核心模塊

Spring Boot 高并發優化終極指南,涵蓋線程模型、JVM 調優、數據庫訪問、緩存策略等 15 核心模塊一、線程模型深度調優(核心瓶頸突破)1. Tomcat 線程池原子級配置2. 異步任務線程池隔離策略二、JVM 層終極調參(G1GC 深度優化&#…

linux(CentOS-7-x86_64:NAT模式下解決yum無法使用:更新yum源的詳細操作步驟2025)

目錄 一、CentOS-7-x86_64的NAT模式下解決yum無法使用。(更新可用的yum) (1)首先保證能夠ping通,也就是NAT模式下虛擬機有網絡。 (2)錯誤:無法使用yum。比如我現在無法yum search if…

C++11的整理筆記

Lambda 表達式Lambda 表達式是 C11 引入的一種強大的功能,它允許你在代碼中直接定義匿名函數對象。Lambda 表達式可以捕獲上下文中的變量,并在需要時使用它們。它們通常用于簡化代碼,尤其是那些需要傳遞函數對象作為參數的場景(如…

MS1826+MS9332 4K@30Hz HD4×2視頻分割器

MS1826MS9332是一款支持4K30Hz分辨率的HD42視頻分割器方案。支持四路HD輸入兩路HD輸出,最高支持4K30Hz分辨率。該方案具有Scaler、OSD、畫面分割、無縫切換、淡入淡出及旋轉等功能。該方案現已實現量產,并提供完善的技術支持,適用于各類高清視…

用 MATLAB 模擬傳染病傳播:從 SI 模型到 SIS 模型的可視化之旅

在公共衛生研究中,數學模型是理解傳染病傳播規律的重要工具。通過數值模擬,我們能直觀看到 “易感人群” 和 “感染人群” 隨時間的變化趨勢,甚至能預測疫情發展的關鍵節點。今天就帶大家用 MATLAB 實現兩個經典的傳染病模型 ——SI 模型和SI…

Ruby如何采集直播數據源地址

在當今數字化的時代,實時獲取并處理信息變得尤為重要。特別是在體育賽事、新聞報道等領域,及時獲取最新的直播數據源對于提升用戶體驗至關重要。本文將介紹如何使用Ruby語言來采集特定網站的數據源地址 一、準備工作 首先,確保你的環境中已…

【fitz+PIL】PDF圖片文字顏色加深

文章目錄0 引言1 解決思路及流程1.1 思路1.2 代碼實現2 完整代碼與效果3 總結0 引言 沒錯,這是連續劇。女友對上一篇【fitzOpenCV】去除PDF圖片中的水印得到的去水印效果很滿意,于是問我可不可以再幫她處理一下另一個PDF文件,我二話不說答應…

tp8.0\jwt接口安全驗證

環境&#xff1a;php8.3\tp8.1\firebase-jwt6.1app\middleware\JwtAuth<?php namespace app\middleware;use app\common\library\JwtHandler; use think\Request; use think\facade\Env;class JwtAuth {public function handle(Request $request, \Closure $next){// 獲取當…

ReactNative【實戰系列教程】我的小紅書 5 -- 文章詳情(含輪播圖 ImageSlider,點亮紅心動畫 Heart,嵌套評論等)

最終效果 安裝依賴 npm i dayjs用于對時間進行格式化 必備組件 輪播圖 ImageSlider https://blog.csdn.net/weixin_41192489/article/details/149224510 點亮紅心動畫 Heart components/Heart.tsx import AntDesign from "expo/vector-icons/AntDesign"; import …

嗶哩嗶哩第三方TV-BBLL最新版

—————【下 載 地 址】——————— 【?本章下載一】&#xff1a;https://pan.xunlei.com/s/VOUtUcaymd9rpgurgDKS9pswA1?pwdp76n# 【?本章下載二】&#xff1a;https://pan.xunlei.com/s/VOUtUcaymd9rpgurgDKS9pswA1?pwdp76n# 【百款黑科技】&#xff1a;https://uc…

用YOLOv5系列教程(1)-用YOLOv5輕松實現設備狀態智能監控!工業級教程來了

用YOLOv5輕松實現設備狀態智能監控&#xff01;工業級教程來了設備運維革命&#xff1a;15分鐘教會你的攝像頭看懂指示燈狀態工業現場各種設備狀態指示燈是工程師的"眼睛"——紅燈報警、綠燈運行、黃燈待機。但人工巡檢耗時費力&#xff0c;關鍵故障容易漏檢&#xf…

筆記-分布式計算基礎

Distributed Computing 劃分數據并行&#xff08;DataParallelism&#xff09;將數據分為n份&#xff0c;發送到n個GPU上&#xff0c;每個GPU上都存在一個完整的大模型 缺點&#xff1a; 模型太大Pipeline Parallelism&#xff08;串行的&#xff09;將模型做split,每個GPU負責…

Android Studio 2024,小白入門喂飯級教程

一、下載Android Studio 1、從安卓官網安卓官網下載Android Studio。 ? ? 二、安裝Android Studio 1、雙擊android-studio-2024.3.2.15-windows.exe。 ? ?? ? ? ? ? 三、新建工程 1、雙擊桌面圖標? 打開Android Studio。 ? 選“Empty Views Activity…

AI智能體 | 使用Coze制作一鍵生成單詞洗腦循環視頻,一天批量生成100條視頻不是夢!(附保姆級教程)

目錄 一、整體工作流設計 二、制作工作流 2.1 開始節點 2.2 大模型-單詞 2.3 大模型_圖像生成 2.4 輸出 2.5 圖像生成_1 2.6 輸出_2 2.7 畫板_2 2.8 文本處理 2.9 輸出_3 2.10 speech_synthesis_1x5 2.11 get_audio_duration_1 2.12 代碼 2.13 get_audio_durati…