首先要导入js文件:<script src="assets/plugins/jquery.cookie.js"></script>
cookie里头存的是键值对<key,value> 如:<JSESSIONID,XXX> 、<username,dandanxu>
接着静态页面上的写法:
<div>
<input name="login" type="button" id="login" value="登 录" οnclick="login_submit()" />
<span ><a href="">记住账号</a></span>
<input name="checkbox" id="saveid" type="checkbox" οnclick="saveCookie();" style="padding-top:0px;">
</div>
接着是js函数:
function saveCookie(){
if(!$("#saveid").attr("checked")){ //这边判断checkbox有没有被选中,需要细心做点判断
$.cookie('username', $("#username").val(), {
expires:7
});
}
}
java后台获取到cookie的名字:
public ModelAndView adminlogin(HttpServletRequest request) throws Exception{
//java中获取cooike对象,如果只能取到<JSESSIONID,value>,则要判断cookie是否写入成功
Cookie[] cookie = request.getCookies();
for (int i = 0; i < cookie.length; i++) {
Cookie cook = cookie[i];
if(cook.getName().equalsIgnoreCase("username" )){ //获取键
System.out.println("username:" +cook.getValue().toString()); //获取值
}
}
//HttpSession session = request.getSession();
//session.setAttribute("username", username); //session的存
return new ModelAndView(new MappingJackson2JsonView(),map);
}
像上面这么做,就能获取到前台传进来的cookie( 名为username )的值了。
虽然上面实现了cookie的存和取,但cookie和session具体是怎么互动,并没有掌握得很清楚,接下来会慢慢揭开。
我在调试的过程中将variable的视图相应的存下来以备更好理解:
创建:
Cookie[] cookie = request. getCookies();
创建
Cookie cook = cookie[i];
创建
HttpSession session = request.getSession();