자바 웹 5

Dear·2025년 6월 10일

TIL

목록 보기
38/74

💙 JSP 기본 태그

종류사용용도형식
스크립틀릿 (scriptlet)자바 코드를 기술함<% %>
선언 (declaration)변수와 메소드를 선언함<%! %>
표현식 (expression)계산식이나 함수를 호출한 결과를 문자열 형태로 출력함<%= %>
주석 (comment)JSP 페이지에 설명을 넣음<%-- --%>
지시자 (directive)JSP 페이지의 속성을 지정함<%@ %>

스크립트릿

JSP 문서능 HTML 태그와 자바 코드가 섞여있다.
JSP 문서는 HTML 태그로 정적 페이지를 디자인하고 웹 서버에서 처리할 문장들을 자바 언어로 부분적으로 기술하는데 이때 사용하믄 자바 언어를 서버 스크립트 언어라고 한다.
서버 스크립트 언어인 자바를 JSP 문서 내부에 기술하려면 JSP가 제공해주는 스크립트릿 태그를 사용해야한다.

<%
    int num1 = 20;
    int num2 = 10;
    int add = num1 + num2;
    out.print(num1 + " + " + num2 + " = " + add);
%>

선언문

JSP 페이지에서 사용되는 변수나 메소드를 정의하기 위해서 선언문(Declaration)
을 사용

 <%!
 	String str="안녕하세요!";
 %>

서블릿은 첫 번째 요청인 경우에만 서블릿 클래스를 찾아 메모리에 로딩하여 인스턴스(객체)를 생성하고 이 후에 요청에 대해서는 서블릿 인스턴스를 다시 생성하지 않고 이미 메모리에 로딩된 서블릿으로부터 서비스만 받는다. 그렇기 때문에 필드에 선언된 global_cnt는 새로고침을 여러 번 해도 이미 생성된 필드가 계속 사용되기 때문에 이전의 값을 유지하고 있다가 1 증가시키기 때문에 값이 계속 증가되는 것이고, _jspService() 메소드 내의 지역변수로 선언된 local_cnt는 새로고침을 할 때마다 _jspService() 메소드가 호출되면서 새롭게 메모리 할당을 하면서 0으로 초기화한 후에 1 증가하기 때문에 항상 1만 출력됩니다.

표현식

브라우저에 HTML 형태로 결과를 출력하기 위해서 스크립트릿 태그 내에 jsp 내장 객체 중 출력 담당 out의 print 메소드를 사용

<%= 변수 %>
<%= 수식 %>
<%= 메소드 호출 %〉

표현식에 기술한 내용은 out.print()의 매개 변수가 된다. 그렇기 때문에 표현식을 사용할 때 세미콜론(;)을 기술하지 말아야 한다. 표현식에 세미콜론(;)을 입력했다면 아래와 같이 변환되기 때문이다.

<%= a ; %> -> out.print(a ; );
-> 컴파일 오류

주석문

설명을 위한 문장을 주석문(Comments)

<%-- 주석문 --%〉

// 한줄 주석
<%
	// 한줄 주석
%>

// 여러줄 주석
<%
	/*
    여러줄
    주석
    */
%>

지시자

JSP 지시자(directive)는 태그 안에서 @로 시작하며 page, include, taglib 3가지 종류가 있다. 지시자는 클라이 언트의 요청에 의해 JSP 페이지가 실행되면서 지시자에 언급된 설정을 JSP 페이지 전체에서 사용 가능하도록 한다.
지시자(Directive)는 JSP 페이지에 대한 전체 속성을 지정하며 JSP 문서의 제일 위 부분에 위치한다.
<%@ 지시자 속성 = "값" ... %>

종류사용 용도
page해당 JSP 페이지 전반적으로 환경을 설정할 내용을 지정한다.
include현재 페이지에 다른 파일의 내용을 삽입할 때 사용한다.
taglib태그 라이브러리에서 태그를 꺼내와 사용할 수 있는 기능을 제공한다.

page 지시자

page 지시자는 JSP 페이지에 여러 가지 정보를 나타내기 위해서 사용되는 JSP 문법으로 이를 위해서는 다음에 언급되는 다양한 page 지시자에 관련된 속성을 사용해야 한다.

language 속성

JSP에서 사용할 언어를 결정한다.

extends 속성

JSP 페이지가 특정 클래스로부터 상속을 받으려면 extends 속성에 상위 클래스로 누구를 설정할지를 기술해야 한다.
기본적으로 서블릿 컨테이너에서 알아서 처리하므로 개발자가 특별히 지정하는 경우는 없습니다.

import 속성

import 속성은 자바 프로그램에서 사용하던 import 구문과 동일한 목적으로 사용한다. 자바에서 이미 만들어진 자바 클래스를 가져다 사용할 때 해당 클래스가 소속된 패키지를 명시해주듯이 JSP에서도 마찬가지로 import 속성에 JSP에서 사용될 클래스의 풀네임으로 기술해 놓으면 클래스명만 기술해서 해당 클래스를 사용할 수 있게 되어 편리하다.

🤍 회고

선언문, 표현식, 스크립트릿 3가지를 JSP 스크립트 요소(JSP) 3요소라고 한다. 웹페이지에서 제일 많이 사용해서 꼭 외워야할 요소라고 생각한다.

profile
친애하는 개발자

0개의 댓글