본문 바로가기

BE/JSP

[JSP] response, scope, cookie, session, popup

 

 

 

 

 

response

ex01.jsp 를 실행하면 응답으로 redirect 가 실행되어 네이버가 출력

 

파일 3개 세팅 check.jsp, login.jsp, main.jsp

 

login.jsp, check.jsp, mian.jsp 작성

 

getWriter() 메소드를 사용하여 script 를 이용해 alert 창을 띄울 수도 있다

 


 

 

 

 

Scope

Scope

 

파일 세팅

 

set_scope.jsp 에서 scope(page, request, session, application) 를 생성, scope 생성 시 괄호의 앞 내용은 키 뒷 내용은 값이다.

 

page : 요청한 페이지 내에만 유지 ( 페이지가 이동되면 삭제 )

request : 요청한 페이지에서 다음 페이지까지 유지된다

session : 현재 켜져있는 브라우저에서만 작동 ( 예를 들어, 크롬에서 scope 를 받고 네이버 웨일로 동일 웹을 작동시키면 session 이 유지되지 않음, 주로 로그인에서 사용 )

application : 작동하는 브라우저를 변경해도 application 은 유지되며 서버가 종료되면 application 도 삭제

 

request 를 다음페이지 까지 유지하고 싶으면 forward 를 사용하여 전달 받은 request 값을 전달해야 한다.

이런 식으로 전달하지 않으면 페이지를 임의로 이동시킨다고 해서 scope 가 다음 페이지까지 저장된 상태로 넘어가지 않는다.

 

 

 

 


 

 

 

 

 

cookie

쿠키 : 클라이언트에서 관리

파일 세팅

 

쿠키 생성

testCookie 라는 key 로 myCookie 라는 내용을 생성, cookie.setMaxAge(5) 로 5초동안 쿠키를 유지

 

스크립트를 사용하여 팝업창을 출력하게끔 설정

 

popup.jsp 간단히 작성

 

요청으로 부터 getCookies() 메소드를 사용해 쿠키의 목록을 Cookie 자료형의 배열로 받아와서 출력

 

최초 요청시에는 기본 발급 쿠키만 존재하지만 5초 내에 새로고침을 하여 요청을 다시 보내면 쿠키 값을 출력한다

 

testCookie 라는 이름의 쿠키가 없을때만 팝업을 출력 ( boolean 값으로 조절 )

 

test.jsp 파일 추가

 

ex01.jsp 에서는 test.jsp 경로로 가는 a 태그를 추가, test.jsp 에서는 현재 쿠키 값을 보여주는 코드를 작성

 

테스트 해보면 cookie 는 발급된 파일의 상위 파일이 실행될때는 존재하지 않는다.

자신의 상위 파일이 실행될때도 쿠키값을 존재하게 하려면 cookie.setPath() 메소드를 사용하여 쿠키의 경로를 설정해줘야 한다.

 

쿠키를 최상위 위치에서 부터 쿠키를 사용할 수 있게 설정 후 쿠키가 정상적으로 확인

 

ex01.jsp 에 쿠키 삭제 경로 추가

 

쿠키는 삭제하는 코드가 따로 없기 때문에 쿠키의 유지 시간을 0초로 조정하여 응답하여 삭제시킨다

※ 쿠키는 삭제하는 코드가 따로 없기 때문에 쿠키의 유지 시간을 0초로 조정하여 응답하여 삭제시킨다

 

 

 

 

 


 

 

 

 

 

session

세션 : 서버에서 관리

파일 세팅

 

set.jsp 에서 세션 설정, get.jsp 에서 세션 출력

 

del.jsp 에서 세션 삭제

 

session.removeAttribute("age") : age 라는 키의 세션을 삭제시킨다.

session.setMaxInactiveInterval(5) : 5초 후 모든 세션을 만료시킨다.

session.invalidate() : 모든 세션을 만료시킨다.

 

간단하게 login.jsp 에 입력받는 폼 작성

 

로그인 정보를 검증하는 check.jsp 작성

 

main.jsp 작성

 

logout.jsp 작성

 

세션으로 로그인을 관리하는 페이지 작성 완료

728x90