1. 程式人生 > >springmvc和struts2的區別

springmvc和struts2的區別

雖然現在struts2用的不多,但是面試的時候可能會問,故在此簡單總結一下:

springmvc struts2
1 配置 比較多
2 基於什麼開發 方法
3 入口

servlet

filter

4 如何管理controller 預設單例,支援多例 只能多例
5 引數傳遞,儲存 值棧(ognl) 形參
6 攔截機制 interceptor AOP
7 AJAX的使用

@ResponseBody

需額外整合外掛或自己寫程式碼
8 Bean的驗證

JSR303

很繁瑣
9 方法之間的獨立性 獨立 雖然也是獨立的,但是

Action變數是共享的,這樣會給閱讀程式碼帶來麻煩。

問:springmvc是單例的,高併發下如何實現高效能的?

答:首先單例的作用是避免物件頻繁的建立和銷燬,由此提高效能。

而如何在高併發下保證執行緒安全呢,答案是使用ThreadLocal這個類,此類的key就是Thread例項,這樣雖然仍然是一個例項在操作,但是不同執行緒下的資料是互相隔離的,而且併發越高優勢反而越明顯。

暫時總結這麼多,有什麼錯誤請大家指正。