1. Spring M

2. Spring V

3. Spring C

4. Servlet

5. Servlet Listener와 Servlet Filter

1. Spring M

1-1) Spring M

도메인 객체 또는 DTO 화면에 전달할 또는 화면에서 전달 받은 데이터를 담고 있는 객체

평범한 자바 객체 POJO

1-2) Event

Untitled

1-3) EventService

Untitled

2. Spring V

2-1) Spring V

데이터를 보여주는 역할. 다양한 형태로 보여줄 수 있음.

HTMl, JSP, Thymeleaf

스프링 부트는 기본적으로 동적인 뷰를 resources - templates 디렉토리에서 찾음.

2-3) events.html

Untitled

3. Spring C

3-1) Spring C

사용자 입력을 받아 모델 객체의 데이터를 변경하거나 모델 객체를 뷰에 전달하는 역할

입력값 검증

입력 받은 데이터로 모델 객체 변경

변경된 모델 객체를 뷰에 전달

3-2) EventController

Untitled

4. Servlet

4-1) Servlet

Untitled

4-2) Servlet 생명주기

4-2)-1. init()

서블릿 컨테이너가 서블릿 인스턴스의 init() 메소드를 호출하여 초기화한다.

최초 요청을 받았을 때 한 번 초기화하고 나면 그 다음 요청부터 이 과정을 생략함.

4-2)-2. service()

서블릿이 초기화 된 다음부터 클라이언트의 요청을 처리할 수 있다.

각 요청은 별도의 쓰레드로 처리하고 이때 서블릿 인스턴스의 service() 메소드를 호출함.

4-2)-3. destroy()

서블릿 컨테이너 판단에 따라 해당 서블릿을 메모리에서 내려야 할 시점에 destroy()를 호출함.

4-3) Servlet Maven Project

archetype-webapp로 생성

Untitled

4-4) Servlet 의존성 추가

Provided, 코딩하는 시점에 사용가능 런타임 시점에 사용불가

Untitled

4-5) Java Source Directory

Java Dierctory 생성 후 Source 설정하기

Untitled

4-6) HelloServlet

Servlet을 독자적으로 실행할 수 없음.

Untitled

4-7) Add Configuration

4-7)-1. Tomcat Server-1

Untitled

4-7)-2. Tomcat Server-2

Untitled

Untitled

Untitled

Untitled

4-7)-3. Tomcat Server-3

Untitled

Untitled

Untitled

Untitled

4-7)-4. web.xml

Untitled

5. Servlet Listener와 Servlet Filter

5-1) Servlet Listener

5-2) Servlet Filter