• JSP 페이지에서 자동으로 생성되고 사용할 수 있는 객체들을 말함

request

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
	<form method="post" action="proc.jsp">
		<label for="id">아이디:</label>
		<input type="text" id="id" name="id"><br>

		<label for="passwd">비밀번호:</label>
		<input type="password" id="passwd" name="passwd"><br>

		<input type="submit" value="로그인">
	</form>

</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<form>
<%
	request.setCharacterEncoding("UTF-8");
	String userId = request.getParameter("id");
	String password = request.getParameter("passwd");
%>

	<p> 아이디: <%=userId %></p>
	<p> 비밀번호: <%=password %></p>
	
</form>
</body>
</html>
  • 사용자 요구 사항을 얻어내는 것이 목적 ex: form 태그를 통해 들어오는 id, password 정보
  • JSP 컨테이너는 웹 브라우저에서 서버로 전달되는 정보를 처리하기 위해 request안에 저장된 정보를 가져오는 메소드들을 가지고 있
    • request.setCharacterEncoding("UTF-8");
    • request.getHeader("name")
    • request.getCookies()
    • request.getParameter("id");

  • 서버의 JSP페이지로 전달하는 정보를 저장하는 객체

'Development > JSP' 카테고리의 다른 글

유효성 검사  (0) 2023.05.10
파일 업로드  (0) 2023.05.09
자바 빈즈  (0) 2023.04.19
액션 태그  (0) 2023.04.19
서블릿과 JSP  (0) 2023.04.19

<기본 전제>

HTTP 특징 - 상태정보를 저장하지 않는다 (stateless) 

만약에 클라이언트가 로그인 후 다시 요청을 보낸다면
HTTP 특성상 로그인 정보를 저장하지 않기 때문에 같은 클라이언트가 보낸건지 알 수 없다.

따라서 상태정보를 저장해줄 저장소가 필요하다

 

공통적인 특징

Map 형태로 데이터가 저장되어 있음 - Key값: 속성(attribute)
접근 범위, 생존 기간 존재
setAttribute() 로 데이터를 쓰기(저장)
getAttribute() 로 데이터를 읽기(저장)
removeAttribute() 로 속성을 삭제 가능
getAttributeNames() 모든 속성의 이름을 반환
서로 간의 읽기 쓰기가 가능

 

pageContext 저장소

  • 유효범위: 1개 JSP 페이지
  • lv(지역변수) 저장
    • request
    • response
  • 접근 범위: 해당 jsp페이지 내부에서만 접근 가능
  • EL 에서 사용하기 위해서 lv(지역변수)를 저장하는 것
    • 문법: ${} 
  • 요청 할때 마다 초기화

 

application 저장소

  • 유효범위: context 전체
  • WebApp 전체에서 공유하고 접근이 가능한 저장소
    • 개별적인 id를 저장하기에는 좋은 저장소가 아님
  • 딱 1개만 존재
  • 어디에서나 접근이 가능
  • 전체 데이터 저장소

 

session 저장소

  • 유효범위: n개 JSP페이지
  • 클라이언트와 1대1로 대응한다.
    • 클라이언트가 로그인 하면 생성
    • 클라이언트가 로그아웃시 삭제
    • 문제점: 사용자 숫자 만큼 객체가 생기기 때문에 수가 많아짐
      • 서버 부담이 가장 큼
      • 따라서 최소한의 데이터만 저장
  • 개별 저장소
    • id, 장바구니
  • id pass 정보를 저장 하는 곳
  • 쿠키를 이용하여 클라이언트와 연결
  • 웹 페이지 들 간의 데이터를 전달할 때 가장 쉽다 (권장 x)-메모리 부담이 큼
    • 사용을 최소하는 것을 권장
    • 사용 하더라도 잠깐 저장하고 삭제하는 방식

 

request 저장소

  • 유효범위: 1개 이상 JSP페이지
  • 요청의 시작부터 응답까지. 다른 JSP로 전달(forward) 가능. 요청마다 1개
  • 클라이언트가 요청 할 때 마다 생성
  • 각각의 request 저장소는 서로 독립적
  • 웹 페이지 들 간의 데이터를 전달할 때 부담이 제일 적게 사용 가능 (최우선)

'Development > Spring' 카테고리의 다른 글

Spring 쿠키 생성 삭제  (0) 2023.02.02
URL 패턴  (0) 2023.01.20
HTTP 프로토콜의 바이너리 파일 전송  (0) 2023.01.08
웹과 HTTP 프로토콜  (0) 2023.01.06
클라이언트와 서버  (0) 2023.01.05

+ Recent posts