記錄一次的cookie獲取不到的小糾結!因為沒設置路徑,死活找不到,醉了!!!
Cookie的路徑
該路徑可通過setPath("/xxx")進行設置,這個路徑直接決定服務器的請求是否會從瀏覽器中加載某些Cookie。
首先默認情況下,如果不設置Cookie的path,默認是“/項目名/當前路徑的上一層地址”,如:請求路徑:/cookie/cookieDome/servlet/login,Cookie的請求路徑:/cookie/cookieDome/servlet
如果我們設置path,如果當前訪問的路徑包含了Cookie的路徑(當前訪問路徑在Cookie路徑基礎上要比Cookie的范圍小)Cookie就會加載request的對象之中。
再次強調:這個路徑就是請求的上一層路徑,例如在請求http://loaclhost/day01/servlet/hello時,服務器響應了一個Cookie,那么這個Cookie的默認路徑就是/day01/servlet,默認當前請求路徑的上一級。/day01/servlettest是拿不到的!!!
Cookie的路徑,它只能拿到當前請求路徑的上一級所包含的路徑。也就是說,在訪問子路徑時,會包含其父路徑的Cookie,而在訪問父路徑時,不包含子路徑的Cookie.
注意:在設置cookie路徑時最好不要寫死,可通過request.getContextpath()來獲取當前項目的根目錄來設置;