[back-end]/JSP&Servlet

JSP 페이지 넘어갈때 값 전달하기(request의 Attribute,Parameter)

broship 2021. 1. 28. 23:56

1) 저장소 종류 및 구분

  범위 (Scope) 사용하는 곳
pageContext 해당 페이지에서만 유효  범위가 좁아 거의 사용 안함
request 요청이 처리되는 동안만 유효
(여기서 요청은 포워딩, include 등 요청을 연결시킬 근거가 있어야됨)
MVC 패턴에서 Model 을 View 로 전달할때 사용
session 세션이 유지되는 동안 유효
(브라우저 실행되는 동안, 1브라우저 1세션)
로그인 정보, 장바구니 등
application 웹 어플리케이션이 실행되고 있는 동안 유효
(1WAS 1어플리케이션)
서버에 부담을 줄 수 있어서 거의 사용 안함

 

 

 

2) 속성과 파라미터 차이

  속성 Attribute 파라미터 Parameter
값 전달 저장소 객체.setAttribute("변수명", "담을 데이터");
ex)
request.setAttribute("name", "gildong");
1. form 태그
2. <jsp:param>
값 받는 방법 저장소 객체.getAttribute("변수명");
ex)
request.getAttribute("name");
request.getParameter("변수명");
- 여기서 변수명은 form 태그에서 정한 name 속성
반환형 Object
(형변환 필요)
String
el 바로 사용 가능
ex) ${name}
param. 붙이기
ex) ${param.name}

 

 

3) request.getAttribute(속성) VS request.getParameter(파라미터)

- 값 전달할때 보통 요청이 처리되는 동안만 유지가 되는 request 사용

- 둘의 기본적인 차이는 반환형

request.getAttribute 반환형: Object

request.getParameter 반환형: String

- 사용처

form 태그에서의 간단한 입력을 처리할때는 파라미터 사용

db 처리할때나 객체를 넘겨줘야 할때는 속성 사용