프로그래밍 언어/자바 웹

JSP의 3단계 작업 과정

· 코딩마이데이

톰캣 컨테이너에서 JSP 변환 과정

JSP 파일은 다음과 같이 3단계를 거쳐 실행됩니다.

1. 변환 단계(Translation Step): 컨테이너는 JSP 파일을 자바 파일로 변환합니다.

2. 컴파일 단계(Compile Step): 컨테이너는 변환된 자바(java) 파일을 클래스(class) 파일로 컴파일합니다.

3. 실행 단계(Interpret Step): 컨테이너는 class 파일을 실행하여 그 결과(HTML, CSS와 자바스크립트 코드)를 브라우저로 전송해 출력합니다.

 

브라우저에서 JSP 파일을 요청하면 톰캣 컨테이너는 요청된 JSP 파일을 자바 파일(.java)로 변환합니다.  그리고 변환된 자바 파일을 클래스 파일을(.class)로 컴파일합니다. 이 클래스 파일을 실행하여 브라우저로 결괏값을 전송하면 JSP가 브라우저 화면에 표시됩니다. 즉, 브라우저로 전송되는 결과는 HTML, CSS와 자바스크립트로 변환된 파일입니다.

 

이클립스에서 JSP 변환 과정 실습

1. 이클립스에서 새 프로젝트 pro11을 만들고 webapp 폴더에서 마우스 오른쪽 버튼을 클릭한 후 New > JSP File을 선택합니다.

New > JSP File 선택

 

2. 파일 이름으로 hello.jsp를 입력한 후 Finish를 클릭합니다.

파일 이름으로 hello.jsp 입력 후 Finish 클릭

 

3. 생성된 JSP 파일에 간단한 HTML 태그돠 메시지를 작성합니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>첫 번째 JSP 페이지</title>
</head>
<body>
	<h1>Hello JSP!!</h1>
	<h1>JSP 실습입니다!!</h1>
</body>
</html>

 

4. 톰켓 컨테이너에 프로젝트를 추가합니다. 톰캣을 실행한 후 브라우저에서 HTML 파일을 요청하듯이 JSP 파일을 요청합니다.

  • http://ip주소:포트번호/프로젝트이름/JSP파일이름

브라우저에서 hello.jsp로 요청

 

브라우저의 요청을 받은 톰캣 컨테이너는 해당 JSP 파일을 읽어 들어와 hello_jsp.java 파일로 반환힙니다. 그리고 브라우저로 HTML 형식의 결과를 전송하여 화면에 표시합니다.

브라우저에서 요청한 hello.jsp 파일을 통해 톰캣 컨테이너가 hello_jsp.java로 변환한 자바 파일과 클래스 파일을 나타내었습니다.

hello_jsp.java 파일로 변환된 상태

 

hello_jsp.java를 VS Code나 편집기로 열어보면 앞에서 배운 서블릿의 여러 가지 기능으로 변환되어 hello.jsp의 HTML 태그를 브라우저로 전송해 주는 것을 알 수 있습니다. 서블릿에서는 개발자가 일일이 HTML 태그를 만들어서 println()으로 전송해 주었으나 JSP는 요청 시 컨테이너에서 자동으로 JSP 파일에 있는 HTML 태그와 자바스크립트를 브라우저로 전송해 줍니다.

hello_jsp.java로 변환한 후 브라우저로 전송한 HTML 태그

 

hello.jsp 요청 시 브라우저로 전송된 HTML 태그를 나타낸 것입니다. 앞서 hello_jsp.java가 전송한 HTML 태그와 일치하는 것을 알 수 있습니다.

브라우저로 전송된 HTML 태그