본문 바로가기
Web

Servlet 기초

by 밍상 2021. 7. 16.

자바 웹 어플리케이션(Java Web Application)

  • WAS에 설치되어 동작하는 어플리케이션
  • 자바 웹 어플리케이션에는 HTML, CSS, 이미지, 자바로 작성된 클래스(Servlet도 포함됨, package, 인터페이스 등), 각종 설정 파일 등이 포함된다. 

 Servlet 이란?

  • 자바 웹 어플리케이션의 구성요소 중 동적인 처리를 하는 프로그램의 역할
  1. 서블릿은 WAS에서 동작하는 Java 클래스이다.
  2. 서블릿은 HttpServlet 클래스를 상속받아야 한다.
  3. 서블릿과 JSP로부터 최상의 결과를 얻으려면, 웹 페이지를 개발할 때 이 두가지(JSP, 서블릿)를 조화롭게 사용해야 한다.

Servlet lifecycle

서버 메모리에 서블릿이 없으면 처음 호출될 때 서블릿이 생성되며 생성자 함수가 호출되고, 초기화 init 함수도 그 때 호출된다. 그 이후 호출시 서비스 메소드가 호출된다.

if(메모리에 없음){
    a. 해당 서블릿 클래스를 메모리에 올림
    b. init()메소드를 실행
}
-service()메소드를 실행

 

Service method

service메소드가 구현돼 있지 않다면(오버라이드하지 않았다면) 클라이언트의 요청이 GET일 경우에는 자신이 가지고 있는 doGet(request, response)메소드 호출, 클라이언트 요청이 POST일 경우에는 자신이 가지고 있는 doPost(request, response)를 호출

 

HttpServletReuest

  • http프로토콜의 request정보를 서블릿에게 전달하기 위한 목적으로 사용
  • 헤더정보, 파라미터, 쿠키, URI, URL 등의 정보를 읽어 들이는 메소드를 가지고 있다.
  • Body의 Stream을 읽어 들이는 메소드를 가지고 있다.

HttpServletResponse

  • WAS는 어떤 클라이언트가 요청을 보냈는지 알고 있고, 해당 클라이언트에게 응답을 보내기 위한 HttpServletResponse 객체를 생성하여 서블릿에게 전달
  • 서블릿은 해당 객체를 이용하여 content type, 응답코드, 응답 메시지 등을 전송

 

 

'Web' 카테고리의 다른 글

JSTL  (0) 2021.07.20
Scope  (0) 2021.07.19
WAS  (0) 2021.07.15
Back-end 기초  (0) 2021.07.15
Front-End 기초  (0) 2021.07.15