[JSP] Servlet #2

yenn·2021년 1월 25일
0

JSP

목록 보기
2/8
post-thumbnail

Servlet 생명주기

HttpServlet의 3가지 메소드 오버라이딩

  • init()
  • service(request, response)
  • destroy()

Servlet 의 생성 순서

객체 생성 → init() → Service → Service / destroy

WAS는 서블릿 요청을 받으면 해당 서블릿이 메모리에 있는지 확인 → 메모리에 없다면, 메모리에 올리는 작업을 실행 = 객체 생성

Service()

  • 요청이 들어왔을 때 응답해야하는 모든 메서드들은 service()에 구현되어야 함
  • HttpServlet의 service 메소드는 템플릿 메소드 패턴으로 구현되어 있음
    • 클라이언트 요청이 GET일 경우, 자신이 가지고 있는 doGet()메소드를 호출
    • 클라이언트 요청이 POST일 경우, 자신이 가지고 있는 doPost()메소드를 호출

destroy()

  • WAS가 종료되거나 새롭게 갱신되었을 때만 호출됨

HttpServletRequest & HttpServletResponse

WAS는 웹 브라우저로부터 Servlet 요청을 받으면

  • 요청할 때 가지고 있는 정보를 HttpServletRequest 객체를 생성하여 저장
  • 웹 브라우저에 응답을 보낼 때 사용하기 위하여 HttpServletResponse 객체를 생성
  • 생성된 HttpServletRequest, HttpServletResponse 객체를 서블릿에게 전달
  • service(), doGet(), doPost()와 같은 메서드에 파리미터로 전달됨

HttpServletRequest

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

HttpServletResponse

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

헤더 정보 읽어 들이기

** 웹 브라우저가 요청정보에 담아서 보내는 header 값을 읽어 들여 브라우저 화면에 출력

  • 요청으로 들어온 request 파라미터 이용하여 헤더 정보 파악
  • getHeaderNames() : 모든 헤더 이름을 문자열(Enumeration)으로 반환
  • getHeader(headername) : 헤더 값 정보를 알 수있음

파라미터 읽어 들이기

** URL 주소의 파라미터 정보를읽어서 브라우저 화면에 출력

⇒ URL : http:// localhost:8080/firstweb/param?name=yewon&age=23

  • request 파라미터를 이용하여 parameter 값을 가져옴
  • getParmaeter(name) 메서드 이용

그외의 요청정보 출력

** URL, URI, PATH, Remote host 등 정보 출력

profile
Junior BackendEngineer 😎

0개의 댓글