>  기사  >  Java  >  Java 쿠키에 대한 자세한 설명과 간단한 예

Java 쿠키에 대한 자세한 설명과 간단한 예

高洛峰
高洛峰원래의
2017-01-18 14:35:341303검색

Java의 쿠키에 대한 자세한 설명

Java의 쿠키 작동은 비교적 간단합니다. 주로 쿠키의 생성과 읽기, 쿠키의 수명 주기 설정 방법 및 쿠키의 경로를 소개합니다.

라이프사이클이 없는 쿠키, 즉 브라우저를 닫으면 사라지는 쿠키를 생성합니다. 코드는 다음과 같습니다

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

다음은 쿠키를 생성합니다.

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

쿠키를 읽는 방법은 다음과 같습니다.

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

위는 기본적인 쿠키 읽기 및 쓰기 작업입니다. 실제로는 쿠키를 추가하는 등 이를 캡슐화하는 것이 좋습니다. 쿠키의 이름, 값 및 수명 주기에 중점을 두므로 함수를 캡슐화하고 물론 응답 개체를 전달합니다.

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

쿠키를 읽을 때 작업을 용이하게 하기 위해 쿠키 이름을 제공하는 한 기능을 캡슐화하기를 바랍니다. , 쿠키의 값을 얻을 수 있습니다. 쿠키를 맵으로 캡슐화하는 것을 생각하기 쉽기 때문에 다음과 같이 캡슐화합니다.

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

읽어주셔서 감사합니다. 모두에게 도움이 되기를 바랍니다. 모두 감사합니다. 이 사이트를 지원하세요!

Java 쿠키에 대한 자세한 설명과 간단한 예를 보려면 PHP 중국어 웹사이트를 참고하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.