ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 서블릿(Servlet)
    Spring/MVC1-웹 어플리케이션 이해 2023. 6. 6. 23:39
    728x90

    우리가 흔히 알고 있듯이 HTML에서 Form 데이터의 전송이 서버로 일어나게 되면, 다음의 과정이 필요하다

     

    1. Form 데이터 전송(POST)

     

    2.  웹 브라우저가 생성한 요청 HTTP 메세지

    김영한 - 인프런 로드맵 자료 中

    이렇게 전달이 되면,

    서버에서는 다양한 일들이 일어난다.

     

    • 서버 연결 대기 및 소켓 연결
    • HTTP 요청 메세지에 대한 파싱 작업
    • 메소드에 따른 HEADER 정보 파악
    • 전달받은 Form 데이터 파싱
    • . . . 
    • HTTP 응답에 대한 메세지 생성 시작
    • TCP/IP에 응답 전달, 소켓 종료

     

    이때, 서블릿을 지원하는 WAS에서는,

    비지니스 로직을 실행하고, 데이터베이스에 POST(저장 일 경우) 요청에 대한 처리를 하는 것을 제외한
    모든 일들을 Servlet이 담당해준다.

     

     

    서블릿의 특징

    • 특정 url 요청이 들어오면 해당 Servlet코드가 실행

    • HTTP 요청에 대해 처리를 도와주는, HttpServletRequest 객체 제공
      주로 HTTP 요청에 대한 메세지를 기반으로 만들어지고, Client로부터 받은 정보를 가지고 있음

    • HTTP 응답에 대해 처리를 도와주는, HttpServletResponse 객체 제공
      주로 HTTP 응답에 대한 메세지를 생성하는 작업 수행

    위에서 서블릿이 제공해주는 것들은 개발자의 편의를 정말 많이 돕는다.

     

     


    Servlet을 지원하는 WAS를 우리는 

    Servlet Container

    라고 한다.

     

     

    Servlet Container 특징

    • Servlet 객체의 생성, 초기화, 호출, 종료의 생명주기를 관리
    • 여기서 생성된 servlet 객체는 싱글톤으로 관리
      ※ 싱글톤으로 관리한다는 말은, 공유되는 멤버변수 사용시에 주의하여야 합니다!
          이유:  다른 사람의 정보가 노출될 수 있기 때문!
    • 동시 요청을 위한 멀티 쓰레드 처리 지원(Spring)

     

    멀티쓰레드에 대해선,

     

    'Spring > MVC1-웹 어플리케이션 이해' 카테고리의 다른 글

    멀티 쓰레드  (0) 2023.06.07
    웹서버 vs 웹 어플리케이션 서버  (0) 2023.06.06
Designed by Tistory.