把以前做的项目改成struts2的形式后,以前的cookie不管用了,购物车只是一次会话内有效,请大家帮我看看,哪出问题了
这是查看购物车的代码,关了浏览器上次放入购物车中的物品就没了
//查看购物车
	public String getCart() {
		// TODO Auto-generated method stub
			// TODO Auto-generated method stub
		HttpServletRequest req  = ServletActionContext.getRequest(); 
		CookieCartService ck = new CookieCartService();
		String name=null;
		ck.getCart(name);
			Map<Book,String> map = new HashMap<Book,String>();
			try{
			Cookie [] cookie = req.getCookies();
			for(int i=0;i<cookie.length;++i){
				if(!cookie[i].getName().equals("JSESSIONID")){
					 name = cookie[i].getName();
					 Book book = ck.getCart(name);	
					if(book!=null){
						map.put(book, cookie[i].getValue());
					}
				}				
			}
			HttpSession session = req.getSession();
			session.setAttribute("map", map);
			for(Book bk : map.keySet()) {
				System.out.print("------------------"+map.get(getPrice()));
			}
			}catch(Exception e){
				return "error";
			}
			
			return "success";
		}
              
------解决方案--------------------
代码中,Coockie new出来之后,应该先设置最大存活时间,再添加到Response中,这样你设置的时间才有效。在添加之后设置时间没有用的,Cookie已经写于到响应中去了。