서블릿과 JSP

Jimin·2022년 11월 1일
0

스프링 - fastcampus

목록 보기
6/21

서블릿과 컨트롤러의 비교

JSP ≒ Servlet ⇒ Spring

서블릿컨트롤러
@WebServlet = @Controller + @RequestMappingController
service()main()
extends HttpServlet상속X
class 별로 MappingMethod 별로 Mapping
  1. init()
    서블릿의 초기화 작업 담당
  2. service()
    • 입력
    • 처리
    • 출력
  3. destroy()
    뒷정리 - 서블릿이 메모리에서 제거될 때 서블릿 컨테이너에 의해서 제거

서블릿의 생명주기

요청이 들어왔을 때, 서블릿 인스턴스 존재여부 확인

  • 없는 경우 → 서블릿 클래스 로딩 & 인스턴스 생성 → init() → service() → 응답
  • 있는 경우 → service() → 응답

JSP(Java Server Pages)

≒ Servlet
JSP는 자동으로 JSP로 전환된다.


JSP의 호출 과정

요청이 들어왔을 때, 서블릿 인스턴스 존재여부 확인

  • 없는 경우(시간 지연O)
    → jsp → 서블릿 소스파일로 변환 → 서블릿 클래스 파일로 컴파일 → 서블릿 인스턴스 생성 → 응답
  • 있는 경우 → 서블릿 인스턴스 → 응답

Singleton

  • 서블릿: lazy-init
  • 스프링: early-init

JSP의 기본객체

생성없이 사용할 수 있다.

request, response, session, out, ...


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

HTTP특징: 상태정보저장X (Statelsess) ⇒ 저장소 필요

저장소는 MAP 형태로 되어 있다.

범위에 따라서 4개의 저장소 제공
1. 접근 범위
2. 생존 기간

pageContext

lv 저장
기본객체(request, response)
읽기, 쓰기

applicaiton

WebApp 전체에서 접근 가능한 저장소
공통 저장소

session

개별 저장소
클라이언트마다 1개 존재 ⇒ 최소한의 data만 저장한다. (서버부담이 큼)
id, 장바구니 같은 정보를 저장

request

forward
JSP → JSP (request 전달)


EL(Expression Language)

${}
profile
https://github.com/Dingadung

0개의 댓글

관련 채용 정보