cookie获取不到?Cookie的路径设置很重要
记录一次的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()来获取当前项目的根目录来设置;
当你发现自己的才华撑不起野心时,就请安静下来学习吧!