자바 쿠키 의 첨삭 검사
10373 단어 도구 클래스
package com.test.cookie;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/*
* Cookie crud
* :
* Cookie2 :
* 1, foreach value;
* 2 map
*/
public class CookieUtils {
// ,
// , // java.lang.IllegalArgumentException: Control character in cookie value or attribute
public static void addCookie(HttpServletResponse response, String name,
String value, int maxAge) {
// , ,
String utfvalue = null;
try {
utfvalue = URLEncoder.encode(value.trim(), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Cookie cookie = new Cookie(name.trim(), utfvalue);
// , Cookie , !
if (maxAge > 0) {
cookie.setMaxAge(maxAge);//
}
// , cookie; , cookie
cookie.setPath("/");
//
response.addCookie(cookie);
// System.out.println(" !");
}
//
// 2 , foreach value, 2 map
// , name cookie , name
public static Cookie getCookie(HttpServletRequest request, String name) {
Map map = getCookieMap(request, name);
if (map.containsKey(name)) {
return map.get(name);
}
return null;
}
private static Map getCookieMap(HttpServletRequest request,
String name) {
Cookie coos[] = request.getCookies();
Map cookieMap = new HashMap<>();
if (coos != null) {
for (Cookie cookie : coos) {
cookieMap.put(cookie.getName(), cookie);
}
}
return cookieMap;
}
// ,
public static String getCookieValue(HttpServletRequest request, String name) {
Cookie coos[] = request.getCookies();
if (coos != null) {
for (Cookie cookie : coos) {
if (cookie.getName().equals(name)) {
try {
// ,
return URLDecoder.decode(cookie.getValue(), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
}
return null;
}
// , value
// 、 Cookie , Cookie value、maxAge , name、path、domain , Cookie 。
// , Cookie , 、 。
// :1, cookie.getName().equals(name),
// 2, addCookie
// 1
// Cookie 1 ( , Cookie )
public static boolean updateCookie(HttpServletRequest request,HttpServletResponse response, String name, String value) {
return updateCookie(request, response, name, value, 1*24*60*60);
}
// Cookie
public static boolean updateCookie(HttpServletRequest request,
HttpServletResponse response, String name, String value,int maxAge) {
String utfvalue=null;
try {
//
utfvalue=URLEncoder.encode(value.trim(), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Cookie coos[] = request.getCookies();
boolean flag = false;
if (coos != null) {
for (Cookie cookie : coos) {
if (cookie.getName().equals(name)) {
try {
System.out.println(" :" + URLDecoder.decode(cookie.getValue(), "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
cookie.setValue(utfvalue);
cookie.setPath("/");
cookie.setMaxAge(maxAge);
response.addCookie(cookie);
flag = true;
break;
}
}
if (flag==false) {
System.out.println(" Cookie!");
}
}
return flag;
}
//
// 1: ,
public static boolean deleteCookie(HttpServletRequest request,
HttpServletResponse response, String name) {
Cookie coos[] = request.getCookies();
boolean flag = false;
if (coos != null) {
for (Cookie cookie : coos) {
if (cookie.getName().equals(name)) {
//cookie.setValue(null);
//
cookie.setMaxAge(0);
cookie.setPath("/");
response.addCookie(cookie);
System.out.println(" cookie :"+cookie.getName());
flag=true;
break;
}
}
}
return flag;
}
// 2: , , ,
public static void deleteCookie1( HttpServletResponse response,String name){
Cookie cookie = new Cookie(name, null);
cookie.setMaxAge(0);
cookie.setPath("/");
response.addCookie(cookie);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 파일 읽 기 도구 클래스package com.lb.util; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; im...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.