국비지원학원/HTML,JavaScript,jQ

89일차-JavaEE_Session/Cookie

초코맛 2019. 3. 9. 02:25
반응형
*Session(비연결성을 해결하기 위해 사용->관계유지)
  • 접속자의 정보를 서버 측 메모리에 저장한다.(해킹어렵)
    • =>Web browser : 접속자의 browser당 ID를 저장 (ID는 겹치지 않는다.)
  • 모든 브라우저에 적용할 수 있다.
  • 모든 데이터형이 저장될 수 있다.(클라이언트가 서버에 던지는건 String만 된다.)
  • HttpSession interface를 사용한다.
  • 사용법)
    • 1.HttpSession 얻기(Container에는 정보를 저장하기 위한 Session이 생성되어있다.)
    • <<<<(요청객체-HTTP Servlet request로 부터 얻는다)>>>>
    • HTTPSession session=request.getSession();
    • <<<<말을 잘 듣지않아 Container성능에 민감>>
    • 2.생존 시간 설정(Tomcat은 기본시간이 30분 이다.)
    • =>사용자가 동작을 멈춘상태에서 다음동작이 일어나는 사이의 시간(인터벌) 설정
    • =>Servers->tomcat->web.xml-><session-config><session-timeout>을 확인해 보면 30이다.
    • session.setMaxInactiveInterval(초);//60*60*24*30(초/분/시/일)이렇게 계산.->모든 Session에 적용
    • =>변경시간은 계속 유지된다.
    • 3.값 설정
    • Session.setAttribute(이름,값); //KVP
    • 4.값얻기
    • Session.getAttribute("이름")=>값
    • 5.값 삭제
    • Session.removeAttribute("이름")
    • 6.세션을 무효화(세션자체를 없앰)
    • Session.invalidate();//getSession하면 다시 얻어옴..세션이 없으면 무조건 로그인
    • ///DB에서 조회한 많은 양의 데이터, 민감한 정보는 저장하지 않는다.(메모리 감당이 안된다=돈多)
<!-- use_session.html -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css"  href="http://localhost:8080/servlet_prj/common/main_v190130.css"/>
<style type="text/css">
#wrap{margin:0px auto;width:800px; height:860px;}
#header{width:800px; height:140px; background:#FFFFFF  url(http://localhost:8080/servlet_prj/common/images/header_bg.png) repeat-x;
           position: relative; }
#headerTitle{font-family: HY견고딕,고딕; font-size:35px;  font-weight:bold; text-align:center;
                /* padding-top: 35px */ position:absolute;  top:40px; left:290px; }
#container{width:800px; height:600px; }
#footer{width:800px; height:120px; }
#footerTitle{float: right; font-size:15px; padding-top:20px;  padding-right:20px; }
</style>
<!-- jQuery CDN -->
<script  src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
     $(".btn").click(function(){
           chkNull();
     });//click
     $("[name='id']").keydown(function(evt){
           if(evt.which==13){
                chkNull();
           }//end if
     });//keydown
     $("[name='pass']").keydown(function(evt){
           if(evt.which==13){
                chkNull();
           }//end if
     });//keydown
});//ready
function chkNull(){
     var id=$("[name='id']").val();
     var pass=$("[name='pass']").val();
     
     if(id==""){
           $("[name='id']").focus();
           return;
     }//end if
     if(pass==""){
           $("[name='pass']").focus();
           return;
     }//end if
     $("form").submit();//tag selector
     
}//chkNull
</script>
</head>
<body>
<div id="wrap">
     <div id="header">
           <div id="headerTitle">SIST Class4</div>
     </div>
     
     <div id="container">
     <div>
     <form method="post" action="../use_session_a">
     <table>
           <tr>
                <td colspan="2" align="center">
                세션사용 로그인
                </td>
           </tr>
           <tr>
                <td>
                     <input type="text" name="id"  placeholder="아이디" autofocus="autofocus" class="inputBox"/>
                </td>
                <td rowspan="2">
                     <input type="button" value="로그인"  class="btn" style="height:50px; width:50px;"/>
                </td>
           </tr>
           <tr>
                <td>
                     <input type="password" name="pass"  placeholder="비밀번호"  class="inputBox"/>
                </td>
           </tr>
     </table>
     </form>
     </div>
     </div>
     
     <div id="footer">
           <div id="footerTitle">copyright&copy; all right  reserved. class 4.</div>
     </div>
