request = 손님이 주는 주문서
session = 단골카드
application = 식당 벽의 공용 메모판
response = 손님에게 내놓는 음식(결과물)
🥜 request 객체
클라이언트(브라우저)가 서버(JSP 페이지)에 보낸 요청 정보를 담고 있는 객체
요청은 보통 URL, form 데이터, 쿠키, 헤더 등을 의미함
쉽게 : 손님(클라이언트)이 식당(서버)에 주문서(request) 를 제출함
🥜 특징
유효범위(scope) : request 범위
요청이 들어오고, 응답이 끝나면 소멸됨 ➡ 아주 짧은 생명주기
하나의 요청 안에서만 데이터 공유 가능 (forward 시 공유됨)
🥜 주요 기능
request.getParameter("name") ➡ form 데이터 받기
request.setAttribute("data", value) ➡ 같은 요청 안에서 다른 JSP로 데이터 전달
request.getAttribute("data") ➡ 전달받은 데이터 꺼내기
ex)
String mid = request.getParameter("mid"); // 로그인 폼에서 아이디 받기
request.setAttribute("member", memberDTO); // 상세 페이지에 데이터 전달
🥜 session
클라이언트(브라우저)가 서버(JSP 페이지)에 보낸 요청 정보를 담고 있는 객체.
요청은 보통 URL, form 데이터, 쿠키, 헤더 등을 의미함.
🥜 특징
유효 범위(scope): "request 범위"
요청이 들어오고, 응답이 끝나면 소멸됨 → 아주 짧은 생명주기
하나의 요청 안에서만 데이터 공유 가능 (forward 시 공유됨)
🥜 주요 기능
request.getParameter("name") → form 데이터 받기
request.setAttribute("data", value) → 같은 요청 안에서 다른 JSP 로 데이터 전달
request.getAttribute("data") → 전달받은 데이터 꺼내기
session.setAttribute("mid", "yujin"); // 로그인한 사용자 id 저장
🥜 application 객체
서버 전체에서 하나만 존재하는 저장 공간
모든 사용자, 모든 요청이 같은 application 객체를 공유함
서버가 켜질 때 만들어지고
서버가 꺼질 때까지 유지됨
🥜 특징
유효 범위(scope): "application 범위"
톰캣이 켜져 있는 동안 계속 유지됨 (가장 긴 생명주기)
거의 전역(Global) 저장소 같은 느낌
🥜 주요 기능
application.setAttribute("count", 1) → 전체 공용 데이터 저장
application.getAttribute("count")
Integer cnt = (Integer)application.getAttribute("count");
cnt++;
application.setAttribute("count", cnt);
🥜 response
서버가 클라이언트에게 응답을 보낼 때 사용하는 객체
페이지 이동(redirect), 쿠키 추가, 헤더 설정 등 수행
🥜 특징
클라이언트에게 "이렇게 응답하겠다!"라고 서버가 지시할 때 사용
🥜 주요 기능
response.sendRedirect("main.jsp") → 페이지 이동(새 요청)
response.addCookie(cookie) → 쿠키 추가
response.setContentType("text/html; charset=UTF-8")
response.sendRedirect("controller.jsp?command=MAINPAGE");
| request | 브라우저 → 서버에 보낸 요청 정보 | form 데이터 받기, forward 데이터 전달 | 요청 1번 동안 |
| session | 사용자 1명 기준으로 데이터 저장 | 로그인 유지 | 브라우저 종료까지 |
| application | 서버 전체에서 하나만 존재 | 전역 데이터, 방문자 수 | 서버가 켜져 있는 동안 |
| response | 서버 → 브라우저로 보내는 응답 조작 | redirect, 쿠키 설정 | 응답 순간 |
'JSP' 카테고리의 다른 글
| ⭐ EL + JSTL로 변경된 코드 (스크립틀릿 완전 제거 하기!) (0) | 2025.11.21 |
|---|---|
| 🍍 JSTL | 리스너 | 에러페이지 설정 | 필터 Filter (0) | 2025.11.21 |
| setAttribute( )!! request와 같이 사용하기 (0) | 2025.11.20 |
| Controller의 useBean과 setProperty 그리고 request (0) | 2025.11.19 |
| 페이지 이동 방식 | 리다이렉트 (redirect) 포워드 (forward) (0) | 2025.11.18 |