[セットトップ]javaによるクッキーの操作

4872 ワード

JAvaはクッキーの操作が簡単で、主にクッキーの確立とクッキーの読み取り、クッキーのライフサイクルとクッキーのパスを設定する方法について紹介します.
 
無ライフサイクルのクッキーを作成します.つまり、ブラウザが閉じるにつれて消えてしまうクッキーです.コードは次のとおりです.
1
2
3
4 HttpServletRequest request  HttpServletResponse response Cookie cookie = new   Cookie( "cookiename" , "cookievalue" ); response.addCookie(cookie);
 
ライフサイクルのあるクッキーを作成し、ライフサイクルを設定します.
1
2
3
4
5
6
7
8 cookie = new   Cookie( "cookiename" , "cookievalue" );
  cookie.setMaxAge( 3600 );
  // , cookie , cookie
  cookie.setPath( "/" ); response.addCookie(cookie);
 
次に、クッキーを読み取る方法について説明します.クッキーコードを読み取るには、次のようにします.
1
2
3
4
5 Cookie[] cookies = request.getCookies(); // cookie for (Cookie cookie : cookies){      cookie.getName(); // get the cookie name      cookie.getValue(); // get the cookie value }
 
上は基本的な読み書きクッキーの操作です.私たちは実際にパッケージを行ったほうがいいです.例えば、クッキーを追加します.私たちはクッキーのname、value、ライフサイクルに注目しています.だから、関数をパッケージします.もちろん、responseオブジェクトも入ります.addCookie()コードは以下の通りです.
1
2
3
4
5
6
7
8
9
10
11
12
13 /**   * cookie   * @param response   * @param name  cookie   * @param value cookie   * @param maxAge cookie     */ public   static   void   addCookie(HttpServletResponse response,String name,String value, int   maxAge){      Cookie cookie = new   Cookie(name,value);      cookie.setPath( "/" );      if (maxAge> 0 )  cookie.setMaxAge(maxAge);      response.addCookie(cookie); }
 
クッキーを読み取るとき、私たちの操作を便利にするために、私たちは関数をカプセル化したいと思っています.クッキーの名前を提供すれば、クッキーのvalueを取得することができます.この考えを持って、クッキーをMapにカプセル化することを容易に考えて、次のカプセル化を行います.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 /**   * cookie   * @param request   * @param name cookie   * @return   */ public   static   Cookie getCookieByName(HttpServletRequest request,String name){      Map<String,Cookie> cookieMap = ReadCookieMap(request);      if (cookieMap.containsKey(name)){          Cookie cookie = (Cookie)cookieMap.get(name);          return   cookie;      } else {          return   null ;      }   }
 
 
  /**   * cookie Map   * @param request   * @return   */ private   static   Map<String,Cookie> ReadCookieMap(HttpServletRequest request){       Map<String,Cookie> cookieMap = new   HashMap<String,Cookie>();      Cookie[] cookies = request.getCookies();      if ( null !=cookies){          for (Cookie cookie : cookies){              cookieMap.put(cookie.getName(), cookie);          }      }      return   cookieMap; }