본문 바로가기

Server/Spring & AWS

[Spring] 스프링 MVC 구조이해 - 서블릿이란

 

서블릿이란

클라이언트 "동적인 웹페이지 요청"을 처리하고 그 결과를 반환하는 기술

 

ex) 클라이언트의 아이디와 비밀번호 확인

 

[간단한 등장 배경]

사용자가 많아지면서 정적인 자료의 제공을 넘어서 자기 필요에 맞는 자료를 제공받고 싶어했다

사용자 요구에 맞춰 동적으로 반응하는 페이지를 만들기 위해 만들어진 것이 서블릿이다

 


서블릿과 서버

 

동적인 페이지를 제공하기 위해 SERVER가 WEB 서버와 WAS로 나눠졌다

WAS는 연산결과를 웹서버로 제공하고, 웹서버는 정적 페이지를 만들어 사용자에게 제공한다

  • WEB 서버
    • 사용자의 요청에 따라 정적인 페이지 제공
  • WAS 서버
    • 클라이언트 요청 중 연산이 필요한 부분을 연산
이때 WAS에서 연산을 담당하는 것이 서블릿이다

 

서블릿은 WAS 안에 있는 서블릿 컨테이너(웹 컨테이너) 공간에서 활용된다

 

 


서블릿 컨테이너

서블릿을 이용해 클라이언트 요청 처리

 

서블릿 기술을 사용한다

구체적으로 말하자면, 다양한 서블릿이 고객의 요청에 따라 작동하도록 서블릿을 제어한다

 

ex) 쇼핑몰 - 주문, 회원가입, 장바구니 등 다양한 기능

각각의 기능을 구현할 다양한 서블릿이 한 서버 안에서 동작한다. 따라서 서블릿들이 서버에서 잘 운용되도록 컨트롤해야한다

 

 

 


서블릿 패키지 내 구조

  • Servlet 인터페이스
    • 해당 인터페이스를 구현하기 위해선 life-cycle 메서드인 init, service, destory와
    • getServletConfig, getServletinfo를 구현해야한다
  • ServletConfig 인터페이스
    • 초기화 중에 서블릿에 정보를 전달하기 위해 서블릿 컨테이너에서 사용하는 서블릿 구성을 위한 객체이다
  • GenericServlet 추상 클래스
    • (위에것 보다 조금 더 수월하게 만든 것) Servlet의 init(), destroy()를 간단하게 제공한다
    • 즉 사용자는 service만 구현하여 서블릿을 간편하게 실행할 수 있다
  • HttpServlet 추상 클래스
    • http 프로토콜 한정적으로 사용할 수 있다
    • 구체화가 높은 클래스

 


참고자료

https://sgcomputer.tistory.com/226

 

서블릿(Servlet)이란?

서블릿이란? 자바를 기반으로 하는 웹페이지를 동적으로 만들어줄 수 있는 일종의 프로그램을 말한다. 사실 좁게 보면 서블릿이란 위와 같은 기능을 하는 자바의 클래스를 뜻한다. 넓게보면 위

sgcomputer.tistory.com

https://mangkyu.tistory.com/14

 

[JSP] 서블릿(Servlet)이란?

1. Servlet(서블릿) 서블릿을 한 줄로 정의하자면 아래와 같습니다. 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술 간단히 말해서,

mangkyu.tistory.com