SpringMVC使用Cookie实现购物车功能

百度搜到有使用servlet使用Cookie实现购物车功能的,下面说一下 “SpringMVC使用Cookie实现购物车功能”

我觉得这是理所当然SpringMVC会有封装Cookie,因为自然。。。

一、先看Controller的“增加到购物车”方法:

	@RequestMapping(value = "addPdt2Cart")
	public void addPdt2Cart(
			@CookieValue(value = "cartCookie",required  = false) String cartCookieStr ,
			@RequestParam(value = "pdtId") String pdtId ,
			HttpServletResponse response,
			CartDedail cartRecord , Cart cart) {

		cartRecord.setPdtId(pdtId);
		
		if (cartCookieStr == null )  {
			cart.getCartRecords().add(cartRecord);
		}else{
			JSONObject jsonCart = JSONObject.fromObject(cartCookieStr);
		    cart = (Cart) JSONObject.toBean(jsonCart,Cart.class);  // Json转换成对象Cart
			cart.getCartRecords().add(cartRecord);
		}
		
		String cartCookie = JSONObject.fromObject(cart).toString();//Cart转换成对象Json
		Cookie cookie = new Cookie("cartCookie",cartCookie);
		cookie.setMaxAge(60*60*24*7);//保留7天
		response.addCookie(cookie);
		
	}


主要使用到@CookieValue 这个注解 ,绑定请求的一个cookie。用到它两个属性

1. value :cookie的名字

2. required 这个boolean类型的,指明是否为必须,默认是true,所以请求里没有指定的cookie会报异常,要设为false.

毕竟第一次增加到购物车时是没有指定那个cookie的。

3. 把cookie添加到response里面;如果方法类型是Cookie,SpringMVC自动帮你加到response里,前提是之前要有那个cookie,找不到则绑定不了。

4. 可以自己解释接受到的cookie的json数据,这里我用Json-lib 的jar包,可以把它转换成对象;

Json-lib 的依赖包在Maven Pom.xml的配置如下:

	<dependency>
		<groupId>net.sf.json-lib</groupId>
		<artifactId>json-lib</artifactId> 
		<version>2.4</version>
		<classifier>jdk15</classifier>
	</dependency>

二、查看购车

也是一样,@CookieValue get到cookie后解析json数据就可以了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值