[Spring] Servlet

limlim·2023년 4월 6일
0

Spring

목록 보기
1/8
post-thumbnail

1. Servlet 개념

  • 서블릿은 웹 프로그래밍에서 클라이언트 요청을 처리하고 처리 결과를 클라이언트에 전송하는 기술
  • 자바로 구현된 CGI (Common Gateway Interface)

2. Servlet 특징

  • 클라이언트의 요청에 대해 동적으로 작동으로 웹 어플리케이션 컴포넌트
  • HTML을 사용해서 요청에 응답함
  • Java thread를 통해 동작함
  • MVC 패턴 중 Controller로 이용됨
  • HTTP 프로토콜 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속 받음
  • HTML 변경 시 Servlet을 재 컴파일 해야함
  • 서블릿은 톰캣 같은 웹 애플리케이션 서버를 직접 설치하고, 그 위에 서블릿 코드를 클래스 파일로 빌드해서 올린 다음, 톰캣 서버를 실행함. 이 과정은 매우 복잡하고 번거로움

cf) 스프링 부트는 톰캣 서버를 내장하고 있으므로, 톰캣 서버 설치 없이 서블릿 코드 실행 가능

3. Servlet 동작과정


1) Client가 URL을 클릭하면 HTTP Request를 서블릿 컨테이너로 전송함
2) HTTP Request를 전달받은 서블릿 컨테이너는 HttpServletRequest, HttpServletResponse 두 객체를 생성함
3) web.xml은 사용자가 요청한 URL을 분석하여 어느 서블릿에 대해 요청을 한 것인지 찾음
4) 해당 서블릿에서 service() 메소드를 호출한 후 Client의 요청 종류 (GET, POST)에 따라 doGet() 혹은 doPost()를 호출함
5) doGet(), doPost() 메소드는 동적 페이지를 생성한 후 HttpServletResponse 객체에 응답을 보냄
6) 응답이 끝나면 HttpServletRequest, HttpServletResponse 두 객체를 소멸시킴

참고자료
: https://kohen.tistory.com/29
: https://12bme.tistory.com/555

profile
不怕慢,只怕站 개발자

0개의 댓글