JSP

requset | session | application | response

보배 진 2025. 11. 20. 17:48

 

 

 

 

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, 쿠키 설정 응답 순간