본문 바로가기

Java&JSP&Spring/JSP&Servlet

[JAVA/Servlet]Servlet의 작동 순서

 

[JAVA/Servlet]Servlet의 작동 순서

안녕하세요 미나라이 입니다.

이번시간에는 Servlet의 작동 순서에 대해서 간단하게 포스팅 해보려고 합니다.

 

Servlet작동 순서

클라이언트(브라우저)에서 Servlet요청(버튼 동작 등 URL요청)이 들어오면 서버(Tomcat)에서는 Servlet컨테이너를 만들고, 요청이 있을때마다 스레드가 생성 됩니다.

여기서 웹 서버는 단순히 정적 처리(Javascript등)만 담당하고 동적 처리는 WAS서버에 요청을 보냅니다.

서블릿 컨테이너에 대해서 궁금하신 분들은 아래 링크를 참고 해 주세요

 

서블릿 컨테이너(Servlet Container) 란?

서블릿들을 위한 상자(Container) 입니다.

velog.io

CGI를 사용하는 언어와의 차이

CGI

CGI를 사용해서 웹 서비스를 지원하는 언어는 PHP등이 있습니다.

1. 브라우저에서 요청(Request)가 옵니다.

2. 요청이 오면 프로세스(객체)를 생성하고 처리를 합니다.

3. 요청이 올 때마다 프로세스를 계속 추가로 생성합니다.

4. 요청이 적을때는 문제가 없지만 요청이 많으면 프로세스가 계속 늘어나기 때문에 서버에 부하가 올 수 있습니다.

Servlet

Servlet기반은 Java밖에 없습니다.

1. 브라우저에서 요청(Request)가 옵니다.

2. JVM이 스레드를 생성하고 처리를 합니다.

3. 요청이 올 때마다 스레드를 계속 추가해서 생성합니다.

4. 스레드를 이용하기 때문에 서버에 부하가 적게 발생합니다. 그렇기 때문에 속도면으로 안정적입니다.

 

프로세스와 스레드가 뭐고 대체 뭐가 다른지에 대해서 궁금하신 분들은 아래 블로그에 정리가 잘 되어있는 것 같아서 링크를 추가합니다.

 

[OS] 프로세스와 스레드의 차이 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

이상으로 간단하게 Servlet의 작동 원리에 대해서 정리 해 보았습니다.

 

 

 

728x90
반응형