java - 我設置了cookie的max age,但是cookie依然在關閉游覽器后消失了
問題描述
我設置了cookie的max age,但是cookie依然在關閉游覽器后消失了。我的controller:
package com.jiaotong114.jiaotong.controller;@Controller@RequestMapping('/')public class CityIndex { @RequestMapping(value='/city/{cityName}', method = RequestMethod.GET)public String printHello(ModelMap model, @PathVariable('cityName') String cityName, HttpServletRequest request, HttpServletResponse response) { Cookie[] c = request.getCookies(); boolean isNew = true; for(int i = 0; i < c.length; i++) {if(c[i].getName().equals('cityName')) { c[i].setValue(cityName); c[i].setMaxAge(365 * 24 * 60 * 60); response.addCookie(c[i]); isNew = false;} } if(isNew) {Cookie cityNameCookie = new Cookie('cityName', cityName);cityNameCookie.setMaxAge(365 * 24 * 60 * 60);response.addCookie(cityNameCookie); } request.getSession().setAttribute('cityName', cityName); return 'index';}}
訪問http://localhost:8080/city/sh...調用這個controller,可以從圖片看到cookie已經被成功添加到客戶端了,時間是一年。
但是當我關閉了游覽器,重新打開,訪問http://localhost:8080,然后發現我的cookie不見了。見圖2。
問題解答
回答1:問題解決了,設置了cookie.setPath('/')
回答2:瀏覽器問題吧。。。。。
回答3:cookie是由多個屬性決定的,我猜max-age只是其中之一。