</div>
</body>
</html>
<!-- UseSessionA -->
package day0304;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@SuppressWarnings("serial")
public class UseSessionA extends HttpServlet {
     private Map<String, String> loginMap;
     
     public void init() {
           loginMap =new HashMap<String,String>();
           loginMap.put("kim","김");
           loginMap.put("lee","이");
           loginMap.put("park","박");
           loginMap.put("roh","노");
     }//init-생명주기 method 최초1번만 만들어짐
     
     protected void doPost(HttpServletRequest request,  HttpServletResponse response) throws ServletException,  IOException {
           //응답 방식 설정
           response.setContentType("text/html;charset=UTF-8");
           //출력스트림 얻기
           PrintWriter out=response.getWriter();
           
           out.write("<!DOCTYPE html>\r\n");
           out.write("<html>\r\n");
           out.write("<head>\r\n");
           out.write("<meta charset=\"UTF-8\">\r\n");
           out.write("<title>Insert title here</title>\r\n");
           out.write("<link rel=\"stylesheet\"  type=\"text/css\"  href=\"http://localhost:8080/servlet_prj/common/css/main_v190130.css\"/>\r\n");
           out.write("<style type=\"text/css\">\r\n");
           out.write("#wrap{ margin:0px auto; width:800px;  height: 860px;  }\r\n");
           out.write("#header{  width:800px; height: 140px;  background: #FFFFFF  url(http://localhost:8080/servlet_prj/common/images/header_bg.png) repeat-x;\r\n");
           out.write("\t\t\tposition: relative; }\r\n");
           out.write("#headerTitle{ font-family: HY견고딕, 고딕;  font-size: 30px; font-weight: bold;text-align: center;\r\n");
           out.write("\t\t\t\t\tposition: absolute; top:30px;  left:290px}\r\n");
           out.write("#container{  width:800px; height: 600px;  }\r\n");
           out.write("#footer{  width:800px; height: 120px;  }\r\n");
           out.write("#footerTitle{ float:right; font-size:  15px; padding-top:20px; padding-right: 20px }\r\n");
           out.write("</style>\r\n");
           
           out.println("<script type='text/javascript'>");
           out.println("window.onload=function(){");
            out.println("document.getElementById('job').addEventListener('click',movePage);");
           out.println("}//onload");
           out.println("function movePage(){");
           out.println("\tlocation.replace('use_session_b');");
           out.println("}//movePage");
           out.println("</script>");
           
           out.write("</head>\r\n");
           out.write("<body>\r\n");
           out.write("<div\tid=\"wrap\">\r\n");
           out.write("\t<div id=\"header\">\r\n");
           out.write("\t\t<div id=\"headerTitle\">SIST  Class4</div>\r\n");
           out.write("\t</div>\r\n");
           out.write("\t<div id=\"container\">\r\n");
           //접속자가 입력한 parameter 받기
           String id=request.getParameter("id");
           String pass=request.getParameter("pass");
           
           if(loginMap.containsKey(id) && "123".equals(pass)) {
            //로그인 성공
            String name=loginMap.get(id);
            //로그인 정보를 세션에 추가
            //1.세션 얻기
            HttpSession session=request.getSession();
            //2.세션 생존시간 설정(Tomcat의 기본은  30분)-한번설정되면 모든페이지에 설정
            session.setMaxInactiveInterval(60*2);
            //3.세션에 값 설정
            session.setAttribute("id", id);
            session.setAttribute("user_name", name);
            
            out.println("<h2>세션 사용 로그인</h2>");
            out.print("<strong>");
            out.print(id);
            out.print("</strong>(");
            out.print(name);
            out.println(")님 로그인 하셨습니다.<br/>");
            out.println("작업페이지로 <a id='job'>이동</a>");
            
           }else {
            out.println("<strong>아이디나 비밀번호를  확인해주세요.</strong><br/>");
            out.println("다시<a  href='day0304/use_session.html'>로그인</a>");
           }//end else
           
           out.write("\t</div>\r\n");
           out.write("\t<div id=\"footer\">\r\n");
           out.write("\t\t<div  id=\"footerTitle\">copyright&copy; all right reserved. class 4  </div>\r\n");
           out.write("\t</div>\r\n");
           out.write("</div>\r\n");
           out.write("\r\n");
           out.write("</body>\r\n");
           out.write("</html>\r\n");
     
     
     }//doPost
}//class
<!-- UseSessionB -->
package day0304;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@SuppressWarnings("serial")
public class UseSessionB extends HttpServlet {
     
