Cookie和Session都是由Tomcat自動建立的對象,Cookie的默認最大存活時間是 -1 ,即當瀏覽器關閉時Cookie就消失了;Session的默認最大存活時間是30分鐘。程序員
使用Session進行會話保持時,服務器會將「JSESSIONID」打包成一個Cookie發給瀏覽器,因爲Cookie的默認存活時間問題,一旦瀏覽器關閉,會話將會斷開,爲解決這一問題,能夠使用 request.setMaxAge()方法爲Cookie設置最大存活時間。瀏覽器
但實際效果:毫無做用!服務器
緣由:瀏覽器每次請求服務器時,請求頭內的Cookie實際上已經不是同一個了,它只是擁有和上一次Cookie同樣的name和value的另外一個Cookie,因此setMaxAge()方法根本不起做用(對象都不是同一個了)。spa
解決方案:由程序員本身手動建立一個Cookie對象,用於存儲JSESSIONID數據,並設置存活時間(大於Session的存活時間)便可。對象