2023年畢業的時候,當時mvc思想非常流行,從總體設計的思路來看,c指的是struts、v指的是檢視層(當時我用的是freemarker)、m用的是spring;即便到了詳細設計層面,每個模組的組成也是分為mvc這3部分。
到了spring mvc的時候,spring根據mvc思想,一次性把這3個組成部分整合到一起,特別是spring3.0之後就全面超越struts2,成為最優秀的mvc框架。
spring mvc通過一套mvc註解,讓pojo成為處理請求的控制器,而無須實現任何介面,且支援rest風格的url請求,採用了鬆散耦合、可拔插元件結構,比其他mvc框架更具有擴充套件性和靈活性。
使用spring mvc分為如下幾個步驟:
①在web.xml中配置dispatcherservlet、配置hiddenhttpmethodfilter;
②加入spring mvc配置檔案,預設配置是web-info/.xml;
③配置自定義掃瞄包:;
④編寫邏輯、編寫檢視;
如果將dispatcherservlet請求對映配置為/,則springmvc將會捕獲web容器的所有請求,包括靜態資源的請求,例如:js、png、css等,此時springmvc會把這些靜態資源請求當成乙個普通的請求來處理,由於沒有對應的handler方法,因此找不到對應的處理器進而導致錯誤;
為了解決這個問題,可以在springmvc的配置檔案中配置來解決靜態資源對映問題:
工作原理就是:org.apache.catalina.servlete.defaultservlet
defaultservlethttprequesthandler,如果發現該請求沒有經過對映,則將該請求轉交給容器自帶的defaultservlet,進而讓容器去處理這些資源;如果經過對映,則繼續轉交給dispatchservlet繼續處理;
如果想用自己的defaultservlet來取代容器的defaultservlet,則可以通過的de****t-servlet-name屬性來指定自定義的defaultservlet;
Python基礎 1(語法基礎)
1 資料交換 c語言中 temp x x y y temp python中 x,y y,x 2 典型的python檔案結構 1 usr bin env python 1 起始行 23 this is a test module 2 模組文件45 import sys 3 模組匯入 6importos...
Oracle基礎學習(1)基礎語法
1.select distinct valuea valueb from table,2.別名則在選取後面空格分開,同時要用引號,如 valuea columa 3.連線操作 select ename job as employee from emp 或則 select ename is a job...
Redis基礎 1 基礎入門理解
redis是乙個nosql not only sql不僅僅只有sql 資料庫,翻譯成中文叫做非關係型型資料庫。典型應用 內容快取,主要用於處理大量資料的高訪問負載。資料模型 一系列鍵值對 優勢 快速查詢 劣勢 儲存的資料缺少結構化 典型應用 分布式的檔案系統 資料模型 以列簇式儲存,將同一列資料存在...