CLASS_JSP
8월 26일_JSP(내장 객체, 애플리케이션 등)
awesong
2024. 8. 26. 12:01
728x90
# forward & sendRedirect
항목 | forward | sendRedirect |
작동방식 | 서버 내부에서 요청 전달 | 새로운 요청 생성 |
브라우저 주소 | 변경되지 않음 | 변경됨 |
성능 | 좋음 | 상대적으로 느림 |
데이터 공유 | 가능 | 불가능 |
사용시기 | 동일한 웹 애플리케이션 내 이동 | 다른 웹 애플리케이션 이동, 로그인 / 로그아웃 처리 등 |
# JSP에서 애플리케이션 객체
- 웹 애플리케이션 전체에서 공유되는 데이터 저장소
**
이 객체에 저장된 데이터는 웹 애플리케이션 내의 모든 jsp패이지와 서블릿에서 접근하고 사용
즉, 웹 애플리케이션의 전역변수와 같은 역할
애플리케이션 객체는 웹 애플리케이션 내에서 여러 페이지 간의 데이터를 주고받을 때 사용하는 공간
사용하는 이유?
- 전역적인 데이터 관리:
웹 애플리케이션 전체에서 사용해야 하는 데이터를 한곳에 모아 관리
- 다양한 페이지에서 데이터 공유:
여러 페이지에서 동일한 데이터를 사용해야 할 때
애플리케이션 객체를 통해 데이터를 공유할 수 있음
- 웹 애플리케이션의 상태 유지:
웹 애플리케이션의 상태를 저장하고 관리
# JSP 스코프
- 데이터의 생명주기와 접근 범위 결정
- page
jsp 페이지 내에서만 유효, 해당 페이지에서만 접근 가능
데이터를 저장하고 읽을 수 있음
동일한 페이지에서만 공유, 페이지를 벗어나면 소멸
pageContext.setAttribute("name", "value")
- request
하나의 HTTP 요청 동안 유효, 서버가 클라이언트의 요청을 처리하는 동안 접근
요청이 완료되면 사라짐
request.setAttribute("name", "value")
- session
사용자의 세션동안 유효, 여러 요청에 걸쳐 데이터를 유지
세션이 종료되거나 명시적으로 제거되기 전까지 접근
session.setAttribute("name", "value")
- application
웹 애플리케이션 전체에 걸쳐 유효, 애플리케이션이 실행되는 동안 데이터 유지
애플리케이션이 종료될 때까지 접근
application.setAttribute("name", "value")
# DTO
- 주로 데이터를 저장하거나 전송하는 데 쓰이는 객체 (Data Transfer Object)
- 별 다른 로직 없이 순수하게 데이터만 저장하는 기능
- 데이터만 가지고 있으므로 VO(Value Object) 하고도 함
- 자바빈즈 규약에 따라 작성