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!