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:計算機 |