IT/Jsp

jsp - cookie 저장, 삭제

노마드오브 2018. 9. 13. 22:07

파일명 : cookieTest.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<%

String name = "쿠키값없음";

// 쿠키값 가져오기

// 해당 사이트에 첫번째 방문이면 쿠키값을 받지 않았으므로

// 이때 getCookies() 반환값은 null이 됨

Cookie[] cookies = request.getCookies();

if (cookies != null) {

// for (int i=0; i<cookies.length; i++) {

// if (cookies[i].getName().equals("name")) {

// name = cookies[i].getValue();

// }

// }

for (Cookie cookie : cookies) {

if (cookie.getName().equals("name")) {

name = cookie.getValue();

}

}

}

%>

<h1>cookieTest.jsp 페이지</h1>

<h3><%=name %></h3>

<input type="button" value="쿠키값저장" onclick="location.href='cookieSet.jsp'">

<input type="button" value="쿠키값삭제" onclick="location.href='cookieDel.jsp'">

</body>

</html>



파일명 : cookieSet.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<%

// 쿠키생성

Cookie cookie = new Cookie("name", "CookieValue");

Cookie cookie2 = new Cookie("name2", "CookieValue2");


// 쿠키 시간설정(유통기한 설정) 초단위 

cookie.setMaxAge(60*10); // 초단위. 60초*10=10분

cookie2.setMaxAge(60*5); // 5분

// 클라이언트에게 보내기

response.addCookie(cookie);

response.addCookie(cookie2);

%>

<script>

alert('쿠키값 생성');

location.href = 'cookieTest.jsp';

</script>

</body>

</html>



파일명 : cookieDel.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<%

// 쿠키값 가져오기

Cookie[] cookies = request.getCookies();

// 쿠키값 삭제

// 삭제할 쿠키의 유효기간을 0으로 설정 후

// 다시 클라이언트(브라우저)에 보냄

if (cookies != null) {

for (Cookie cookie : cookies) {

if (cookie.getName().equals("name")) {

cookie.setMaxAge(0);

response.addCookie(cookie);

}

}

}

%>

<script>

alert('쿠키값 삭제');

location.href = 'cookieTest.jsp';

</script>

</body>

</html>



파일명 : cookieForm.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<%

String lang = "korean";

// 쿠키값 가져오기  "lang"

Cookie[] cookies = request.getCookies();

if (cookies != null) {

for (Cookie cookie : cookies) {

if (cookie.getName().equals("lang")) {

lang = cookie.getValue();

}

}

}

%>

<h1>cookieForm.jsp 페이지</h1>

<hr>

<%

if (lang.equals("korean")) {

%>

<h2>안녕하세요. 이것은 쿠키 예제입니다.</h2>

<%

} else if (lang.equals("english")) {

%>

<h2>Hello. This is a Cookie Example.</h2>

<%

}

%>


<form action="cookiePro.jsp" method="post">

<input type="radio" name="language" value="korean" 

<% if (lang.equals("korean")) { %>checked<% } %>>한국어 페이지보기

<input type="radio" name="language" value="english" 

<% if (lang.equals("english")) { %>checked<% } %>>영어 페이지보기

<br>

<input type="submit" value="언어설정">

</form>

</body>

</html>



파일명 : cookiePro.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<%

// "language" 파라미터 값 가져오기

String lang = request.getParameter("language");

// 쿠키값 생성 "language" 파라미터에서 가져온 값

Cookie cookie = new Cookie("lang", lang);

// 유효시간 설정 (쿠키 유통기한)

cookie.setMaxAge(60*60*24); // 하루 24시간

// 클라이언트로 보내기(저장)

response.addCookie(cookie);

%>

<script>

alert('쿠키값 생성');

location.href = 'cookieForm.jsp';

</script>


</body>

</html>