자바 웹 어플리케이션(Java Web Application)
- WAS에 설치되어 동작하는 어플리케이션
- 자바 웹 어플리케이션에는 HTML, CSS, 이미지, 자바로 작성된 클래스(Servlet도 포함됨, package, 인터페이스 등), 각종 설정 파일 등이 포함된다.
Servlet 이란?
- 자바 웹 어플리케이션의 구성요소 중 동적인 처리를 하는 프로그램의 역할
- 서블릿은 WAS에서 동작하는 Java 클래스이다.
- 서블릿은 HttpServlet 클래스를 상속받아야 한다.
- 서블릿과 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 |