     protected void doGet(HttpServletRequest request,  HttpServletResponse response) throws ServletException,  IOException {
     
           response.setContentType("text/html;charset=UTF-8");
           PrintWriter out=response.getWriter();
           
           out.write("<!DOCTYPE html>\r\n");
           out.write("<html>\r\n");
           out.write("<head>\r\n");
           out.write("<meta charset=\"UTF-8\">\r\n");
           out.write("<title>Insert title here</title>\r\n");
           out.write("<link rel=\"stylesheet\"  type=\"text/css\"  href=\"http://localhost:8080/servlet_prj/common/css/main_v190130.css\"/>\r\n");
           out.write("<style type=\"text/css\">\r\n");
           out.write("#wrap{ margin:0px auto; width:800px;  height: 860px;  }\r\n");
           out.write("#header{  width:800px; height: 140px;  background: #FFFFFF  url(http://localhost:8080/servlet_prj/common/images/header_bg.png) repeat-x;\r\n");
           out.write("\t\t\tposition: relative; }\r\n");
           out.write("#headerTitle{ font-family: HY견고딕, 고딕;  font-size: 30px; font-weight: bold;text-align: center;\r\n");
           out.write("\t\t\t\t\tposition: absolute; top:30px;  left:290px}\r\n");
           out.write("#container{  width:800px; height: 600px;  }\r\n");
           out.write("#footer{  width:800px; height: 120px;  }\r\n");
           out.write("#footerTitle{ float:right; font-size:  15px; padding-top:20px; padding-right: 20px }\r\n");
           out.write("</style>\r\n");
           
           out.println("<script type='text/javascript'>");
           out.println("window.onload=function(){");
            out.println("document.getElementById('logout').addEventListener('click',movePage);");
           out.println("}//onload");
           out.println("function movePage(){");
           out.println("\tlocation.replace('use_session_c');");
           out.println("}//movePage");
           out.println("</script>");
           
           out.write("</head>\r\n");
           out.write("<body>\r\n");
           out.write("<div\tid=\"wrap\">\r\n");
           out.write("\t<div id=\"header\">\r\n");
           out.write("\t\t<div id=\"headerTitle\">SIST  Class4</div>\r\n");
           out.write("\t</div>\r\n");
           out.write("\t<div id=\"container\">\r\n");
           //다른 페이지(UseSessionA-다른 페이지)에서 사용한 값을  이동한 페이지(UseSessionB)에서
           //사용하려면 세션이 필요하다.(비연결성의 관계유지)
           //1.세션얻기
           HttpSession session=request.getSession();
           //2.세션에서 값 얻기
           String id=(String) session.getAttribute("id");       
           String name=(String)  session.getAttribute("user_name");
           
           if(id==null) {
            //세션에 값이 없다면
            //이 페이지의 URL을 직접 넣고 들어온 경우(비정상적인  요청발생)/
            //정상적인 요청을 했지만 세션의 인터벌(사용시간)을  초과한 경우
            response.sendRedirect("day0304/use_session.html");
            //아래줄에 실행이 되므로 막아준다.
            return;
           }//end if
           
           out.println("<h2>세션 사용</h2>");
           out.print(name);
           out.print("(<strong>");
           out.print(id);
           out.println("</strong>)님의 작업  페이지입니다.<br/>");
           out.println("<a id='logout'>로그아웃</a><br/>");
           out.print("<img src='day0304/images/job.png'/>");
           
           out.write("\t</div>\r\n");
           out.write("\t<div id=\"footer\">\r\n");
           out.write("\t\t<div  id=\"footerTitle\">copyright&copy; all right reserved. class 4  </div>\r\n");
           out.write("\t</div>\r\n");
           out.write("</div>\r\n");
           out.write("\r\n");
           out.write("</body>\r\n");
           out.write("</html>\r\n");
     }//doGet
}//class
<!-- UseSessionC -->
package day0304;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@SuppressWarnings("serial")
public class UseSessionC extends HttpServlet {
     
