21.9.28

Inabang·2021년 9월 28일

PlayData

목록 보기
32/34

BoostCourse (Web)

Java Web App

WEB-INF -> web.xml (배포기술자 Servlet 3.0이상에선 어노테이션을 사용)

  • lib ---- jar 파일들
  • classes ---- java package, class

Servlet이란?

  • 자바 웹 어플리케이션의 구성요소 중 동적인 처리를 하는 프로그램
  • WAS에서 동작하는 Java Class
  • HttpServlet Class를 상속받는다.
  • 웹페이지(Front)부분은 JSP로 표현하고 Logic부분은 Servlet으로 구현하는게 좋다.

Servlet 작성법

  • web.xml을 사용하지 않는다.
  • 자바 어노테이션을 사용한다.
  • 3.0이하에선 web.xml에 등록한다.

Servlet의 라이플 사이클

  • 생성자 호출 -> init -> Service -> (작업 ) -> destroy
  • 실제 요청된 객체가 메모리에 있는지 없는지만 체크후 있으면 service를 호출한다.
  • destroy()는 Servlet이 서버에서 수정이되는경우 호출되며 메모리에서 servlet객체를 삭제한다

WAS는 서블릿 요청을 받으면 해당 서블릿이 메모리에 있는지 확인한다.

if("메모리에 없음"){
	해당 서블릿 클래스를 메모리에 올린다
    init() 메소드를 실행
}
service() 메소드 실행
/* 
WAS가 종료되거나, 
웹 어플리케이션이 갱신되면 destroy() 메소드를 실행한다.
*/
  • service(request,response)
    HttpServlet의 service 메소드는 템플릿 메소드 패턴으로 구현
  • 클라이언트의 요청이 GET이라면 doGet
  • POST라면 doPost

HttpServletRequest, Response

  • WAS는 웹브라우저로부터 Servlet 요청을 받으면,
    요청할 때 가지고 있는 정보를 HttpServletRequest 객체를 생성하여 저장한다.
  • 응답을 보낼때 사용하기 위하여 Response객체를 생성
  • 생성된 Request,Response 객체를 서블릿에 전달
    웹브라우저 <-> WAS <-> 웹어플리케이션(서블릿)

HttpServletRequest

  • http프로토콜의 request정보를 서블릿에 전달하기 위한 목적으로 사용.
  • 헤더정보,파라미터,쿠키,URI,URL등의 정보를 읽어 들이는 메소드를 서블릿에게 전달
  • 서블릿은 해당 객체를 이용하여 contentType, 응답코드, 응답 메세지를 전송할 수 있다.

0개의 댓글