Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 화살표 함수
- final
- Anonymous Functions
- 유니코드
- import
- 기본 생성자
- final 메소드
- 디코딩
- 클래스
- 자바
- 객체지향 #객체지향 특징
- Arrow function
- annotation
- 자바의 특징
- 생성자
- 익명함수
- 패키지
- final 클래스
- 메소드 재정의
- 라우터
- 어노테이션
- package
- 문자집합
- node
- 인코딩
- Override
- Super
- router
- 즉시 실행 함수
- 노드
Archives
- Today
- Total
개인 공부 블로그
서블릿(Servlet) 본문
서블릿 등록 및 사용 방법
서블릿은 톰캣 같은 웹 애플리케이션 서버(WAS)를 직접 설치하고 그 위에 서블릿 코드를 클래스 파일로 빌드해서 올린다음 톰캣 서버를 실행하면 된다.
스프링 부트를 사용하면 톰캣 서버를 내장하고 있어 톰캣 서버 설치 없이 편리하게 서블릿 코드를 실행할 수 있음.
서버에서 처리해야 하는 업무
웹 애플리케이션 서버를 처음부터 끝까지 내가 다 만들어야 된다면 우선 HTTP 메시지를 쭉 다 풀어헤쳐야함.
- 서버에서 TCP/IP 연결을 대기하도록 코드를 짜 놓는다, 소켓 연결
- HTTP 메시지는 단순 텍스트. 파싱해서 읽기
- Content-Type에 맞게 바디 내용 파싱
- 비즈니스 로직 실행
- HTTP 응답 메시지 생성
- TCP/IP에 응답 전달, 소켓 종료
이렇게 하면 개발자가 해야되는 것이 너무 많고 비효율적. 개발자가 비즈니스 로직에만 집중할 수 있도록 서블릿이 나머지 작업을 다 해준다. HTTP 스펙을 편리하게 사용할 수 있도록 제공.
HTTP 요청, 응답 흐름
- WAS는 Request, Response 객체를 새로 만들어서 서블릿 객체 호출
- 개발자는 Request 객체에서 HTTP 요청 정보를 편리하게 꺼내서 사용
- 개발자는 Response 객체에 HTTP 응답 편리하게 입력
- WAS는 Response 객체에 담겨있는 내용으로 HTTP 응답 정보를 생성
서블릿 컨테이너
- 서블릿을 지원하는 WAS를 서블릿 컨테이너라고 함. 예) 톰캣
- 서블릿 컨테이너는 서블릿 객체를 생성, 초기화, 호출, 종료하는 생명주기를 관리.
- 서블릿 객체는 싱글톤으로 관리. 서블릿 컨테이너 종료 시 함께 종료.
- JSP도 서블릿으로 변환되어 사용
- 동시 요청을 위한 멀티 쓰레드 처리 지원 (개발자는 멀티 쓰레드에 대해 크게 신경쓰지 않아도 WAS가 알아서 잘 처리해준다.)
출처
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard
'스프링 > MVC 1 - 백엔드 웹 개발 핵심기술' 카테고리의 다른 글
동시 요청 - 멀티 쓰레드 (0) | 2024.02.02 |
---|---|
자바 웹 기술 역사 - 스프링 부트 (0) | 2024.02.02 |
프론트 컨트롤러(Front Controller) 패턴 (0) | 2024.02.02 |
JSP form action - 절대경로, 상대경로 (0) | 2024.02.02 |
MVC 패턴 (0) | 2024.02.02 |