본문 바로가기

웹 어플리케이션 공부

서블릿이란

반응형

자바 웹 어플리케이션을 공부하며, 다소 헷갈렸던 개념 + 중요한 개념 등을 기록해보고자 한다.

 

우선 자바 웹 어플리케이션(Java Web Application)은 WAS(예: 톰캣)에 설치되어 동작하는 어플리케이션을 말한다.
자바 웹 어플리케이션에는 HTML, CSS, 이미지, 자바로 작성된 클래스(Servlet, package, interface 등), 각종 설정 파일 등이 포함된다.

이 중, 서블릿이란 자바 웹 어플리케이션 구성요소 중 동적인 처리를 하는 프로그램의 역할을 말하며, 다시 말하면 WAS에 동작하는 JAVA클래스인것이다.

 

현재 프로젝트에서 웹을 개발할 때 서블릿을 직접 쓰기보다는, 다양한 프레임워크를 사용해서 개발하는 경우가 많다.
다만, 그 프레임워크의 동작을 이해하기 위해서는 서블릿의 기본적인 작성법이나 라이프 사이클을 이해하면 웹의 동작을 이해하는 데 많은 도움을 얻을 수 있다.

 

우선, 서블릿은 2가지 방법으로 작성방법이 나뉜다.

  1. Servlet 3.0 spec 이상
    • web.xml파일 사용 x
    • 자바 어노테이션 사용
  2. Servlet 3.0 spec 미만 
    • servlet 등록 시 web.xml파일에 등록

Servlet 생명주기

  1. WAS는 서블릿 요청을 받으면 해당 서블릿이 메모리에 있는지 확인한다
  2. if(메모리에 없음){
    1. 해당 서블릿 클래스를 메모리에 올림
    2. init() 메소드 실행
      }
    3. service() 메소드 실행
  3. WAS가 종료되거나, 웹 앱이 새롭게 갱신될 경우 destroy() 메소드 실행

 

자, 이제 Servlet을 통해 요청과 응답을 이해해보자.

  1. 웹 브라우저로부터 요청을 받게되면, WAS는 HttpServletRequest 객체를 생성하여 저장한다.
  2. 웹 브라우저에게 응답을 보낼 때 사용하기 위하여 HttpServletResponse 객체를 생성한다.
  3. 생성된 HttpServletRequest, HttpServletResponse 객체를 서블릿에게 전달한다.

 

서블릿은 이러한 객체들을 통해 content type, 응답코드, 응답 메시지 등을 전송한다.

반응형

'웹 어플리케이션 공부' 카테고리의 다른 글

API  (0) 2020.10.04
jsp  (0) 2020.10.04
웹 개발 기본 지식  (0) 2020.09.28