프로그래밍/Spring / / 2022. 10. 28. 09:35

[Spring]JSP 기본객체 저장소 객체 영역 DTO 자바빈즈 규약

기본 객체 - 유효범위
기본 객체 - 유효범위

 

1. JSP의 기본 객체

 

1) 생성없이 사용할 수 있는 객체를 말한다.

2) service() 메소드의 지역 변수(Local Variable)로 선언되어 있다.

3) JSP에서 선언없이 사용 가능하다.

 

2. JSP의 기본 객체 종류

 

1) request : 요청 정보가 담겨있는 객체

2) response : 요청에 응답을 작성할 때 사용

3) session : HTTP Session을 구현한 객체, 세션 정보 저장에 사용.

4) application (javax.servlet.ServletContext) : Web Application 전체에서 공유하는 객체.

5) pageContext : JSP 페이지의 context 정보를 제공.

6) page (java.lang.Object) : JSP 페이지 객체 자신

7) config, out, exception



3. 유효 범위(scope)와 속성(attribute) 

 

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

2) 따라서 저장소가 필요하다. (stateful) 상태 정보 저장 할 수있다.



4. 4개의 저장소(접근 범위, 생존 기간에 따라 구분)

 

1) 저장소는 Map 형태 (Key-속성, value-속성값)

2) Map에 읽기, 쓰기가 가능하다.

- 읽기 : getAttribute()

- 쓰기 : setAttribute()

 

3) 각 영역에 저장된 데이터는 공유 범위가 서로 다르다. 각 객체가 저장되는 메모리의 유효기간.

 

4) 웹에서 페이지(page)들이 모여 하나의 요청(request)을 처리하며, 요청들이 모여 하나의 세션(session)을 이루고, 다시 이 세션들이 모여서 하나의 웹 애플리케이션(application)을 이룬다.



5. 내장 객체의 영역 4가지

 

1) page 영역

 

- 동일한 페이지에서만 공유되며, 페이지를 벗어나면 소멸된다.

- JSP에 존재한다.

- local variable를 저장한다.

- 접근 범위 : 각 페이지 안에서만 접근 가능. 다른 페이지에서 접근 불가하다.

- 요청(request)할 때마다 초기화 된다.

 

2) request 영역

- 하나의 요청에 의해서 호출된 페이지와 포워드(요청 전달)된 페이지까지 공유가 된다.

- 접근 범위 : 요청마다 독립적

- 생존 기간 : 요청이 처리되는 동안에만 존재한다.

- 요청할 때마다 하나씩 생긴다.

- forward : request객체를 처리하지 못해서 다른 페이지로 넘기는 것이다.

- request 객체에 데이터를 저장해서 전달 가능하다.
- request.getRequestDispatcher("포워드할 파일 경로").forward(request, response)
- 현재페이지로 들어온 요청을 다음 페이지로 보내는 기능이다.

 

- 서버의 부담이 제일 적다.

 

3) session 영역

 

- 클라이언트가 처음 접속한 후 웹 브라우저를 닫을 때까지 공유된다.

- 접근 범위 : 클라이언트마다 각각 1개씩 있는 개별 저장소

- 생존 기간 : 로그인에서 로그아웃까지.

- 로그인하면 session이 생성, 로그아웃하면 session이 소멸된다.
- id, 장바구니 같이 각 사용자의 개별 정보를 담으면 좋다.
- 사용자마다 1개씩 갖기 때문에 최소한의 데이터만 저장해야한다.
- 서버 부담이 제일 크다

 

- 로그인 시 각 클라이언트마다 따로 1개씩 존재한다.

- 각각의 id를 저장해서 클라이언트를 구별 가능하다.

 

4) application 영역

- 한 번 저장되면 웹 애플리케이션이 종료될 때까지 유지된다.

- 접근 범위 : WebApp (ServletContext) 전체에서 접근 가능하다.

- 공통 저장소, 단 1개만 존재한다.

- 어느 곳에서든 읽기, 쓰기 가능하다.

 

기본객체 유효범위  
pageContext 1개의 JSP페이지 JSP페이지의 시작부터 끝까지. 내부에서만
request 1개 +n개 JSP 페이지 요청의 시작부터 응답까지. 요청마다 1개
session n개 JSP페이지 session의 시작부터 종료까지(로그인~로그아웃). 클라이언트마다 1개
application context 전체 Web Application의 시작부터 종료까지. context 내부 어디서 접근 가능. 모든 클라이언트가 공유



6. 영역이 제공하는 주요 메서드

 

1) void setAttribute(String name, Object value)

- 각 영역에 속성을 저장한다.
- 첫번째 인수는 속성명, 두번째 인수는 저장할 값이다.
- 값의 타입은 Object이므로 모든 타입의 객체를 저장할 수 있다

 

2) Object getAttribute(String name) : 영역에 저장된 속성값을 얻어온다.

3) void removeAttribute(String name) : 영역에 저장된 속성을 삭제한다.



7. 데이터 전송 객체 (DTO)

 

1) 주로 데이터를 저장하거나 전송하는데 쓰이는 객체를 말한다.

2) 다른 로직없이 순수하게 데이터만 담고 있다.

3) DTO는 자바빈즈(JavaBeans) 규약에 따라 작성한다.

4) 자바빈즈 규약

- 자바빈즈는 기본(default) 패키지 이 외의 패키지에 속해야한다.
- 멤버 변수(속성)의 접근 지정자는 private으로 선언한다.
- 기본 생성자가 있어야 한다.
- 멤버 변수에 접근할 수 있는 게터(getter)/세터(setter) 메서드가 있어야 한다.
- 게터/세터 메서드의 접근 지정자는 public으로 선언해야한다.

 

[Spring] 관심사 분리, MVC pattern, 컴포넌트 아키텍처, 프론트 컨트롤러

 

[Spring] 관심사 분리, MVC pattern, 컴포넌트 아키텍처, 프론트 컨트롤러

1. 관심사의 분리 (Separation of Concerns)와 계층화(Layering) 1) 관심이 같은 것은 한 곳으로 모으고, 다른 것은 따로 떨어뜨려 서로 영향을 주지 않도록 분리하는 것이다. 2) 복잡한 소프트웨어를 계층으

ozizo.tistory.com

[Spring] 표현식, 표현언어, 영역, Scope, 내장객체

 

[Spring] 표현식, 표현언어, 영역, Scope, 내장객체

1. 소개 1) 표현 언어 (Expression Language) - 변수의 값을 표현식보다 편하게 출력할 수 있게 해 준다. - 표현식 - 스크립트 언어 - JSP의 기본 문법 보완하는 역할을 한다. - 4가지 영역(Scope) 2) EL 기본 사

ozizo.tistory.com

[Spring] 스크립트 요소 (스크립틀릿, 표현식, 선언부) 지시어 등

 

[Spring] 스크립트 요소 (스크립틀릿, 표현식, 선언부) 지시어 등

1. 소개 1) 동적인 웹 페이지를 개발하기 위한 웹 프로그래밍 기술이다. 2) 자바 언어를 사용하여 서버 측에서 웹 페이지들을 생성해 웹 브라우저로 전송해준다. 3) 장점 - 짧은 코드로 동적인 웹

ozizo.tistory.com

 

 

LIST
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유