Heim  >  Artikel  >  Java  >  Ausführliche Erklärung und einfache Beispiele für Cookies in Java

Ausführliche Erklärung und einfache Beispiele für Cookies in Java

高洛峰
高洛峰Original
2017-01-18 14:35:341255Durchsuche

Ausführliche Erklärung von Cookies in Java

Die Funktionsweise von Cookies in Java ist relativ einfach. Sie führt hauptsächlich in die Erstellung und das Lesen von Cookies ein und erläutert, wie der Lebenszyklus von Cookies und der Pfad von Cookies festgelegt werden.

Erstellen Sie ein Cookie ohne Lebenszyklus, das heißt, ein Cookie, das verschwindet, wenn der Browser geschlossen wird. Der Code lautet wie folgt

HttpServletRequest
 request
HttpServletResponse
 response
Cookie
 cookie = new Cookie("cookiename","cookievalue");
response.addCookie(cookie);

Das Folgende wird erstellt Ein Cookie mit einem Lebenszyklus-Cookie, Sie können seinen Lebenszyklus festlegen

cookie
 = new Cookie("cookiename","cookievalue");
  
cookie.setMaxAge(3600);
  
//设置路径,这个路径即该工程下都可以访问该cookie
 如果不设置路径,那么只有设置该cookie路径及其子路径可以访问
  
cookie.setPath("/");
response.addCookie(cookie);

Im Folgenden wird beschrieben, wie Cookies gelesen werden. Der Code zum Lesen von Cookies lautet wie folgt

Cookie[]
 cookies = request.getCookies();//这样便可以获取一个cookie数组
for(Cookie
 cookie : cookies){
  cookie.getName();//
 get the cookie name
  cookie.getValue();
//
 get the cookie value
}

Das Obige ist der grundlegende Vorgang zum Lesen und Schreiben von Cookies. In der Praxis kapseln wir es besser, indem wir beispielsweise einen Cookie hinzufügen. Wir konzentrieren uns auf den Namen, den Wert und den Lebenszyklus des Cookies, also kapseln wir eine Funktion und übergeben natürlich den addCookie()-Code ist wie folgt

/**
 *
 设置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);
}

Um unseren Betrieb zu erleichtern, hoffen wir, eine Funktion zu kapseln, sofern wir den Namen angeben Mit dem Cookie können wir den Cookie-Wert erhalten. Mit dieser Idee können wir uns leicht vorstellen, Cookies in eine Karte zu kapseln, sodass die folgende Kapselung durchgeführt wird

/**
 *
 根据名字获取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;
}

Danke fürs Lesen, ich hoffe, es kann helfen. Vielen Dank für Ihre Unterstützung dieser Website!

Ausführlichere Erklärungen und einfache Beispiele für Cookies in Java finden Sie auf der chinesischen PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn