๐์ฟ ํค(Cookie) : ์๋ฒ(์นํ๋ก๊ทธ๋จ)์ ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )์ ์ฐ๊ฒฐ ์ง์์ฑ์ ์ ๊ณตํ๊ธฐ ์ํด ํด๋ผ์ด์ธํธ์ ์ ์ฅ๋๋ ๊ฐ
โ ์ฟ ํค๋ ์ ์ ์๋ฒ ์ ๋ณด๋ฅผ ์๋ณ์๋ก ๊ตฌ๋ถํ์ฌ ํด๋ผ์ด์ธํธ์ ์ ์ฅ
๐ข 1.Cookie ํด๋์ค๋ก ๊ฐ์ฒด ์์ฑ
โ Cookie ๊ฐ์ฒด : ์ฟ ํค ๊ด๋ จ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๊ฐ์ฒด
๐ Cookie(String name, String Value) : ์ฟ ํค๋ช ๊ณผ ์ฟ ํค๊ฐ์ ๋งค๊ฐ๋ณ์์ ์ ๋ฌํ์ฌ ๊ฐ์ฒด ์์ฑ
โ ์ฟ ํค๋ช : ์ฟ ํค๊ฐ์ ๊ตฌ๋ถํ๊ธฐ ์ํ ์๋ณ์
โ ์ฟ ํค๊ฐ : ์ฐ๊ฒฐ ์ง์์ฑ์ ์ ๊ณตํ๊ธฐ ์ํ ๋ฌธ์๊ฐ
โ ์ฟ ํค๋ช ๊ณผ ์ฟ ํค๊ฐ์ ์๋ฌธ์,์ซ์,์ผ๋ถ ํน์๋ฌธ์๋ง ์ฌ์ฉํ์ฌ ์์ฑ ๊ฐ๋ฅCookie idCookie=new Cookie("id", "abc123"); Cookie countCookie=new Cookie("count", "0");
โป ์๋ฐ์์ ์ ๊ณตํ๋ ํด๋์ค์ฌ์ฉ(์ฒซ๋ฒ์งธ๊ฑฐ)
๐ข 2.ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌ๋์ด ์ ์ฅ๋ ์ฟ ํค์ ์ ์ง์๊ฐ ๋ณ๊ฒฝ
๐ Cookie.setMaxAge(int expiry) : ์ฟ ํค์ ์ ์ง์๊ฐ(์ด)์ ๋ณ๊ฒฝํ๋ ๋ฉ์๋
๐ ์ฟ ํค์ ์ ์ง์๊ฐ์ ๋ณ๊ฒฝํ์ง ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ์ [-1๋ก] ์๋ ์ค์
โ ์ฟ ํค์ ์ ์ง์๊ฐ์ด [-1]๋ก ์ค์ ๋ ๊ฒฝ์ฐ ์ฟ ํค๋ ๋ธ๋ผ์ฐ์ ์ข ๋ฃ์ ์๋ ์๋ฉธcountCookie.setMaxAge(24*60*60);
โป ์ฟ ํค ์ ์ง์๊ฐ : 1์ผ
๐ข 3.ํด๋ผ์ด์ธํธ์๊ฒ ์ฟ ํค๋ฅผ ์ ๋ฌ - ์ฟ ํค๋ฅผ ์ ๋ฌ ๋ฐ์ ํด๋ผ์ด์ธํธ๋ ์ฟ ํค๋ฅผ ์ ์ฅ
โ ์ฟ ํค์ ์ ์ง์๊ฐ์ ๋ณ๊ฒฝํ์ง ์์ ์ฟ ํค๋ ๋ธ๋ผ์ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ - ๋ธ๋ผ์ฐ์ ์ข ๋ฃ์ ์๋ ์๋ฉธ(idCookie)
โ ์ฟ ํค์ ์ ์ง์๊ฐ์ ๋ณ๊ฒฝํ ์ฟ ํค๋ ์ฟ ํค ํ์ผ์ ์ ์ฅ - ์ ์ง์๊ฐ์ด ์ง๋๋ฉด ์๋ ์๋ฉธ(countCookie)
๐ HttpServletResponse.addCookie(Cookie cookie) : ํด๋ผ์ด์ธํธ์๊ฒ ์ฟ ํค(Cookie ๊ฐ์ฒด)๋ฅผ ์ ๋ฌํ๋ ๋ฉ์๋response.addCookie(idCookie); response.addCookie(countCookie);
๐ข Cookie ํ์ธํ๋ ๋ฐฉ๋ฒ
ํ์ด์ง ์ค๋ฅธ์ชฝ ํด๋ฆญ โ ๊ฒ์ฌ โ Application โ Cookie
๐CookieCreateServlet.java
package xyz.itwill.servlet; // import java.io.IOException; import java.io.PrintWriter; // import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; // //์ฟ ํค๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌํ๋ ์๋ธ๋ฆฟ //์ฟ ํค(Cookie) : ์๋ฒ(์นํ๋ก๊ทธ๋จ)์ ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )์ ์ฐ๊ฒฐ ์ง์์ฑ์ ์ ๊ณตํ๊ธฐ ์ํด ํด๋ผ์ด์ธํธ์ ์ ์ฅ๋๋ ๊ฐ //โ ์ฟ ํค๋ ์ ์ ์๋ฒ ์ ๋ณด๋ฅผ ์๋ณ์๋ก ๊ตฌ๋ถํ์ฌ ํด๋ผ์ด์ธํธ์ ์ ์ฅ @WebServlet("/create.itwill") public class CookieCreateServlet extends HttpServlet { private static final long serialVersionUID = 1L; // protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out=response.getWriter(); // //1.Cookie ํด๋์ค๋ก ๊ฐ์ฒด ์์ฑ //โ Cookie ๊ฐ์ฒด : ์ฟ ํค ๊ด๋ จ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๊ฐ์ฒด //Cookie(String name, String Value) : ์ฟ ํค๋ช ๊ณผ ์ฟ ํค๊ฐ์ ๋งค๊ฐ๋ณ์์ ์ ๋ฌํ์ฌ ๊ฐ์ฒด ์์ฑ //โ ์ฟ ํค๋ช : ์ฟ ํค๊ฐ์ ๊ตฌ๋ถํ๊ธฐ ์ํ ์๋ณ์ //โ ์ฟ ํค๊ฐ : ์ฐ๊ฒฐ ์ง์์ฑ์ ์ ๊ณตํ๊ธฐ ์ํ ๋ฌธ์๊ฐ //โ ์ฟ ํค๋ช ๊ณผ ์ฟ ํค๊ฐ์ ์๋ฌธ์,์ซ์,์ผ๋ถ ํน์๋ฌธ์๋ง ์ฌ์ฉํ์ฌ ์์ฑ ๊ฐ๋ฅ Cookie idCookie=new Cookie("id", "abc123");//์๋ฐ์์ ์ ๊ณตํ๋ ํด๋์ค์ฌ์ฉ(์ฒซ๋ฒ์งธ๊ฑฐ) Cookie countCookie=new Cookie("count", "0"); // //2.ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌ๋์ด ์ ์ฅ๋ ์ฟ ํค์ ์ ์ง์๊ฐ ๋ณ๊ฒฝ //Cookie.setMaxAge(int expiry) : ์ฟ ํค์ ์ ์ง์๊ฐ(์ด)์ ๋ณ๊ฒฝํ๋ ๋ฉ์๋ //์ฟ ํค์ ์ ์ง์๊ฐ์ ๋ณ๊ฒฝํ์ง ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ์ [-1๋ก] ์๋ ์ค์ //โ ์ฟ ํค์ ์ ์ง์๊ฐ์ด [-1]๋ก ์ค์ ๋ ๊ฒฝ์ฐ ์ฟ ํค๋ ๋ธ๋ผ์ฐ์ ์ข ๋ฃ์ ์๋ ์๋ฉธ countCookie.setMaxAge(24*60*60);//์ฟ ํค ์ ์ง์๊ฐ : 1์ผ // //3.ํด๋ผ์ด์ธํธ์๊ฒ ์ฟ ํค๋ฅผ ์ ๋ฌ - ์ฟ ํค๋ฅผ ์ ๋ฌ ๋ฐ์ ํด๋ผ์ด์ธํธ๋ ์ฟ ํค๋ฅผ ์ ์ฅ //โ ์ฟ ํค์ ์ ์ง์๊ฐ์ ๋ณ๊ฒฝํ์ง ์์ ์ฟ ํค๋ ๋ธ๋ผ์ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ - ๋ธ๋ผ์ฐ์ ์ข ๋ฃ์ ์๋ ์๋ฉธ(idCookie) //โ ์ฟ ํค์ ์ ์ง์๊ฐ์ ๋ณ๊ฒฝํ ์ฟ ํค๋ ์ฟ ํค ํ์ผ์ ์ ์ฅ - ์ ์ง์๊ฐ์ด ์ง๋๋ฉด ์๋ ์๋ฉธ(countCookie) //HttpServletResponse.addCookie(Cookie cookie) : ํด๋ผ์ด์ธํธ์๊ฒ ์ฟ ํค(Cookie ๊ฐ์ฒด)๋ฅผ ์ ๋ฌํ๋ ๋ฉ์๋ response.addCookie(idCookie); response.addCookie(countCookie); // out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<meta charset='UTF-8'>"); out.println("<title>Servlet</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>์ฟ ํค ์ ๋ฌ</h1>"); out.println("<hr>"); out.println("<p>๋ค ์์ ์ฟ ํค ์๋ค.</p>"); out.println("<hr>"); out.println("<a href='read.itwill'>์ฟ ํค ์ฝ๊ธฐ</a>"); out.println("</body>"); out.println("</html>"); } }
โ ํด๋ผ์ด์ธํธ๋ ์์ฒญ URL ์ฃผ์์ ์ ์ ์๋ฒ ์ ๋ณด๋ฅผ ์ด์ฉํ์ฌ ํด๋น ์๋ฒ ์ ๋ณด๋ก ์ ์ฅ๋ ๋ชจ๋ ์ฟ ํค๋ฅผ ์นํ๋ก๊ทธ๋จ ์์ฒญ์ ๋ฌด์กฐ๊ฑด ์ ๋ฌ
๐ข 1.ํด๋ผ์ด์ธํธ์์ ๋ณด๋ด์จ ๋ชจ๋ ์ฟ ํค๋ฅผ ๋ฐํ๋ฐ์ ์ ์ฅ
๐ HttpServletRequest.getCookies() : ํด๋ผ์ด์ธํธ์์ ๋ณด๋ด์จ ๋ชจ๋ ์ฟ ํค๋ฅผ Cookie ๊ฐ์ฒด ๋ฐฐ์ด๋ก ๋ฐํํ๋ ๋ฉ์๋Cookie[] cookies=request.getCookies();
out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<meta charset='UTF-8'>"); out.println("<title>Servlet</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>์ฟ ํค ์ฝ๊ธฐ</h1>"); out.println("<hr>");
๐ข ํด๋ผ์ด์ธํธ์์ ๋ณด๋ด์จ ์ฟ ํค๊ฐ ์๋ ๊ฒฝ์ฐ
if(cookies==null) {//ํด๋ผ์ด์ธํธ์์ ๋ณด๋ด์จ ์ฟ ํค๊ฐ ์๋ ๊ฒฝ์ฐ out.println("<p>๋ค ์์ ์ฟ ํค ์๋ค.</p>"); } else { String id=""; String count="";
๐ข Cookie ๊ฐ์ฒด ๋ฐฐ์ด์ ์ ์ฅ๋ ์์(Cookie ๊ฐ์ฒด)๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์ ๊ณต๋ฐ์ ์ฒ๋ฆฌ
for(Cookie cookie:cookies) {
๐ข ํด๋ผ์ด์ธํธ์์ ๋ณด๋ด์จ ์ฟ ํค๋ค ์ค ์ฟ ํค๋ช ์ ๋น๊ตํ์ฌ ์ํ๋ ์ฟ ํค๊ฐ์ ๋ฐํ๋ฐ์ ์ ์ฅ
๐ Cookie.getName() : Cookie ๊ฐ์ฒด์ ์ ์ฅ๋ ์ฟ ํค๋ช ์ ๋ฐํํ๋ ๋ฉ์๋
๐ Cookie.getValue() : Cookie ๊ฐ์ฒด์ ์ ์ฅ๋ ์ฟ ํค๊ฐ์ ๋ฐํํ๋ ๋ฉ์๋if(cookie.getName().equals("id")) { id=cookie.getValue(); } else if(cookie.getName().equals("count")) { count=cookie.getValue(); } }
๐ข ํด๋ผ์ด์ธํธ์๊ฒ ์ฟ ํค๊ฐ์ ์ ๋ฌํ์ฌ ์ถ๋ ฅ
if(!id.equals("")) {//์ฟ ํค๊ฐ์ด ์๋ ๊ฒฝ์ฐ out.println("<p>์์ด๋ = "+id+"</p>"); } if(!count.equals("")) {//์ฟ ํค๊ฐ์ด ์๋ ๊ฒฝ์ฐ int cnt=Integer.parseInt(count)+1;//๋ฌธ์์ด์ ์ซ์๊ฐ์ผ๋ก ๋ณ๊ฒฝ out.println("<p>์๋ธ๋ฆฟ ์์ฒญํ์ = "+cnt+"</p>");
๐ข ํด๋ผ์ด์ธํธ์ ์ ์ฅ๋ ์ฟ ํค์ ์ด๋ฆ๊ณผ ๊ฐ์ ์ด๋ฆ์ ์ฟ ํค๋ฅผ ์ ๋ฌํ๋ฉด ์ฟ ํค๊ฐ ๋ณ๊ฒฝ
Cookie cookie=new Cookie("count", cnt+""); cookie.setMaxAge(24*60*60); response.addCookie(cookie); } }
out.println("<hr>"); out.println("<p><a href='create.itwill'>์ฟ ํค ์ ๋ฌ</a></p>"); out.println("<p><a href='remove.itwill'>์ฟ ํค ์ ๊ฑฐ</a></p>"); out.println("</body>"); out.println("</html>");
๐CookieReadServlet
package xyz.itwill.servlet; // import java.io.IOException; import java.io.PrintWriter; // import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; // //ํด๋ผ์ด์ธํธ์ ์ํด ์ ๋ฌ๋ ์ฟ ํค๋ฅผ ์ฝ์ด ์ฟ ํค๊ฐ์ ํด๋ผ์ด์ธํธ์ ์ ๋ฌํ๋ ์๋ธ๋ฆฟ //โ ํด๋ผ์ด์ธํธ๋ ์์ฒญ URL ์ฃผ์์ ์ ์ ์๋ฒ ์ ๋ณด๋ฅผ ์ด์ฉํ์ฌ ํด๋น ์๋ฒ ์ ๋ณด๋ก ์ ์ฅ๋ ๋ชจ๋ ์ฟ ํค๋ฅผ ์นํ๋ก๊ทธ๋จ ์์ฒญ์ ๋ฌด์กฐ๊ฑด ์ ๋ฌ @WebServlet("/read.itwill") public class CookieReadServlet extends HttpServlet { private static final long serialVersionUID = 1L; // protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out=response.getWriter(); // //1.ํด๋ผ์ด์ธํธ์์ ๋ณด๋ด์จ ๋ชจ๋ ์ฟ ํค๋ฅผ ๋ฐํ๋ฐ์ ์ ์ฅ //HttpServletRequest.getCookies() : ํด๋ผ์ด์ธํธ์์ ๋ณด๋ด์จ ๋ชจ๋ ์ฟ ํค๋ฅผ Cookie ๊ฐ์ฒด ๋ฐฐ์ด๋ก ๋ฐํํ๋ ๋ฉ์๋ Cookie[] cookies=request.getCookies(); // out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<meta charset='UTF-8'>"); out.println("<title>Servlet</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>์ฟ ํค ์ฝ๊ธฐ</h1>"); out.println("<hr>"); if(cookies==null) {//ํด๋ผ์ด์ธํธ์์ ๋ณด๋ด์จ ์ฟ ํค๊ฐ ์๋ ๊ฒฝ์ฐ out.println("<p>๋ค ์์ ์ฟ ํค ์๋ค.</p>"); } else { String id=""; String count=""; // //Cookie ๊ฐ์ฒด ๋ฐฐ์ด์ ์ ์ฅ๋ ์์(Cookie ๊ฐ์ฒด)๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์ ๊ณต๋ฐ์ ์ฒ๋ฆฌ for(Cookie cookie:cookies) { //ํด๋ผ์ด์ธํธ์์ ๋ณด๋ด์จ ์ฟ ํค๋ค ์ค ์ฟ ํค๋ช ์ ๋น๊ตํ์ฌ ์ํ๋ ์ฟ ํค๊ฐ์ ๋ฐํ๋ฐ์ ์ ์ฅ //Cookie.getName() : Cookie ๊ฐ์ฒด์ ์ ์ฅ๋ ์ฟ ํค๋ช ์ ๋ฐํํ๋ ๋ฉ์๋ if(cookie.getName().equals("id")) { //Cookie.getValue() : Cookie ๊ฐ์ฒด์ ์ ์ฅ๋ ์ฟ ํค๊ฐ์ ๋ฐํํ๋ ๋ฉ์๋ id=cookie.getValue(); } else if(cookie.getName().equals("count")) { count=cookie.getValue(); } } //ํด๋ผ์ด์ธํธ์๊ฒ ์ฟ ํค๊ฐ์ ์ ๋ฌํ์ฌ ์ถ๋ ฅ if(!id.equals("")) {//์ฟ ํค๊ฐ์ด ์๋ ๊ฒฝ์ฐ out.println("<p>์์ด๋ = "+id+"</p>"); } if(!count.equals("")) {//์ฟ ํค๊ฐ์ด ์๋ ๊ฒฝ์ฐ int cnt=Integer.parseInt(count)+1;//๋ฌธ์์ด์ ์ซ์๊ฐ์ผ๋ก ๋ณ๊ฒฝ out.println("<p>์๋ธ๋ฆฟ ์์ฒญํ์ = "+cnt+"</p>"); // //ํด๋ผ์ด์ธํธ์ ์ ์ฅ๋ ์ฟ ํค์ ์ด๋ฆ๊ณผ ๊ฐ์ ์ด๋ฆ์ ์ฟ ํค๋ฅผ ์ ๋ฌํ๋ฉด ์ฟ ํค๊ฐ ๋ณ๊ฒฝ Cookie cookie=new Cookie("count", cnt+""); cookie.setMaxAge(24*60*60); response.addCookie(cookie); } } out.println("<hr>"); out.println("<p><a href='create.itwill'>์ฟ ํค ์ ๋ฌ</a></p>"); out.println("<p><a href='remove.itwill'>์ฟ ํค ์ ๊ฑฐ</a></p>"); out.println("</body>"); out.println("</html>"); } }
โ ํด๋ผ์ด์ธํธ์ ์ ์ฅ๋ ์ฟ ํค์ ์ ์ง์๊ฐ์ [0]์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ์ฟ ํค ์ ๊ฑฐ
๐ข 1. ํด๋ผ์ด์ธํธ์์ ๋ณด๋ด์จ ๋ชจ๋ ์ฟ ํค๋ฅผ ๋ฐํ๋ฐ์ ์ ์ฅ
Cookie[] cookies=request.getCookies();
๐ข ํด๋ผ์ด์ธํธ์์ ๋ณด๋ด์จ ์ฟ ํค๊ฐ ์๋ ๊ฒฝ์ฐ
if(cookies!=null) {
๐ข Cookie ๊ฐ์ฒด ๋ฐฐ์ด์ ์ ์ฅ๋ ์์๊ฐ(Cookie ๊ฐ์ฒด)๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์ ๊ณต๋ฐ์ ์ฒ๋ฆฌ
for(Cookie cookie:cookies) {
๐ข ํด๋ผ์ด์ธํธ์์ ๋ณด๋ด์จ ์ฟ ํค์ ์ ์ง์๊ฐ์ [0]์ผ๋ก ๋ณ๊ฒฝํ์ฌ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌ
โ ์ ์ง์๊ฐ์ด ์ง๋ ์ฟ ํค๋ ํด๋ผ์ด์ธํธ์์ ์๋ ์๋ฉธ - ํด๋ผ์ด์ธํธ์ ์ ์ฅ๋ ์ฟ ํค ์ ๊ฑฐcookie.setMaxAge(0); response.addCookie(cookie); } }
๐CookieRemoveServlet
package xyz.itwill.servlet; // import java.io.IOException; import java.io.PrintWriter; // import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; // //ํด๋ผ์ด์ธํธ์ ์ ์ฅ๋ ๋ชจ๋ ์ฟ ํค๋ฅผ ์ ๊ฑฐํ๋ ์๋ธ๋ฆฟ //โ ํด๋ผ์ด์ธํธ์ ์ ์ฅ๋ ์ฟ ํค์ ์ ์ง์๊ฐ์ [0]์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ์ฟ ํค ์ ๊ฑฐ @WebServlet("/remove.itwill") public class CookieRemoveServlet extends HttpServlet { private static final long serialVersionUID = 1L; // protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out=response.getWriter(); // //1. ํด๋ผ์ด์ธํธ์์ ๋ณด๋ด์จ ๋ชจ๋ ์ฟ ํค๋ฅผ ๋ฐํ๋ฐ์ ์ ์ฅ Cookie[] cookies=request.getCookies(); // if(cookies!=null) {//ํด๋ผ์ด์ธํธ์์ ๋ณด๋ด์จ ์ฟ ํค๊ฐ ์๋ ๊ฒฝ์ฐ //Cookie ๊ฐ์ฒด ๋ฐฐ์ด์ ์ ์ฅ๋ ์์๊ฐ(Cookie ๊ฐ์ฒด)๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์ ๊ณต๋ฐ์ ์ฒ๋ฆฌ for(Cookie cookie:cookies) { //ํด๋ผ์ด์ธํธ์์ ๋ณด๋ด์จ ์ฟ ํค์ ์ ์ง์๊ฐ์ [0]์ผ๋ก ๋ณ๊ฒฝํ์ฌ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌ //โ ์ ์ง์๊ฐ์ด ์ง๋ ์ฟ ํค๋ ํด๋ผ์ด์ธํธ์์ ์๋ ์๋ฉธ - ํด๋ผ์ด์ธํธ์ ์ ์ฅ๋ ์ฟ ํค ์ ๊ฑฐ cookie.setMaxAge(0); response.addCookie(cookie); } } out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<meta charset='UTF-8'>"); out.println("<title>Servlet</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>์ฟ ํค ์ ๊ฑฐ</h1>"); out.println("<hr>"); out.println("<p>๋ค ์์ ์ฟ ํค ์๋ค.</p>"); out.println("<hr>"); out.println("<a href='read.itwill'>์ฟ ํค ์ฝ๊ธฐ</a>"); out.println("</body>"); out.println("</html>"); } }