[서블릿 - 구조파악]

yedy·2023년 5월 17일
0

[Servlet]

목록 보기
3/6
post-thumbnail

JSP 구조파악 -> 어떻게 서비스를 하면 좋을지!

✔️ 서블릿

서버 쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스


동적인 기능을 넣으려면 무조건 서블릿을 써줘야 한다!


서블릿 특징

  • 서버 쪽에서시랭되면서 기능을 수행함
  • 동적인 여러 가지 기능을 제공함
  • 스레드 방식으로 실행됨 (동기화)
  • 자바로 만들어진다(객체 지향의 특징 가짐 특히 보안기능(캡슐화))
  • 웹 브라우저에서 요청시 기능을 수행

"자바에서 컨테이너 = 서버 = WAS" 라고 생각해도 .. 좋을 듯!
서블릿 ? 자바에서 제공하는 class !

✔️ 서블릿 API 계층 구조와 기능

GenericServlet 추상클래스는 Servlet과 ServletConfig 인터페이스를 구현함

HttpServlet은 GenericServlet 추상클래스를 상속받음


서블릿 API 구성 요소 특징

  • GenericServlet 클래스는 여러 통신 프로토콜에 대한 서블릿 기능을 구현함.
  • GenericServlet 클래스를 상속받는 HttpServlet 클래스는 HTTP 프로토콜을 사용하는 서블릿 기능을 수행함.

    브라우저 통신은 http 프로토콜을 사용한다
    -> HttpServlet 클래스를 이용해서 서블릿 기능 구현

HttpServlet 클래스의 여러 가지 메서드 기능

메소드 호출 과정
클라이언트 요청 -> public service()호출 -> protected service() 호출 -> doXXX() 호출

✔️ 서블릿 생명주기 메서드

서블릿 생명주기(Life Cycle) 메서드

  • 서블릿 실행 단계마다 호출되어 기능을 수행하는 콜백 메서드

    사용자가 브라우저에서 서버로 요충을 하면 서블릿이 실행된다!
    실행된 서블릿에는 미리 구현된 메서드를 자동으로 호출하는 메서드!!

✔️ FirstServlet을 이용한 실습

서블릿 랭성 과정

사용자 정의 서블릿 클래스 만들기
⬇️
서블릿 생명주기 메서드 구현
⬇️
서블릿 매핑 작업
⬇️
웹 브라우저에서 서블릿 매핑 이름으로 요청하기

사용자 정의 서블릿 만들기

서블릿 클래스에 대응하는 서블릿 매핑 이름을 정할 수 있다.




서블릿 매핑시에 서블릿 태그는 서블릿 태그끼리 매핑 태그는 매핑태그끼리 묶어서 구현을 해야 한다!!

first 실행시

second 실행시


✔️ 서블릿 동작과정

스레드 동작방식

profile
공주 개발자

0개의 댓글