springmvc 與 Struts 2 比較


1.

2.四、線程安全

    由於Spring MVC默認是Singleton的,所以會產生一個潛在的安全隱患。根本核心是instance變量保持狀態的問題。
    這個問題有兩種解決辦法:
        a) 在控制器中不使用實例變量
        b) 將控制器的作用域從單例改爲原型
    這兩種做法有好有壞,第一種,需要開發人員擁有較高的編程水平與思想意識,在編碼過程中力求避免出現這種BUG,而第二種則是容器自動的對每個請求產生一個實例,由JVM進行垃圾回收,因此做到了線程安全。使用第一種方式的好處是實例對象只有一個,所有的請求都調用該實例對象,速度和性能上要優於第二種,不好的地方,就是需要程序員自己去控制實例變量的狀態保持問題。第二種由於每次請求都創建一個實例,所以會消耗較多的內存空間。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章