前言
- 在之前学习servlet的时候,当时做的小网站需要登陆并且判断信息,当时使用session传值,使用fitter过滤判断,当时感觉哇,session咋这么好用,cookie是啥玩意,还不方便。
- 后来在学习ssm做项目遇到需要登陆的状态,在html无法使用session,只能学习cookie了,对于cookie只是在爬虫中用过,为了爬去登陆后的页面,看来那些网站都是用cookie保持会话的呢。
- 用了cookie发现cookie也很方便。但是js操作cookie很麻烦用jquery就很简单。
前端需要引入
<script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="js/jquery.cookie.js"></script>
.添加一个"会话cookie"
$.cookie('cookie’name, ‘cookievalue’);
读取cookie
$.cookie(‘the_cookie’);
5.删除cookie
$.cookie(‘cookiename’, null); //通过传递null作为cookie的值即可
还有更多操作请百度。
后端操作demo
@RequestMapping(value="/admin") public String admin(HttpServletRequest request, HttpServletResponse respose) { if(request.getMethod().equals("GET")) { Cookie[] cookies = request.getCookies(); if(cookies!=null &&cookies.length>0)//判断是否已经登陆已经登陆 { for (Cookie cookie : cookies) { if(cookie.getName().equals("userid")&&cookie.getValue()!=null) { List<Map> map = foodmapper.getadmin(cookie.getValue()); if(map.size()>0) return "admin"; else { return "login"; } } } } return "login"; } else { String username = request.getParameter("username"); List<Map> map = foodmapper.getadmin(username); if(map.size()==0){return "login";} String password = (String) map.get(0).get("password"); System.out.println(password); if (username.equals(map.get(0).get("username"))&&password.equals(request.getParameter("password"))) { Cookie cookie = new Cookie("userid", username); respose.addCookie(cookie); return "admin"; } else return "default"; } }
对比起来还是客户端的cookie好用,他就像map一条记录,而后台的更像是cookie数组。需要遍历。