クッキーの使い方
新規クッキー
一般的な方法でクッキーを取得
SpringMVCクッキー取得
ここでrequired=falseは、クッキーからusernameの値を強制的に取得しないことを示すので、usernameがnullである可能性があります.required=trueと書くと、クッキーが取れない場合に異常が放出されます.
普通にクッキーを書く
SpringMVC方式でクッキーを書くのは普通の方式でクッキーを書くのと変わらないが、現在の方法がnullを返す、つまりページを歩いてジャンプしていないと、クッキー値をクライアントに書くことができない.
js方式でクッキーを書く
ジャンプ以外のリクエストではクッキーは書けないので、jsでクッキーを書くことができます.
js方式読み取りクッキー
クッキー自体は中国語の記憶が許されないので、事前に文字をトランスコードする必要があります.トランスコードはescape,unescapeを使用できます.具体的な使い方はネットで検索できます.
Cookie cookie = new Cookie("isAutoLogin", "0");// isAutoLogin, 0 cookie
cookie.setMaxAge(365*24*60*60);// cookie , , , 。
cookie.setSecure(false);// , https ssl, , false
cookie.setPath("/");// cookie, 。 , "/"
cookie.setDomain(".bb.com");// 。 www.aa.com, www.bb.com cookie , , www.bb.com cookie 。
response.addCookie(cookie);// HttpServletResponse cookie 。
一般的な方法でクッキーを取得
Cookie[] cookies = request.getCookies();
for (Cookie cookie : cookies) {
if ("username".equals(cookie.getName())) {
usernameCookie = cookie.getValue(); // cookie
}else if ("password".equals(cookie.getName())) {
passwordCookie = cookie.getValue(); // cookie
}else if ("isAutoLogin".equals(cookie.getName())) {
isAutoLogin = cookie.getValue(); // cookie
}
}
SpringMVCクッキー取得
@RequestMapping(value="/index")
public String index(HttpServletRequest request,HttpServletResponse response, @CookieValue(value="username", required=false) String username) throws Exception{
//TODO String aa = username;
}
ここでrequired=falseは、クッキーからusernameの値を強制的に取得しないことを示すので、usernameがnullである可能性があります.required=trueと書くと、クッキーが取れない場合に異常が放出されます.
普通にクッキーを書く
response.addCookie(cookie);// HttpServletResponse cookie 。
SpringMVC方式でクッキーを書くのは普通の方式でクッキーを書くのと変わらないが、現在の方法がnullを返す、つまりページを歩いてジャンプしていないと、クッキー値をクライアントに書くことができない.
js方式でクッキーを書く
ジャンプ以外のリクエストではクッキーは書けないので、jsでクッキーを書くことができます.
var exdate=new Date();
var expireDays=365; // cookie
exdate.setTime(exdate.getTime() + expireDays*24*3600*1000);
document.cookie = "username=" + $("#username").val() + ";expires=" + exdate.toGMTString() + ";path=/";// cookie, 。cookie GMT 。
document.cookie = "password=" + $("#password").val() + ";expires=" + exdate.toGMTString() + ";path=/";
document.cookie = "isAutoLogin=1;expires=" + exdate.toGMTString() + ";path=/";
//document.cookie = '' cookie
js方式読み取りクッキー
function getCookie(c_name){
if (document.cookie.length>0){
c_start=document.cookie.indexOf(c_name + "=")
if (c_start!=-1){
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) {c_end=document.cookie.length}
return document.cookie.substring(c_start,c_end)
}
}
return ""
}
クッキー自体は中国語の記憶が許されないので、事前に文字をトランスコードする必要があります.トランスコードはescape,unescapeを使用できます.具体的な使い方はネットで検索できます.