Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

서블릿과 서블릿 컨테이너 #11

Open
YoumHyeJi opened this issue Mar 14, 2022 · 2 comments
Open

서블릿과 서블릿 컨테이너 #11

YoumHyeJi opened this issue Mar 14, 2022 · 2 comments

Comments

@YoumHyeJi
Copy link

YoumHyeJi commented Mar 14, 2022

자세한 설명

https://loco-motive.tistory.com/2

서블릿과 컨트롤러의 차이

https://baek-kim-dev.site/70


서블릿(Servlet)이란?

WebProgramming에서 Client의 요청을 처리하고, 그 결과를 다시 Client에게 전송하는 자바 프로그래밍 기술.

서블릿이 해야하는 일

  1. HTTP 요청(request)을 받아서 처리
  2. 요청에 대한 응답(response)

서블릿의 특징

  1. Client의 요청에 동적으로 작동
  2. Java Thread를 이용해 동작
  3. HTML 변경 시 재컴파일 필요
  4. Java 코드에 HTML이 들어가 있음
  5. HTML을 사용해서 요청에 응답

서블릿 컨테이너란 ?

서버에 만들어진 서블릿이 스스로 작동하는 것이 아니라, 서블릿을 관리 해주는 것이 필요한데, 이러한 역할을 하는 것이 바로 서블릿 컨테이너이다.
서블릿 컨테이너는 서블릿들의 생성, 실행, 파괴를 담당한다.
image

즉, 서블릿을 '요구사항 명세서'라고 표현한다면, 서블릿 컨테이너는 그 명세서를 보고 개발하는 '개발자'이다.
서블릿 컨테이너는 Clinet의 Request를 받아주고 Response할 수 있게, 웹 서버와 소켓을 만들어 통신한다.
대표적으로 무료 서비스인 Tomcat(톰캣)이 있다.
톰캣은 웹 서버와 소켓을 만들어 통신하며 JSP(java server page)와 Servlet이 작동할 수 있는 환경을 제공한다.

서블릿 컨테이너가 필요한 이유
일반적으로 사용자는 서버에서 오직 정적인 웹페이지만을 요청할 수 있음.
만약 사용자가 본인의 입력을 기초로한 웹페이지를 자유롭게 얻고 싶다면 이 방법은 제한적임.
서블릿 컨테이너는 서버 사이드에서 동적으로 웹페이지를 생성하기 위해 자바를 사용.
때문에 웹서버와 서블릿들이 상호작용할 때, 서블릿 컨테이너는 필수적.

@ksi05503
Copy link
Contributor

서블릿 역할을 컨트롤러에 빗대니까 더 이해가 잘된다 굿굿!
�http 요청 각각을 스레드를 만들어서 병렬적으로 처리하도록 하는 객체가 서블릿이고, 그 서블릿들의 동작을 제어해주는게 서블릿 컨테이너인거지?
관련된 코드 실습을 좀 해보고싶다

@bong01
Copy link
Member

bong01 commented Mar 29, 2022

MVC 패턴에서 컨트롤러!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants