기간
2023/2/13 ~ 2023/2/17

수업
실시간 ZOOM 수업


Day 5(서버)

서버는 갑. 클라이언트로부터 request를 받으면 response를 하고 socket을 닫음.
⇒ stateless

요즘 http통신은 상태를 저장하는데 이 경우는 stateful

브라우저가 url 요청을 하면 html로 응답하는데 브라우저는 html 외는 해석을 못 함
따라서 jsp파일의 경우 아파치에 톰캣을 달아서 자바코드를 해석(컴파일 실행)


Day 6(서블릿 기본)

API(Application Interface)


Day 7(서블릿 고급)

서블릿은 단 한 번만 서비스가 만들어짐
서블릿의 호출로 쓰레드가 만들어짐
쓰레드를 통해서 서비스가 실행됨

서버는 클라이언트의 요청(request)을 받지만 해당 request를 저장하지 않음
response할 때 request를 삭제 → stateless 무상태성
⇒ 정보가 너무 많아지면 서버에 부담이 되므로

하지만 클라이언트의 정보를 저장할 필요가 있음
→ 처음 접근한 클라이언트에 대해 세션 스토어에 세션 key를 담고 response 헤더에 session key를 보냄
→ 브라우저에 저장(쿠키)
→ 두 번째부터 요청할 때 헤더에 session key를 보냄
: 이전에 왔던 사용자인지 알 수 있음

브라우저
1. 최초 요청 - 브라우저(쿠키 저장소 확인)
2. 없음
3. 요청

서버
1. 요청 받음 - 헤더 쿠키값 확인
2. 없음
3. 세션키 생성
4. 세션키 → 세션 스토어에 저장
5. response header에 세션키를 저장

브라우저
1. 응답 받음 - response header에 세션키 확인
2. 있음
3. 브라우저 쿠키 저장소에 저장

index.jsp 요청
→ 톰캣
1. index_jsp.java (서블릿 파일 변환)
2. 컴파일 실행

서블릿 스코프
1. Page 스코프
2. Request 스코프(*중요)
- HttpServletRequest API 사용
- 요청 ~ 응답까지의 Life Cycle을 가진다.
3. Session 스코프
4. Application 스코프

EL표현식

${pageScope.pageData}
profile
웹퍼블리셔의 백엔드 개발자 도전기

0개의 댓글