     protected void doGet(HttpServletRequest request,  HttpServletResponse response) throws ServletException,  IOException {
           //세션 삭제 페이지(로그아웃)
           //1.세션 얻기
           HttpSession session=request.getSession();
           //2.세션 값 삭제
           session.removeAttribute("id");
           session.removeAttribute("user_name");
           //3.브라우저에 할당 된 세션자체 무효화
           session.invalidate();
           
           //이동할 페이지 설정
           //response.sendRedirect("day0304/use_session.html");
           
           response.setContentType("text/html;charset=UTF-8");
           PrintWriter out=response.getWriter();
           
           //(뒤로가기 막음)막지 않으면 뒤로가기를 눌렀을때 로그인한 상태로 되돌아감
           out.println("<script type='text/javascript'>");
           out.println("window.onload=function(){");
            out.println("\tlocation.replace('day0304/use_session.html');");
           out.println("}//onload");
           out.println("</script>");
           
           /*
           세션이 무효화 되고난 이후에는 세션에서 값을 얻을 수  없다.
           String id=(String)session.getAttribute("id");
           String  name=(String)session.getAttribute("user_name");
           
           System.out.println("아이디 "+id+" 이름 "+name);
           */
     
     }//doGet
}//class



*Cookie
  • //HDD에 저장되어 보안이 안좋다.
  • 접속자의 정보를 접속자 컴퓨터에 File로 저장하여 사용하는 관계유지 방식
  • 쿠키를 지원하지 않는 브라우저에서는 사용할 수 없다.
  • //쿠키는 더더욱 중요한 정보를 저장하지 않는다. 절대 중요정보 저장ㄴㄴ
  • 중요정보를 저장하지 않는다.(객체는 저장할 수 없다.)
  • String (문자열) 만 저장가능 (한글은 쿠키로 심어지지 않는다)
  • //쿠키는 class로 제공되어 객체화를 하여 사용해야한다.
  • //요즘은 HTML Storage를 쓰는 추세.
  • 사용법)
    • 1.객체화
      • Cookie c=new Cookie(키,값);   

        //(String,String) //키와 값의 쌍을 가지는 Map, Cookie, Json, Session.setAttribute(이름,값); (?)//KVP

    • 2.쿠키의 생존시간 설정
      • c.setMaxAge(초);
    • 3.쿠키 심기 (심어진 쿠키는 생존 시간만큼 유지)
      • response.addCookie(쿠기 객체);
    • 4.쿠키 읽기 (다른 서버에서 심은 쿠키는 읽어들일 수 없다.)
      • Cookie[] cookies=request.getCookies()
      • for (int i=0; i<cookies.length; i++){
      •     Cookie c=cookies[i];
      •     //쿠키이름 얻기
      •     String name=c.getName();
      •     //쿠키의 값 얻기
      •     String value=c.getValue();
      • }
    • 5.쿠키 삭제 
      • 1.지우려고 하는 쿠키의 이름과 같은 이름을 가진 쿠키 생성
      • Cookie c= new Cookie(이름,"");
      • 2.생존시간을 0으로 설정
      • c.setMaxAge(0);
      • 3.쿠키 심기
      • response.addCookie(c); //2번은 생략가능하나 심기까지 해주어야 그때 지워짐

<!-- GetCookie -->
package day0304;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
public class GetCookie extends HttpServlet {
     
