Basic Components
기본적으로 HTTP 요청을 처리해야한다.
보통 web을 위해서 프레임워크는 database access, login security, rendering html, logging, testing의 기능을 지원해야 한다.
퀴즈
: Application Server가 이해할 수 있도록 요청을 포맷하는 protocol
1)여러 클라이언트의 연결을 동시에 자동으로 처리
2)커스텀 로직과 함께 요청을 처리하도록 구성
3)무겁거나 범용 구성 요소들을 각 어플리케이션과 함께 공유 가능
웹페이지를 보여주는거는 application server가 아니라 application이 하는 일이다.
http 요청을 application data와 함께 응답하는 것은 application이 하는 일이다.
: Server는 HTTP를 요청하고, 정보를 분석하고, 어떤 servlet이 요청객체를 받을지 결정한다.
Servlet이 server에 응답을 보내긴 하지만 요청을 하지는 않는다.
1)init 메소드는 인스턴스화 된 후 한번만 호출된다.
2)service 메소드는 여러번 호출될 수 있다.
3) Server는 WAR파일로부터 servlet을 아무때나 로드할 수 있다.
Server method는 멀티스레딩과 servlet 인스턴스화를 처리하고 동일한 servlet을 유지하여 여러 요청을 받을 수 있기 때문에 여러번 호출될 수 있다.
server는 한번에 여러 application을 로딩할 수 있다. reflection을 사용하여 war파일에서 클래스를 프로그래밍 방식으로 로 드하면 언제든지 이 작업을 수행할 수 있다.
Servelt은 application과 application server사이의 interface이다.
: Spring은 요청을 처리하기 위해 Server로부터 Servlet 요청을 특정 자바 코드로 보낸다.
: Servlet
1)HTTP 요청에 응답함으로써 웹페이지를 생성하기 위해 template 사용
2)보안 관리 및 인증 요청
3)application 코드를 특정하기 위한 route http 요청
4)객체 인스턴스화의 사용을 필요로하는 서비스안에 주입
1)standalone 어플인지 server소속인지 특정 : Packaging
2) 외부 라이브러리 사용 : Dependancies
3) 프로젝트 이름 특정 : Artifact
4) class 경로 특정 : Group
1)Spring Boot DevTools
2)Spring Web
3)Thymeleaf
4)Spring Security
5)MyBatis Framework
6)PostgreSQL Driver