有點疑問,我每次改變一次Session里的值,我都會重新設置
Cart cart=(Cart)request.getSession.getAttribute("cart");不是獲取了Session對象,然后轉變了Cart對象嗎,調用完addGoodsInCaer方法,改變了Cart里面的值,不用再request.getSession.setAttribute("cart",cart)嗎?還是說一開始獲取的Cart對象就是Session對象?會隨的Cart的改變,Session跟著改變?
Cart cart=(Cart)request.getSession.getAttribute("cart");不是獲取了Session對象,然后轉變了Cart對象嗎,調用完addGoodsInCaer方法,改變了Cart里面的值,不用再request.getSession.setAttribute("cart",cart)嗎?還是說一開始獲取的Cart對象就是Session對象?會隨的Cart的改變,Session跟著改變?
2016-07-31
舉報
2016-07-31
我理解的是session中的值是動態的,不需要覆蓋保存,不像cookie里的值變了就要重新覆蓋保存
2016-08-05
if(request.getSession().getAttribute("cart")==null)
{
Cart cart = new Cart();
request.getSession().setAttribute("cart",cart);
}
Cart cart = (Cart)request.getSession().getAttribute("cart");
if(cart.addGoodsInCart(item, Integer.parseInt(number)))
{
return true;
}
else
{
return false;
}
一次會話中最多只會創建一個Cart對象,以鍵值對的形式保存在session里(值是object類型),你通過鍵值得到的還是那個對象,不需要覆蓋保存。