1. 程式人生 > >關於SpringMVC攔截器是否執行緒安全及多執行緒訪問產生的request和session

關於SpringMVC攔截器是否執行緒安全及多執行緒訪問產生的request和session

Springmvc的攔截器預設是執行緒不安全,即全域性屬性就是共享的即不執行緒安全(如下程式碼中變數i就是執行緒不安全的)。

定義了一個攔截器:

並配置了一個SessionListener(關於JavaWeb的Listener配置這裡沒貼程式碼):

設定session的過期時間為1分鐘

具體操作:

同一時間內發兩次請求,第一次變數t的值變為1,第二次變為2,關於觸發SessionListenr後產生的結果是:

由此可以得兩次請求產生的request是各自的(即相互隔離的),不然也不會產生列印兩次結果,第一次列印1,第二次列印2又可以證明,SpringMVC的interceptor預設情況下是執行緒不安全的。

不足之處,歡迎各位補充指正。