JSP 15強—Cookie
13740 ワード
Cookie(Cookie)
クッキー(cookie)は、Webブラウザに保存されたデータであり、Webサーバに要求を送信する際にWebサーバに送信する
さぎょうモード
CookieがWebブラウザに格納されている場合、WebブラウザはCookieが削除されるまでCookieをWebサーバに送信します.
Cookieを使用してWebアプリケーションを保存する際に継続的に保持する必要がある情報
クッキーの構成
コンポーネント
クッキーの名前にはアスキーコードのアルファベットと数字しか含まれていません.
カンマ(,),セミコロン(;),スペース("")などの文字を含めることはできません.
$で始まることはできません.
通常、Cookie名の作成にはアルファベットと数字のみが使用されます
Cookie値の作成時に適切な符号化を行う
他の有効時間が指定されていない場合は、Webブラウザを終了すると同時にCookieが削除されます.Cookieを指定したドメインまたはパスにのみ転送するように制限することもできます
JSPでのCookieの作成/読み込み
<%
Cookie cookie = new Cookie("cookieName", "cookieValue");
response.addCookie(cookie);
%>
クライアントから送信されたCookieの読み取り
Cookie[] cookies = request.getCookies();
主な読み取り方法
方法 かいふく 説明getName() String クッキーの名前を求めます.
getValue() String クッキーの値段を求める.
Cookie値の符号化/復号処理
Cookieの値にはハングルと同じ文字は含まれません
->Cookieの値をエンコードして値を指定する必要があります
Cookie値の処理
->値を設定する場合:URLEncoder.encode(「値」、「euc-kr」)
はい、new Cookie(「name」,URLEncoder.encode(「値」,「euc-kr」)です.
->値の問合せ時:URLDecoder.decode(「値」,「euc-kr」)
Cookie cookie = …;
String value = URLDecoder.decode(cookie.getValue(), "euc-kr");
Cookie値の変更
Cookie[] cookies = request.getCookies();
if(cookies!=null && cookies.length > 0){
for(int i = 0; i<cookies.length; i++){
if(cookies[i].getName().equals("name")){
Cookie cookie = new Cookie(name, value);
response.addCookie(cookie);
}
}
}
Cookieの削除
-> Cookie.setMaxAge(0);
[クッキー]整理
[原句]クッキーって何?
例)アイデンティティの保存
ビスケットの作り方は?
Cookie cookie = new Cookie("memberid", "admin");
response.addCookie(cookie);
クッキーを削除しますか?
cookie.setMaxAge(0);
response.addCookie(cookie);
Cookieを作成しますか?
Cookie cookie = new Cookie(String name, String value);
Cookie情報の取得
削除
cookie01.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>Cookie</title>
</head>
<body>
<form method="post" action="cookie01_process.jsp">
<p>아 이 디 : <input type="text" name="id" /></p>
<p>비밀번호 : <input type="text" name="passwd" /></p>
<p><input type="submit" value="전송" /></p>
</form>
</body>
</html>
cookie01_process.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>Cookie</title>
</head>
<body>
<%
//?id=admin&passwd=1234
String user_id = request.getParameter("id");
String user_pw = request.getParameter("passwd");
if(user_id.equals("admin")&&user_pw.equals("1234")){
//Cookie 객체 생성
Cookie cookie_id = new Cookie("userID", user_id);
Cookie cookie_pw = new Cookie("userPW", user_pw);
response.addCookie(cookie_id);
response.addCookie(cookie_pw);
out.print("쿠키 생성 성공!");
out.print(user_id + "님 환영합니다");
}else{
out.print("쿠키 생성 실패");
}
%>
</body>
</html>
cookie02.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
//쿠키 정보를 얻어오기
Cookie[] cookies = request.getCookies();
for(int i=0; i<cookies.length; i++){
out.print("설정된 쿠키의 속성 명 [" + i + "] : " + cookies[i].getName() + "<br>");
out.print("설정된 쿠키의 속성 값 [" + i + "] : " + cookies[i].getValue() + "<br>");
out.print("===============================<br>");
}
%>
detele.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>Cookie</title>
</head>
<body>
<%
Cookie[] cookies = request.getCookies();
for(int i=0; i<cookies.length; i++){
//쿠키 삭제 : 유효기간을 0으로 설정
cookies[i].setMaxAge(0);
response.addCookie(cookies[i]);
}
response.sendRedirect("cookie02.jsp");
%>
</body>
</html>
Reference
この問題について(JSP 15強—Cookie), 我々は、より多くの情報をここで見つけました https://velog.io/@hazel_jo/JSP-스프링-15강-쿠키-장바구니-만들기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol