ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 13. Cookie
    JSP/실전 JSP 2022. 11. 6. 00:52

    13-1. Cookie란 ? 

    • 클라이언트와 서버의 연결을 유지시켜주는 방법
    • 브라우저(클라이언트)와 서버가 연결을 시도한 흔적을 남김
    • 보안에 취약할 수 있음

     

     

    13-2. Cookie 구현

     

    login.jsp

    <%@ page language="java" contentType="text/html; charset=EUC-KR" 
       pageEncoding="EUC-KR"%>
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="EUC-KR">
            <title>Insert title here</title>
        </head>
        <body>
    		
    		<%
    			Cookie[] cookies = request.getCookies();
    			System.out.println("cookies : " + cookies);
    		
    			if(cookies != null) {
    				for(Cookie c : cookies) {
    					if(c.getName().equals("memberId")) {
    						response.sendRedirect("loginOk.jsp");
    					}
    				}
    			}
    		%>
    		
    		<form action="loginCon" method="post">
    		
    			ID : <input type="text" name="mID"></br>
    			PW : <input type="password" name="mPW"></br>
    			<input type="submit" value="login">
    		
    		</form>
    		 
        </body>
    </html>

     

    loginOk.jsp

    <%@ page language="java" contentType="text/html; charset=EUC-KR" 
       pageEncoding="EUC-KR"%>
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="EUC-KR">
            <title>Insert title here</title>
        </head>
        <body>
    		
    		<%
    		
    			Cookie[] cookies = request.getCookies();
    			for(Cookie c : cookies) {
    				out.print("name : " + c.getName() + "</br>");
    				out.print("value : " + c.getValue() + "</br></br>");
    			}
    		
    		%>
    		
        </body>
    </html>

     

    LoginCon.java

    package com.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Iterator;
    
    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;
    
    @WebServlet("/loginCon")
    public class LoginCon extends HttpServlet {
    
    
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		
    		PrintWriter out = response.getWriter();
    		
    		String mId = request.getParameter("mID");
    		String mPw = request.getParameter("mPW");
    		
    		out.print("mId : " + mId);
    		out.print("mPw : " + mPw);
    		
    		Cookie[] cookies = request.getCookies();
    		Cookie cookie = null;
    		
    		for (Cookie c : cookies) {
    			
    			System.out.println("c.getName() : " + c.getName() + ", c.getValue() : " + c.getValue());
    			
    			if(c.getName().equals("memberId")) {
    				cookie = c;
    			}
    		}
    		
    		if(cookie == null) {
    			System.out.println("cookie is null");
    			cookie = new Cookie("memberId", mId);
    		}
    		
    		response.addCookie(cookie);
    		cookie.setMaxAge(60*60);
    		
    		response.sendRedirect("loginOk.jsp");
    		
    	}
    
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doGet(request, response);
    	}
    
    }

    'JSP > 실전 JSP' 카테고리의 다른 글

    15. 한글처리  (0) 2022.11.06
    14. Session  (0) 2022.11.06
    12. Servlet 데이터 공유  (0) 2022.11.06
    11. JSP 내장 객체  (0) 2022.11.05
    10. JSP request, response  (0) 2022.11.05

    댓글

Designed by Tistory.