springmvc和struts2的區別


 

 springmvc和struts2的區別

 

1、springmvc基於方法開發的,struts2基於類開發的。

2、單例和多例的區別:springmvc在映射的時候,通過形參來接收參數的,是將url和controller方法映射,映射成功后,springmvc生成一個handlers對象,對象中只包括一個method,方法執行結束的時候,形參的數據就銷毀,

所以springmvc可以進行單例開發,並且建議使用。

但是structs接收的參數是通過類的成員變量來接收的,這些變量在多線程訪問中,是共享的,而不是像springmvc那樣,方法結束之后,形參自動銷毀,且無法使用單例,只能使用多例。

這樣的話,在structs中,隨着方法的添加,很多的成員變量,維護到最后的時候根本就不知道這個成員變量被哪個方式所使用,所以springmvc開發類似於service開發。

3、經過實際測試,structs速度慢,在與使用structs標簽,如果使用structs建議使用jstl。

 mybatis和hibernate的區別

1、hibernate 入門門檻高,是一個標准的ORM礦建(對象關系映射),不需要程序寫sql,sql語句自動生成,對sql語句進行優化、修改比較困難

   mybatis專注於sql本身,需要程序員自己編寫sql語句,sql修改、優化比較方便。是一個不完全的ORM框架,雖然程序員自己寫sql,mybatis也可以實現映射(輸入映射,輸出映射)

應用場景方面:

2、hibernate適用於需求變化不多的中小型項目,比如:后台管理系統,orm、oa......

  mybatis適用於需求變化較多的項目,比如:互聯網項目。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM