struts和springmvc的區別和執行原理

2022-05-01 13:15:12 字數 2036 閱讀 3700

● struts

○ 搭建過程

■ 載入web.xml 、

● 配置struts核心控制器

● 1:攔截 規定字尾請求

● 2:載入struts.xml(讀取配置掃瞄註解)

○ 常用註解

● @action

○ 例項化action ,規定訪問url

● result

○ 規定返回結果集配置

○ 傳值方式

■ string

● 屬性驅動(基於 成員/全域性 變數傳值)

● 前台: from表單中 的表單元素 name屬性=「name」 拼接url ?建立

● 後台:私有化private 成員變數,與前台屬性值 保持一致,並且提供get set方法

○ (由底層的request.getpremer()封裝後接值)

■ 檔案

● 屬性驅動

● 前台:寫file 標籤 規定name屬性值,from表單 規定enctype

● 後台:私有化private file img string filename .提供getset方法

○ 後台接到 檔案,和檔名稱 然後呼叫io工具包,儲存檔案

● copyfile()複製檔案

●■ 日期

● 與字串一樣

● 前台name:值

● 後台:使用 date變數進行接受

● 自動將字串轉為 date型別

○ 如何返回資料

■ 普通頁面

● return 頁面,根據result 註解 找到對應頁面返回

■ json

● 後台:需要將資料 通過json工具包 轉為json字串

● 通過respnse輸出物件 通過getwarie()物件進行返回到前台

○ 多例

■ action是多例的,在使用者發起請求時,建立action例項在記憶體當中,

■ 可以通過 輸出 this 關鍵字,得到的記憶體位址都不一致,證明是多個

■ 因為action 實用成員變數接受引數,所以,不能採用單利(在併發情況下會出現值覆蓋問題!:可以通過request 獲取引數的形式解決單例影響)

● springmvc

○搭建過程

■ 1:web.xml配置 springmvc總控制器

● 1:攔截規定字尾url

● 2:解析載入spring-mvc.xml

○ 配置掃面註解方法 scan

○ 配置視**析器viewresolver(規定返回的資料夾 和 字尾)

○ 常用註解

■ @controller 例項化controller

● method=requestmethod.get 限制訪問型別

○ 傳值方式(基於方法傳值)

■ 通過modelmap前後台傳值 modelandview

■ string

● 前台name = 後台屬性

■ 檔案

● 前台name屬性

● 後台spring-.mvc.xml設定檔案上傳大小

● @requestparam(value="img")multipartfile img

● 由file類 轉為multipartfile 使用註解引數@requestparam規定

● 檔案轉移方法:

● img.transferto(new file("d:\\"+img.getoriginalfilename()));

■ 日期

● springmvc不能將字串轉為date 需要註解 @datetimeformat(pattern="yyyy-mm-dd") 轉換

●○ 如何返回資料

■ 普通頁面

● 返回路徑/頁面位置 經過視**析器 直接返回

■ 重定向

● return "redirect:/stu/tostupage.do";

■ json

● @responsebody 將變數轉為json字串 並且輸出到前台

○ 單例

■ 例項化controller之後,輸出this後驗證為:springmvc為單例模式

SpringBoot擴充套件SpringMVC

編寫乙個配置類,型別是webmvcconfigureradapter 繼承 使用webmvcconfigureradapter可以擴充套件,不能標註 enablewebmvc 既保留了配置,也能拓展我們自己的應用 configuration public class mymvcconfig exte...

springMVC學習(一)springMVC簡介

springmvc介紹 spring web mvc和struts2都屬於表現層的框架,它是spring框架的一部分,我們可以從spring的整體結構中看得出來 spring的整體結構圖 mvc是一種設計模式,mvc在b s系統下的應用 理解 1 使用者發起request請求至控制器 control...

Thymeleaf模板與Spring MVC整合

thymeleaf 定義了 org.thymeleaf.spring4.view.thymeleafview 和 org.thymeleaf.spring4.view.thymeleafviewresolver 預設使用thymeleafview 作為 view thymeleaf 提供了乙個spr...