* 내장 객체 ★★★
0. 영역 ---공유 범위: page<request<session<application
- PAGE 영역: 하나의 jsp 페이지를 처리할 때 사용되는 영역
pageContext 객체 : 한 번의 요청을 처리하는 하나의 jsp 페이지 내에 공유될 값을 저장
영역이 너무 좁아서 잘 사용하진 않는다는 듯?
- Request 영역: 하나의 http 요청을 처리할 때 사용되는 영역
request 객체 : 한 번의 요청을 처리하는 모든 jsp 페이지에서 공유될 값을 저장
- Session 영역: 하나의 웹 브라우저와 관련된 영역
session 객체 : 한 사용자와 관련된 정보를 jsp들이 공유하기 위해 사용
- Application 영역: 하나의 웹 어플리케이션과 관련된 영역
application 객체 : 모든 사용자와 관련해 공유할 정보를 저장
영역이 너무 커서 얘도 잘 사용하진 않나 봄
- 메소드
01. setAttribute(String name, Object value) : 이름이 name인 속성의 값을 value로 지정
02. getAttribute(String name) : 이름이 name인 속성의 값을 구해오고 존재하지 않을 경우 null.
1. request★
2. response★ : 웹 브라우저로 되돌려줄 정보(클라이언트의 요청에 대한 응답 정보)를 저장하는 객체
- 주요 메소드
Type | Method | definition |
String | getCharacterEncoding () | 한글 인코딩 형태를 구함 |
void | addCookie (Cookie cookie) | 쿠키를 발행함 |
void | sendRedirect (String location) | 지정한 URL 로 이동한다 |
01. response.sendRedirect("first.jsp?name=test");
- first.jsp 파일에 변수 name=test라는 값을 전달하고 이동함
+) 같은 처리
i. html meta 태그 이용
<meta http-equiv="refresh" content="0; url=first.jsp?name=test">
ii. 자바스크립트 이용
<script> location.href='first.jsp?name=test'; </script>
3. pageContext: JSP 페이지에 대한 정보를 저장 -- 다른 내장 객체를 구하거나 페이지 흐름제어, 에러데이터 얻을 때 사용
4. session★: http 세션 정보를 저장 -- 웹 브라우저 요청 시 관련 정보를 저장하고 관리 (회원관리의 사용자 인증 작업 수행 시 사용)
5. application : 웹 어플리케이션에 대한 정보를 저장 --서버의 정보, 자원에 대한 정보+ 이벤트 로그 정보, 관련된 기능 제공
6. out★ : JSP 페이지가 생성한 결과, 정보를 웹 브라우저에 출력(전송)할 때 사용하는 출력 스트림
스크립트 요소, 비스크립트 요소(HTML, 일반 text) 모두 포함
- 주요 메소드
01. out.print() : 줄바꿈 없이 출력
02. out.println() : 줄바꿈 없이 출력 (뒤에 "<br>" 태그 추가해야)
03. out.getBufferSize() : 출력 buffer의 전체 크기 (byte)
04. out.getRemaining() : 현재 buffer의 사용량 (byte)
+) 남은 buffer의 크기 : 03-04 해서 남은 거 (byte)
7. config : JSP 페이지에 대한 설정 정보를 저장 -- 서블릿이 초기화되는 동안 참조할 정보를 전달
8. page : JSP 페이지를 구현한 자바 클래스 인스턴스 -- this 포인터로 자기 자신을 참조할 수 있음
9. exception : 에러 페이지에서 사용(전달)되는 예외 객체
* 쿠키
0. 정의
- 서버와 클라이언트가 연결상태(로그인)를 유지하기 위해 사용하는 개념
- 로그인 성공 시 ---> 서버에서 쿠키 발행 ---> 클라이언트의 임시 폴더에 쿠키 파일 생성
- 서버 측: 페이지 이동 시 쿠키 파일의 정보를 참조해 서버-클라이언트 간 연결 상태를 유지
- 페이지 이동 시 회원 정보를 받아서 가져가는 과정을 생략할 수 있음
1. 쿠키 생성
Cookie cook = new Cookie (String name, String, value);
Cookie cook = new Cookie ("id", "test");
2. 쿠키 추가: 쿠키 생성 후 반드시 response 객체의 addCookie() 메소드를 사용해 쿠키를 추가해야 함
response.addCookie(cook);
3. 쿠키 값 변경: 쿠키 생성 후 쿠키의 새로운 이름에 대응하는 값을 새롭게 지정할 때 setValue() 사용
cook.setValue( new Value );
4. 쿠키 수명 (지속시간) 설정
cook.setMaxAge( int expiry ); ---> 단위: 초
ex) 유효시간 1시간인 경우 cook.setMaxAge(60*60); ---> 60초*60=60분=1시간
5. 쿠키 읽기
Cookie[] cook = request.getCookie(); ---> getter로 쿠키 정보 받아오는 것
쿠키 정보를 받아 저장한 쿠키 배열에서
쿠키 이름 받아오기 ---> cook.getName();
쿠키의 값 받아오기 ---> cook.getValue();
6. 쿠키 삭제 ---> 따로 삭제 메소드가 존재하지 않음
<% Cookie[] cookies = request.getCookies(); if (cookies != null && cookies.length > 0) { //쿠키 배열에 저장된 쿠키가 존재할 경우 조건문 실행 for (int i = 0 ; i < cookies.length ; i++) { //쿠키의 갯수만큼 반복문 실행 if (cookies[i].getName().equals("name")) { //getter로 쿠키 정보를 읽고, 쿠키가 존재한다면 Cookie cookie = new Cookie("name", ""); // 아무 값도 가지고 있지 않은 쿠키 생성 cookie.setMaxAge(0); //0초간 유지되는 쿠키 -> 바로 사라짐 response.addCookie(cookie); //위와 같은 쿠키를 쿠키 갯수만큼 생성 -> 쿠키가 삭제됨 }//if end }//for end } %> |
'수업 > 정리' 카테고리의 다른 글
220307 액션태그_include, 자바빈_useBean (0) | 2022.03.07 |
---|---|
220304 내장객체_ session, exception // 액션태그_forward (0) | 2022.03.05 |
220302 주석, 내장객체_request (0) | 2022.03.02 |
220228 jsp 환경, Directive tag (0) | 2022.02.28 |
220225 json, map, jQuery UI (0) | 2022.02.25 |