前言 | Spring MVC和 Struts2一樣,都是屬于 web 層的框架
- Spring MVC 的入口是一個 servlet 即前端控制器,而 Struts2 入口是一個 filter 過濾器。
- Spring MVC 是基于方法開發(fā)(一個 url 對應(yīng)一個方法),請求參數(shù)傳遞到方法的形參,可以設(shè)計為單例或多例(建議單例),Struts2 是基于類開發(fā),傳遞參數(shù)是通過類的屬性,只能設(shè)計為多例。
- Struts2 采用值棧存儲請求和響應(yīng)的數(shù)據(jù),通過 OGNL 存取數(shù)據(jù), Spring MVC通過參數(shù)解析器是將 request 請求內(nèi)容解析,并給方法形參賦值,將數(shù)據(jù)和視圖封裝成 ModelAndView 對象,最后又將 ModelAndView 中的模型數(shù)據(jù)通過 request 域傳輸?shù)巾撁?。Jsp 視圖解析器默認(rèn)使用 jstl。
- Struts2 綁定參數(shù)是綁在成員變量上,而 Spring MVC 綁定參數(shù)是綁在形參上。
多例:每個請求新建一個類
單例:每個請求復(fù)制一個方法