반응형
자바 웹 어플리케이션을 공부하며, 다소 헷갈렸던 개념 + 중요한 개념 등을 기록해보고자 한다.
우선 자바 웹 어플리케이션(Java Web Application)은 WAS(예: 톰캣)에 설치되어 동작하는 어플리케이션을 말한다.
자바 웹 어플리케이션에는 HTML, CSS, 이미지, 자바로 작성된 클래스(Servlet, package, interface 등), 각종 설정 파일 등이 포함된다.
이 중, 서블릿이란 자바 웹 어플리케이션 구성요소 중 동적인 처리를 하는 프로그램의 역할을 말하며, 다시 말하면 WAS에 동작하는 JAVA클래스인것이다.
현재 프로젝트에서 웹을 개발할 때 서블릿을 직접 쓰기보다는, 다양한 프레임워크를 사용해서 개발하는 경우가 많다.
다만, 그 프레임워크의 동작을 이해하기 위해서는 서블릿의 기본적인 작성법이나 라이프 사이클을 이해하면 웹의 동작을 이해하는 데 많은 도움을 얻을 수 있다.
우선, 서블릿은 2가지 방법으로 작성방법이 나뉜다.
- Servlet 3.0 spec 이상
- web.xml파일 사용 x
- 자바 어노테이션 사용
- Servlet 3.0 spec 미만
- servlet 등록 시 web.xml파일에 등록
Servlet 생명주기
- WAS는 서블릿 요청을 받으면 해당 서블릿이 메모리에 있는지 확인한다
- if(메모리에 없음){
- 해당 서블릿 클래스를 메모리에 올림
- init() 메소드 실행
} - service() 메소드 실행
- WAS가 종료되거나, 웹 앱이 새롭게 갱신될 경우 destroy() 메소드 실행
자, 이제 Servlet을 통해 요청과 응답을 이해해보자.
- 웹 브라우저로부터 요청을 받게되면, WAS는 HttpServletRequest 객체를 생성하여 저장한다.
- 웹 브라우저에게 응답을 보낼 때 사용하기 위하여 HttpServletResponse 객체를 생성한다.
- 생성된 HttpServletRequest, HttpServletResponse 객체를 서블릿에게 전달한다.
서블릿은 이러한 객체들을 통해 content type, 응답코드, 응답 메시지 등을 전송한다.
반응형
'웹 어플리케이션 공부' 카테고리의 다른 글
API (0) | 2020.10.04 |
---|---|
jsp (0) | 2020.10.04 |
웹 개발 기본 지식 (0) | 2020.09.28 |