Java 쿠키 세트 및 검색, 보안 속성
소개
사전에 준비하는 외부 라이브러리 등은 없습니다.
구현 예
쿠키를 관리하는 클래스를 정의합니다.
CookieTest.java
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 *
 * @author tool-taro.com
 */
public class CookieTest {
    public static String getCookie(HttpServletRequest request, String name) {
        String result = null;
        Cookie[] cookies = request.getCookies();
        if (cookies != null) {
            for (Cookie cookie : cookies) {
                if (name.equals(cookie.getName())) {
                    result = cookie.getValue();
                    break;
                }
            }
        }
        return result;
    }
    public static void setCookie(HttpServletRequest request, HttpServletResponse response, String path, String name, String value, int maxAge) {
        Cookie cookie = new Cookie(name, value);
        cookie.setMaxAge(maxAge);
        cookie.setPath(path);
        //httpsで稼働している環境であればCookieが暗号化されるようSecure属性をつける
        if ("https".equals(request.getScheme())) {
            cookie.setSecure(true);
        }
        response.addCookie(cookie);
    }
}
쿠키 관리 메커니즘의 준비가 끝났습니다.
샘플에서는 동작 확인하기 쉽도록 jsp로 구현하고 있습니다.
cookie_test.jsp
<%-- 
    Author     : tool-taro.com
--%>
<%@page import="CookieTest"%>
<%@page contentType="text/html" pageEncoding="UTF-8" session="false" %>
<%
        //Cookieから"test_cookie_name"というKeyで登録された値(文字列)を取り出す
        String value = CookieTest.getCookie(request, "test_cookie_name");
        //valueがnullの場合のみCookieをセットする(期限は5分)
        if (value == null) {
                CookieTest.setCookie(request, response, "/", "test_cookie_name", "test_cookie_value", 5 * 60);
        }
%>
<!DOCTYPE html>
<html>
    <head>
        <title>tool-taro.com</title>
    </head>
    <body>
        取得した値="<%= value%>"<br>
    </body>
</html>
동작 확인
cookie_test.jsp의 실행 결과를 살펴 보겠습니다.
取得した値="null"
예상대로 결과를 얻었습니다.
두 번째 액세스는 다음과 같은 결과를 낳습니다.
取得した値="test_cookie_value"
예상대로 결과를 얻었습니다.
브라우저에서 쿠키가 관리되는 상황을 확인합니다.
경로와 만료일이 지정된대로 관리됩니다.
또한 https로 액세스 한 경우에만 "Secure"속성을 지정하고 있으므로,
클라이언트(브라우저)로부터의 쿠키 송신의 취급에 대해서 차이가 나옵니다.
http

https

환경
개발
동작 검증
웹 도구도 공개하고 있습니다.
웹 편리 도구 @ 도구 타로
Reference
이 문제에 관하여(Java 쿠키 세트 및 검색, 보안 속성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tool-taro/items/f3ca59652f222761965e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)