본문 바로가기

BackEnd/JSP

JSP의 동작 원리 알아보기

1. 웹 브라우저 요청 (클라이언트가 웹 브라우저로 JSP에 대한 요청 정보를 전달)

kalsWeb.jsp 라는 페이지를 클라이언트가 웹 브라우저 주소창에 입력하고 이동을 합니다.

2. JSP -> Servlet (컨테이너가 JSP 파일을 servlet 파일(.java)로 변환)

servlet 파일로 변환된다는 것은 kalsWeb_jsp.java 파일이 생성된다는 것과 같은 말이자 생성되는 시점입니다.


3. Servlet -> JSP (.class 파일 생성)

바로 전 단계에서 생성된 servlet 파일(.java)를 컴파일하여 실행가능한 byte code로 변환한 .class 파일을 생성합니다.


4. 내부 로직 수행

바로 전 단계에서 변환되고 생성된 .class 파일을 로딩하고 인스턴스를 생성합니다.


5. 웹 브라우저 응답

서블릿이 실행되어 요청을 처리하고 받아낸 응답 정보를 생성해줍니다.

 


 

이렇게 1~5단계가 정상적으로 수행되어 우리는 JSP 파일에 JAVA 코드를 사용할 수 있습니다.

내부 로직이 수행되었기 때문에 소스보기를 하여도 직접 작성한 JSP 또는 JAVA 코드를 클라이언트가 볼 수 없습니다.

 

 

위 이미지는 1~5단계를 표현한 순서도입니다.

이해가 조금 더 쉬울 듯!

 


동작 단계를 통하여 생성된 .java 파일과 .class 파일의 경로도 알아두는 것이 좋습니다.

 

워크스페이스 경로/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/work/Catalina/localhost/프로젝트명/org/apache/jsp/

 

만약 jsp 파일명이 kalsWeb.jsp 라면,

생성된 java 파일명은 kalsWeb_jsp.java 이고,

생성된 class 파일명은 kalsWeb_jsp.class 입니다.

 

JSP에 대한 정의는 https://kalsweb.tistory.com/15 링크에서 간단히 설명해드렸고,

추후 이용되는 MVC 패턴에서 서블릿은 Controller 역할을 하게됩니다.