본문 바로가기
☕Java/Java EE(Jakarta EE)

[20210624] JSP 기초 문법

by 캔 2021. 6. 24.

JSP(Jakarta Server Page, 옛 Java Server Page)는 자바 코드를 포함하여 웹 문서(HTML 문서)를 생성할 수 있게 하는 서버 측 스크립트 언어(Server-side Script Language)이다. 스크립트 언어이긴 하지만 서블릿 클래스로 변환 후 서블릿 컨테이너가 컴파일한 다음 실행한다. (JSP -> 서블릿 클래스(자바 코드) -> 클래스 파일 -> 실행)

JSP 파일의 구성은 HTML 문서 중간중간에 자바 코드를 넣은 형태이다. 그래서 HTML가 어떻게 구성되는지 이해한 후에 자바 코드를 어떤 식으로 삽입하는지를 알면 JSP에 대한 이해는 끝난다.

주석문

JSP의 주석문은 자바 코드 내에서의 주석문을 의미한다. 따라서 자바의 주석문과 동일하게 한 줄 주석은 '//', 블록 주석은 '/*'과 '*/' 사이에 입력해주면 된다. HTML 부분에서 주석을 사용하려면 HTML과 동일하게 '<!--', '-->'를 사용하면 된다.

<!-- 자바 코드 부분 한 줄 주석 -->

/* 자바 코드 부분 블록 주석 */
<!-- HTML 부분 주석 -->

지시문(directive)

JSP 문서에 대한 구조에 대해 WAS(Web Application Server)에 지시를 내리는 역할을 한다. page, include, taglib 세 가지가 있으며, page는 JSP 실행에 관한 정보를 제공하고, include는 외부 jsp 파일을 가져와 삽입하며, taglib은 태그 라이브러리를 사용하도록 지시한다.

<%@ ~ %>

//page 지시문
<%@page ~
%>

//include 지시문
<%@include ~
%>

//taglib 지시문
<%@taglib ~
%>

//다음 형태로도 사용할 수 있다.
<jsp:directive> </jsp:directive>

 

선언문(declaration)

변수와 메서드를 선언하기 위해 사용한다. 값 선언만 가능하다. 참조에 의한 선언은 불가능하다.

<%! %>

//다음 형태로도 사용할 수 있다.
<jsp:declaration> </jsp:declaration>

 

스크립틀릿(scriptlet)

자바 코드를 입력할 수 있는 부분이다.

<% %>

//다음 형태로도 사용할 수 있다.
<jsp:scriptlet> ;</jsp:scriptlet>

 

표현식(expression)

'변수의 값', '메서드의 반환 값', '계산식의 결괏값'을 웹사이트에 표시하기 위해 사용한다.

<%= %>

//다음 형태로도 사용할 수 있다.
<jsp:expression> </jsp:expression>

 

내부 객체(내장 객체)

스크립틀릿에서 객체 생성 없이 사용할 수 있는 객체로, page, request, session, application, out, exception, response, pageContext, config 등이 존재한다. request, response, session, exception이 자주 사용된다.

이 객체를 사용할 수 있는 범위(scope)는 객체마다 다른데 page, request, session, application이 있다.

- page: 해당 JSP에서만 사용 가능.(page, out, exception, response, pageContext, config 객체가 해당.)

- request: 응답이 출력되기 전까지 사용 가능.(request 객체가 해당.)

- session: 동일한 클라이언트에서 사용 가능.(session 객체가 해당.)

- application: 모든 클라이언트에서 사용 가능.(application 객체가 해당.)