標籤:

SSM,SSH對比

學習ssm,突然覺得 SSM就像一輛車,springMVC是它的外觀,spring是潤滑油,mybatis是引擎。資料庫是汽油。

沒有油,寸步難行

==============================================

以下內容可能有毒,不適合新人觀看,純屬個人觀點

之前在想,為什麼springMVC是基於方法的,而struts2是基於action的,昨晚突然有了靈感,也是和之前一直在思考的struts的值域有關吧

我覺得,是因為「值」的問題,

struts是如何得到來自jsp頁面的值呢? 通過類變數得到!(還有封裝的request之類的取值等)~或者通過map得到 並且類變數必須有get方法,這是由於它本身設計的查值的api在查值的時候需要一個get方法(這個我自己也不太清楚,但是記得是有一個getValue的方法)

springMVC則是通過簡單的形式參數就可以拿到了,(還有封裝的request之類的取值等)對於我們新人來說真是太簡單了,既不用get方法,也不用寫類變數,還不用在IOC容器配置bean,講道理,SSH用XML配置配的我頭昏。

這樣一對比,就可以發現他們在取值方面的不同,我想這就是他們一個是基於類,一個是基於方法的原因吧

springMVC是對JDBC的簡單封裝,回憶之前的servlet和Jsp,可以發現很多都被封裝了起來,那麼我們最常使用的那些變成了什麼呢?

我覺得,最重要的是MVC多出來了一個ModelAndView對象

查看源碼可以看到,其實它有三個類變數,model view 和cleared(是一個標識,代表是否請求是先清空ModeleAndView成員屬性,默認不清空)。

可以看到,model對應的是struts中的action,對應servlet中的四大域對象嗎?

view對應的是struts中的return的字元串,

對應request的request.getRequestDispatcher(url).forward(request,response)轉發和response.sendRedirect(url);的重定向?

。。。struts學的煩,感覺也沒用,沒興趣看源碼

通過學習可以看到 在model或者action中都是比較支持map數據的

卧槽oacow???著ehz打字 i


推薦閱讀:

Scrapy框架的使用抓取分析
如何看待IBM宣布成功研製50量子比特量子計算機原型機?
近幾年人工智慧的進步算大嗎?
什麼是美國的妨礙聯邦計算機罪?
什麼是自計算機取得情報罪?

TAG:計算機 |