본문 바로가기

Web

Servlet이란? JSP란? - JSP/Servlet 처리 과정

1. Servlet

출처 : https://lhr0419.medium.com/spring-servlet-%EC%9D%B4%EB%9E%80-4d0bc770dfa0

  • Servlet
    • 웹에서 돌아가는 자바. 클라이언트의 요청을 동적으로 처리해준다. 
    • 클라이언트의 요청을 처리하고 그 결과를 다시 클라이언트에게 전송하는 Servlet 클래스의 구현 규칙을 지킨 자바 프로그램.
    • 자바 코드 안에 HTML 을 포함한다.
  • Servlet Container : 웹 서버 + WAS. WAS의 역할을 중점적으로 관리해준다. 서블릿을 관리해주는 누군가가 필요하다. 이게 서블릿 컨테이너이다. 톰캣이 대표적인 Servlet Container 이다.
  • 호출할 servlet 이 무엇이고 해당 servlet이 어떤 url에 맵핑되는지를 web.xml 방식과 어노테이션 방식으로 구분할 수 있다. 서블릿 3.0 버전 이후로 web.xml 에서의 서블릿 설정을 자바 소스상에서 대체 할 수 있는 어노테이션이 추가되었다.

 

2. JSP

2.1. JSP 처리 과정

출처 : https://floating-library.tistory.com/73

  1. 클라이언트로부터 request를 받는다.
  2. 최초 요청이라면 JSP가 서블릿으로 변환된다. JSP가 java 코드로 변환되는것이다. 최초 요청이 아니라면 service()를 호출한다.
  3. 서블릿 클래스를 컴파일하여 Class를 생성하고, 생성된 Servlet Class를 메모리에 적재한다.
  4. init() 메소드를 실행한다
  5. service() 메소드를 생성한다. service() 메소드는 클라이언트의 요청이 있을때마다 실행된다. service()를 통해 doGet() doPost()가 실행된다
  6. doGet() , doPost() 메소드가 동적으로 작업을 처리하고 HttpServletResponse 객체에 응답을 보낸다.