JSP의 가장 중요한 점 : 서블릿으로 바뀌어서 실행된다.
JSP이란
- Java Server Page의 약어
- Java를 이용한 서버 사이드 스크립트 언어
- HTML코드에 Java코드를 넣어 동적 웹 페이지를 생성하는 웹 어플리케이션 도구
- JSP가 실행되면 서블릿으로 변환되어 웹 어플리케이션 서버에서 동작한다.
- JSP는 실제로 서블릿 기술을 사용
- 웹 어플리케이션 : 웹에서 실행되는 응용프로그램
JSP 등장 배경
- 마이크로소프트에서 ASP(Active Server Page)라는 쉽게 웹을 개발할 수 있는 스크립트(script) 엔진을 발표함 (1998년)
- 1997년에 발표된 서블릿은 ASP에 비하여 상대적으로 개발 방식이 불편함
- ASP에 대항하기 위하여 1999년 썬마이크로시스템즈에서 JSP를 발표
JSP Life Cycle
- 브라우저가 웹서버에 JSP에 대한 요청 정보를 전달한다.
- 브라우저가 요청한 JSP가 최초로 요청했을 경우만 JSP로 작성된 코드가 서블릿으로 코드로 변환한다. (java 파일 생성)
- 서블릿 코드를 컴파일해서 실행가능한 bytecode로 변환한다. (class 파일 생성)
- 서블릿 클래스를 로딩하고 인스턴스를 생성한다.
- 서블릿이 실행되어 요청을 처리하고 응답 정보를 생성한다.
서블릿과 JSP 라이프 싸이클에서 실행되는 메소드 비교
- 서블릿 라이프 싸이클에서 실행되는 메소드
- init(), service(), destroy()
- JSP 라이프 싸이클에서 실행되는 메소드
- _jspinit(), _jspservice(), _jspdestroy()
JSP 문법
선언문(Declaration)
- 선언문 :
<%! %>
- 전역변수 선언 및 메소드 선언에 사용
1 |
|
스크립트릿(Scriptlet)
- 스크립트릿 :
<% %>
- 가장 일반적으로 많이 쓰이는 스크립트 요소
- 주로 프로그래밍의 로직을 기술할 때 사용
- 스크립트릿에서 선언된 변수는 지역변수
표현식(Expression)
- 표현식 :
<%= %>
- JSP페이지에서 웹 브라우저에 출력할 부분을 표현(즉, 화면에 출력하기 위한 것)
주석(Comment)
- 주석 :
<%--주석내용--%>
예
- JSP
1 |
|
- HTML
1 |
|
- 서블릿
for(int i = 1; i <= 5; i++){
out.write('\n');
out.write('<');
out.write('H');
out.print(i );
out.write("> ");
out.print(i );
out.write("번째 글자크기 </H");
out.print(i );
out.write('>');
out.write('\n');
}
JSP 내장객체
대표적인 JSP 내장객체 : response, request, application, session, out
* 내장객체 : 개발자가 선언하지 않아도 사용할 수 있는 미리 선언된 변수