서블릿(Servlet)이란?

seringee·2023년 9월 17일
0

개발자개인공부

목록 보기
14/28

서블릿(Servlet)

  • Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술.
  • 웹을 만들 때 다양한 요청(Request)과 응답(Response)이 있기 마련이 이 요청과 응답에는 규칙이 존재함
  • 이러한 웹 요청과 응답의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해주는 기술

서블릿 구동방식

서블릿은 자바 클래스로 웹 애플리케이션을 작성한 뒤 이후 웹 서버 안에 있는 웹 컨테이너에서 이것을 실행하고, 웹 컨테이너에서는 서블릿 인스턴스를 생성 후 서버에서 실행되다가 웹 브라우저에서 서버에 요청(Request)을 하면 요청에 맞는 동작을 수행하고 웹 브라우저에 HTTP형식으로 응답(Response)

서블릿 주요 특징

  • 클라이언트의 Request에 대해 동적으로 작동하는 웹 애플리케이션 컴포넌트
  • HTML을 사용하여 응답
  • JAVA의 스레드를 이용하여 동작
  • MVC 패턴에서의 컨트롤러로 이용됨
  • HTTP 프로토콜 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스 상속받음
  • UDP보다 속도가 느림
  • HTML 변경 시 Servlet을 재 컴파일해야하는 단점있음

서블릿 컨테이너

  • 서블릿을 담고 관리해주는 컨테이너. 구현되어있는 Servlet 클래스의 규칙에 맞게 관리해주며 클라이언트에서 요청을 하면 컨테이너는 HttpServletRequest, HttpServletReponse 두 객체를 생성하며 post, get 여부에 따라 동적인 페이지를 생성하여 응답을 보냄.
  • HttpServletRequest : http프로토콜의 request정보를 서블릿에게 전달하기 위한 목적으로 사용. 헤더 정보, 파라미터, 쿠키, URI, URL 등의 정보를 읽어 들이는 메서드와 Body의 Stream을 읽어 들이는 메서드를 가지고 있음.
  • HttpServletResponse : WAS는 어떤 클라이언트가 요청을 보냈는지 알고 있고, 해당 클라이언트에게 응답을 보내기 위한 HttpServleResponse 객체를 생성하여 서블릿에게 전달하고 이 객체를 활용하여 content type, 응답 코드, 응답 메시지 등을 전송.

서블릿 컨테이너 주요 기능

  • 생명주기 관리
  • 통신 지원
  • 멀티스레딩 관리
  • 선언적인 보안관리

서블릿 동작과정

참고 : https://coding-factory.tistory.com/742

profile
개발 공부 정리하고 저장하기

0개의 댓글