SpringMVC概述
• SpringMVC是在Spring框架內置的MVC的實現。
• SpringMVC就是一個Spring內置的MVC子框架。
MVC是什么?
• MVC(Model-View-Controller,模型-視圖-控制器)指把頁面、后台的交付分成3層來組成,是一種解決頁面代碼(視圖代碼)和后台代碼分離的設計思想!!
➢ 模型:指封裝數據的數據模型
➢ 視圖:指的是頁面
➢ 控制器:指接收頁面發送數據過來的類
• 既然MVC是解決頁面代碼和后台代碼的設計思想,所以它的設計是3層架構中的表示層
• 如下圖,MVC就在紅色框框中:
◈ 意思是JSP頁面(視圖)和后台數據(表示層)用JavaBean(數據模型)來封裝
◈ 還有,控制器(表示層)負責對頁面(視圖)進行處理的
◈ 綜合上述所說,通過MVC實現了頁面代碼和后台代碼的分離(這就是MVC作用)
◈ 同時也知道,處理頁面請求(視圖)是,后台(表示層)可以接受頁面發過來的請求
為什么要學習SpringMVC ?
問題:我們已經學習了Servlet/JSP了。為什么還要學習SpringMVC呢 ?
我們知道,Servlet中,表示層用Servlet,數據用數據模型來封裝,也就是Servlet/JSP已經支持MVC模式的實現,那么學習SpringMVC的意義在哪里?因為SpringMVC不僅僅是MVC的實現,它還是一個框架。這意味着,除了MVC的實現以外 還提供了大量的處理頁面請求處理的功能組件(學框架的好處是,不僅僅把理論實現了,還提供大量的功能給你用)!!!
➢ 一個請求對一個方法
以前發請求過來的時候,Servlet要么就doget,要么就dopost;但是MVC是一個請求對一個方法,發一個請求直接就到方法了
➢ 支持數據的自動封裝
以前寫代碼是這樣的:req.getParamter("username"),寫完之后還要new一下javabean來設置;SpringMVC可以直接把數據封裝到實體,不需要手動封裝
➢ 自動支持上傳組件
➢ 自動支持JSON的轉成
➢ ......