본문 바로가기
boostcource/boostcourse_web programming

JSP (Java Server Page), JSP 라이프싸이클

by sgyeong 2024. 4. 13.

 
예) 1~10까지 더해서 결과를 출력하는 예제
 
firstweb의 webContent 폴더 안에 sum10.jsp 파일을 만들어준다.

 
 
 
 
JSP는 JSP자체가 동작하는 것이 아니라 모든 JSP는 servlet으로 바뀌어서 동작한다.
<%@     : 지시자     ( <%@   페이지 지시자 )
contentType    :  JSP파일이 servlet으로 바뀔때 출력되는 결과의 타입
pageEncoding   : JSP파일 자체의 타입  ( JSP파일은 UTF-8로 되어 있음 )
 
이러한 지시는 WAS에서 받아들인다.

 
 
 
<% 안에는 Java가 들어있다. 이 기호를 스크립트릿이라고 한다. Java코드를 입력할 수 있는 부분이다.

 
응답 결과는 <%=  %> 안에 넣어준다. 이러한 기호를 표현식이라고 한다.
out.print( );    -->    <%= %>
 
 
 
실행 결과

 
 
JSP 등장 배경
- 마이크로소프트에서 ASP(Active Server Page)라는 쉽게 웹을 개발할 수 있는 스크립트(Script) 엔진을 발표했다.(1998년)
- 1997년에 발표된 서블릿은 ASP에 비하여 상대적으로 개발 방식이 불편하다.
- ASP에 대항하기 위해 1999년 썬마이크로시스템즈에서 JSP를 발표했다.
- JSP는 실제로 서블릿 기술을 사용한다.
 
 
JSP 라이프싸이클
 
WAS는 웹 브라우저로부터 JSP에 대한 요청을 받게 되면, JSP 코드를 서블릿 코드 소스로 변환한 후 컴파일하여 실된다.
 
sum10.jsp가 실행될 때 벌어지는 일
- 이클립스 워크스페이스 아래의 .metadata 폴더에 sum10_jsp.java파일이 생성된다.
- 해당 파일의 _jspService() 메소드 안을 살펴보면 jsp 파일의 내용이 변환되서 들어가 있는 것을 확인할 수 있다.
- sum10_jsp.java는 서블릿 소스로 자동으로 컴파일되면서 실행되서 그 결과가 브라우저에 보여진다.
 
JSP의 실행순서
1. 브라우저가 웹 서버에 JSP에 대한 요청 정보를 전달한다.
2. 브라우저가 요청한 JSP가 최초로 요청했을 경우만 JSP로 작성된 코드가 서블릿 코드로 변환한다. (java 파일 생성)
3. 서블릿 코드를 컴파일해서 실행가능한 bytecode로 변환한다. (class 파일 생성)
4. 서블릿 클래스를 로딩하고 인스턴스를 생성한다.
5. 서블릿이 실행되어 요청을 처리하고 응답 정보를 생성한다.
 
 
참고)  out.println과 System.out.println은 목적지 다르다. 
response한테 받아온 out은 응답결과의 out이고, System.out은 console에 출력하는 것이다.
 
 

 
실행시 console

 
 
 
 
 
참고  :  boostcourse    https://www.boostcourse.org/web316/lecture/16702/?isDesc=false

웹 프로그래밍(풀스택)

부스트코스 무료 강의

www.boostcourse.org

 
https://www.boostcourse.org/web316/lecture/16703?isDesc=false

'boostcource > boostcourse_web programming' 카테고리의 다른 글

JSP -2  (0) 2024.04.15
JSP -1  (0) 2024.04.15
JavaScript Debugging  (0) 2024.04.13
Ajax  (0) 2024.04.13
Browser Event, Event listener  (0) 2024.04.13