AR삽질러

JSP웹프로그래밍-Hard Carry 연습문제07 본문

JAVA/JSP

JSP웹프로그래밍-Hard Carry 연습문제07

아랑팡팡 2023. 1. 17. 21:00
728x90

Chapter07 쿠키

  1. 다음 글을 읽고 빈 괄호에 들어갈 단어를 입력하시오.

1) 쿠키는 ( 클라이언트 )와 ( 웹서버 )간의 상태를 지속적으로 유지하기 위해 사이트에 접속할때 생성되는 정보를 담은 4KB이하의 크기의 임시 파일을 의미합니다.

2) response 내장 객체는 JSP 웹페이지의( 실행결과 )를 웹 브라우저로 반환해 줄때 사용하는 객체이며 서버는 클라이언트에 대한 ( 응답 )을 response객체를 통해 처리합니다.

3) 클라이언트가 새로운 ( 웹페이지 )를 요청할 때 서버는( 웹 브라우저 )에서 다른 페이지로 강제 이동할 수 있도록 response내장 객체의 sendRedirect() 메소드를 사용합니다.

2. 쿠키와 세션의 차이점을 3가지 이상을 기술하시오.

1) 세션은 로그인 상태 정보를 웹 서버에 객체 상태로 저장되는 반면 쿠키는 불순한 의도로 복사되거나 해킹 등에 의해 개인 정보가 탈취될 수 있다는 보안상의 취약한 단점 또한 존재한다.

2) 쿠키는 서버의 자원을 전혀 사용하지 않지만 세션은 서버의 자원을 사용한다.

3) 웹 서비스에 대한 요청 속도는 세션보다 쿠키가 더 빠르다.

3. 다음 표에서 주어진 메소드 선언에 대한 의미를 기술하시오.

메소드선언
의미
new Cookie(String)
쿠키를 생성합니다.
String getCookies()
쿠키에 대한 정보를 가져옵니다.
String getName()
쿠키의 이름을 가져옵니다.
String getValue()
쿠키에 설정된 값을 가져옵니다.
void setMaxAge(int)
쿠키의 유효시간을 설정합니다.

4. 폼화면에서 로그인을 성공적으로 접속하였을 경우만 쿠키가 생성되도록 JSP애플리케이션을 생성하시오.

1) 프로젝트명 : JSPStudy

2) 로그인 폼 화면 : test07_04_01.jsp

- 아이디 : consmos

- 비밀번호 : 888888

3) 쿠키 생성 파일 : test07_04_02.jsp

4) 기타

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>test07_04_01.jsp</title>
</head>
<body>
	Home > 로그인 폼 화면
	<hr>
	<form name="loginform" method="post">
		<fieldset style="width:280px">
			<legend>아이디로 로그인</legend><p>
		 아이디 : <br>
		 <input type="text" name="id"><br><br>
		 비밀번호 : <br>
		 <input type="password" name="passwd"><br><br>
		 <input type="submit" value=">>로그인>>">
		
		</fieldset>
	</form>
</body>
</html>
 
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	Home > 쿠키 생성 및 로그인 성공
	<hr>
	<%
		request.setCharacterEncoding("utf-8");
		String u_id = request.getParameter("id");
		String u_pw = request.getParameter("passwd");
		
		if(u_id.equals("cosmos") && u_pw.equals("88888")){
			Cookie cooks_id = new Cookie("userID", "u_id");
			Cookie cooks_pw = new Cookie("userPW", "u_pw");
			out.println("쿠키를 생성하였습니다.<br>");
			out.println("["+ u_id + "]님이 입장하였습니다.<br><br>");
		}else{
			out.println("실패");
		}
	%>
	<form name="login" action="test07_04_01.jsp" method="post">
		<input type="submit" value="로그인하기">
	</form>
</body>
</html>
 

5. 쿠키 생성 후 화면에서 <로그아웃>을 클릭하게 되면 쿠키를 삭제하고 쿠키의 정보가 출력되도록 JSP애플리케이션을 생성하시오.

1) 프로젝트명 : JSPStudy

2) 쿠키 생성 : 4번 연습문제 수행

3) 쿠키 삭제 : test07_05_01.jsp

4) 삭제 후 쿠기 정보 출력 : test07_05_02.jsp

5) 기타

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>test07_05_01.jsp</title>
</head>
<body>
	Home > 쿠키 객체 정보 확인하기
	<hr>
	<%
		Cookie[] cookies = request.getCookies();
		out.println(">> 쿠키의 개수 : " + cookies.length + "<br>");
		out.println("<hr>");
		
		for(int count=0; count < cookies.length; count++){
			out.println("[" + count + "] 쿠키의 이름 : ");
			out.println(cookies[count].getName() + "<br>");
			out.println("[" + count + "] 쿠키의 값 : ");
			out.println(cookies[count].getValue() + "<br>");
			out.println("<hr>");
		}
	%>
	
</body>
</html>
<%@page import="java.net.CookieStore"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>test07_05_02.jsp</title>
</head>
<body>
	
	<%
		Cookie[] cookies = request.getCookies();
		for(int count = 0; count < cookies.length; count++){
			cookies[count].setMaxAge(0);
			response.addCookie(cookies[count]);
		}
		response.sendRedirect("test07_05_01.jsp");
	%>
</body>
</html>

728x90
반응형
LIST