     protected void doGet(HttpServletRequest request,  HttpServletResponse response) throws ServletException,  IOException {
           //응답 방식 설정
           response.setContentType("text/html;charset=UTF-8");
           PrintWriter out=response.getWriter();
           
           out.write("<!DOCTYPE html>\r\n");
           out.write("<html>\r\n");
           out.write("<head>\r\n");
           out.write("<meta charset=\"UTF-8\">\r\n");
           out.write("<title>Insert title here</title>\r\n");
           out.write("<link rel=\"stylesheet\"  type=\"text/css\"  href=\"http://localhost:8080/servlet_prj/common/css/main_v190130.css\"/>\r\n");
           out.write("<style type=\"text/css\">\r\n");
           out.write("#wrap{ margin:0px auto; width:800px;  height: 860px;  }\r\n");
           out.write("#header{  width:800px; height: 140px;  background: #FFFFFF  url(http://localhost:8080/servlet_prj/common/images/header_bg.png) repeat-x;\r\n");
           out.write("\t\t\tposition: relative; }\r\n");
           out.write("#headerTitle{ font-family: HY견고딕, 고딕;  font-size: 30px; font-weight: bold;text-align: center;\r\n");
           out.write("\t\t\t\t\tposition: absolute; top:30px;  left:290px}\r\n");
           out.write("#container{  width:800px; height: 600px;  }\r\n");
           out.write("#footer{  width:800px; height: 120px;  }\r\n");
           out.write("#footerTitle{ float:right; font-size:  15px; padding-top:20px; padding-right: 20px }\r\n");
           out.write("#non_cookie{color:#FF0000;  font-size:15px; font-weight:bold;}");
           out.write("</style>\r\n");
           out.write("</head>\r\n");
           out.write("<body>\r\n");
           out.write("<div\tid=\"wrap\">\r\n");
           out.write("\t<div id=\"header\">\r\n");
           out.write("\t\t<div id=\"headerTitle\">SIST  Class4</div>\r\n");
           out.write("\t</div>\r\n");
           out.write("\t<div id=\"container\">\r\n");
           //접속자에게 심어진 쿠키 읽기
           Cookie[] cookies=request.getCookies();
           
           if(cookies!=null) {
            Cookie temp=null;
            out.println("<ul>");
            for(int i=0; i<cookies.length; i++) {
                  temp=cookies[i];
                  out.print("<li>쿠키 이름 : <strong>");
                  out.print(temp.getName());
                  out.print("</strong> 쿠키 값 : ");
                  out.print(temp.getValue());
                  out.print("</li>");
            }//end for
            out.println("</ul><br/>");
            out.println("<a href='remove_cookie'>쿠키  삭제</a>");
           }else {
            out.println("<div id='non_cookie'>쿠키가 존재하지  않습니다.</div>");
            out.println("<div><a href='add_cookie'>쿠기  심기</a></div>");
           }//end else
           
           out.write("\t</div>\r\n");
           out.write("\t<div id=\"footer\">\r\n");
           out.write("\t\t<div  id=\"footerTitle\">copyright&copy; all right reserved. class 4  </div>\r\n");
           out.write("\t</div>\r\n");
           out.write("</div>\r\n");
           out.write("\r\n");
           out.write("</body>\r\n");
           out.write("</html>\r\n");
     }//doGet
}//class
<!-- AddCookie -->
package day0304;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
public class AddCookie extends HttpServlet {
     protected void doGet(HttpServletRequest request,  HttpServletResponse response) throws ServletException,  IOException {
           response.setContentType("text/html;charset=UTF-8");
           PrintWriter out=response.getWriter();
           
           out.write("<!DOCTYPE html>\r\n");
           out.write("<html>\r\n");
           out.write("<head>\r\n");
           out.write("<meta charset=\"UTF-8\">\r\n");
           out.write("<title>Insert title here</title>\r\n");
           out.write("<link rel=\"stylesheet\"  type=\"text/css\"  href=\"http://localhost:8080/servlet_prj/common/css/main_v190130.css\"/>\r\n");
           out.write("<style type=\"text/css\">\r\n");
           out.write("#wrap{ margin:0px auto; width:800px;  height: 860px;  }\r\n");
           out.write("#header{  width:800px; height: 140px;  background: #FFFFFF  url(http://localhost:8080/servlet_prj/common/images/header_bg.png) repeat-x;\r\n");
           out.write("\t\t\tposition: relative; }\r\n");
           out.write("#headerTitle{ font-family: HY견고딕, 고딕;  font-size: 30px; font-weight: bold;text-align: center;\r\n");
           out.write("\t\t\t\t\tposition: absolute; top:30px;  left:290px}\r\n");
           out.write("#container{  width:800px; height: 600px;  }\r\n");
           out.write("#footer{  width:800px; height: 120px;  }\r\n");
           out.write("#footerTitle{ float:right; font-size:  15px; padding-top:20px; padding-right: 20px }\r\n");
           out.write("</style>\r\n");
           out.write("</head>\r\n");
           out.write("<body>\r\n");
           out.write("<div\tid=\"wrap\">\r\n");
           out.write("\t<div id=\"header\">\r\n");
           out.write("\t\t<div id=\"headerTitle\">SIST  Class4</div>\r\n");
           out.write("\t</div>\r\n");
           out.write("\t<div id=\"container\">\r\n");
           //쿠키 심기 (한글은 심어지지 않는다)
           //1.쿠키 생성
           Cookie nameCookie=new Cookie("name", "jungyun.kim");
             Cookie ageCookie=new Cookie("age", "31");
             
             //2.생존 시간 설정 : 생존시간을 설정하지 않으면  브라우저가 떠있는 동안에만 유지
             nameCookie.setMaxAge(60*60*24);
             
             //3.쿠키 심기
             response.addCookie(nameCookie);
             response.addCookie(ageCookie);
             
             out.println("쿠키 심기 완료<br/>");
             out.println("<a href='get_cookie'>쿠키 읽기</a>");
           
           out.write("\t</div>\r\n");
           out.write("\t<div id=\"footer\">\r\n");
           out.write("\t\t<div  id=\"footerTitle\">copyright&copy; all right reserved. class 4  </div>\r\n");
           out.write("\t</div>\r\n");
           out.write("</div>\r\n");
           out.write("\r\n");
           out.write("</body>\r\n");
           out.write("</html>\r\n");
     }//doGet
}//class
<!-- RemoveCookie -->
package day0304;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
public class RemoveCookie extends HttpServlet {
     protected void doGet(HttpServletRequest request,  HttpServletResponse response) throws ServletException,  IOException {
           response.setContentType("text/html;charset=UTF-8");
           PrintWriter out=response.getWriter();
           
           out.write("<!DOCTYPE html>\r\n");
           out.write("<html>\r\n");
           out.write("<head>\r\n");
           out.write("<meta charset=\"UTF-8\">\r\n");
           out.write("<title>Insert title here</title>\r\n");
           out.write("<link rel=\"stylesheet\"  type=\"text/css\"  href=\"http://localhost:8080/servlet_prj/common/css/main_v190130.css\"/>\r\n");
           out.write("<style type=\"text/css\">\r\n");
           out.write("#wrap{ margin:0px auto; width:800px;  height: 860px;  }\r\n");
           out.write("#header{  width:800px; height: 140px;  background: #FFFFFF  url(http://localhost:8080/servlet_prj/common/images/header_bg.png) repeat-x;\r\n");
           out.write("\t\t\tposition: relative; }\r\n");
           out.write("#headerTitle{ font-family: HY견고딕, 고딕;  font-size: 30px; font-weight: bold;text-align: center;\r\n");
           out.write("\t\t\t\t\tposition: absolute; top:30px;  left:290px}\r\n");
           out.write("#container{  width:800px; height: 600px;  }\r\n");
           out.write("#footer{  width:800px; height: 120px;  }\r\n");
           out.write("#footerTitle{ float:right; font-size:  15px; padding-top:20px; padding-right: 20px }\r\n");
           out.write("</style>\r\n");
           out.write("</head>\r\n");
           out.write("<body>\r\n");
           out.write("<div\tid=\"wrap\">\r\n");
           out.write("\t<div id=\"header\">\r\n");
           out.write("\t\t<div id=\"headerTitle\">SIST  Class4</div>\r\n");
           out.write("\t</div>\r\n");
           out.write("\t<div id=\"container\">\r\n");
           //쿠키 삭제
           //1.삭제할 쿠키가 가진 같은 이름의 쿠키 생성
           Cookie co=new Cookie("name", "");
           Cookie co1=new Cookie("age", "");
           //2.생존 시간을 설정
           co.setMaxAge(0); //즉시 지원
           co1.setMaxAge(0); //즉시 지원
           //3.쿠키 심기
           response.addCookie(co);
           response.addCookie(co1);
           
           out.println("쿠키 삭제 완료<br/>");
           out.println("<a href='get_cookie'>쿠키 읽기</a>");
           
           out.write("\t</div>\r\n");
           out.write("\t<div id=\"footer\">\r\n");
           out.write("\t\t<div  id=\"footerTitle\">copyright&copy; all right reserved. class 4  </div>\r\n");
           out.write("\t</div>\r\n");
           out.write("</div>\r\n");
           out.write("\r\n");
           out.write("</body>\r\n");
           out.write("</html>\r\n");
     }//doGet
}//class

 

 

반응형