상세 컨텐츠

본문 제목

JSP 기술의 종류

Spring

by ssu_jo 2021. 4. 30. 00:03

본문

728x90

1.Directive(지시자)

- page Directive
JSP 페이지를 실행할 때 JSP 페이지의 처리 방식을 설정합니다.

· 표현 형식

<% @page 속성=“값” %>


- include Directive
현재 JSP 페이지에 다른 JSP 페이지 코드를 삽입할 때 사용합니다.

· 표현 형식

<% @include file=“JSP파일명” %>

파일명의 경로에는 WEB-INF 경로도 가능(WEB-INF 접근 가능)
※ HTML 태그, Javascript에서 사용되는 파일 경로에서는 WEB-INF 접근 불가능


- taglib Directive
JSP 안에서 Custom Tag를 사용 가능하도록 설정합니다.

· 표현 형식

<% @taglib prefix=“라이브러리접두어” uri=“URL주소” %>
최상단에 위치

예) JSTL이란 Custom Tag를 JSP에서 사용할 경우 상단 아래처럼 코딩해 삽입
<% @taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

 

2. Expression Language(표현 언어)

Java의 데이터를 JSP 페이지에서 쉽게 표현하는 데 사용되는 언어입니다.
개발자, 디자이너, 퍼블리셔 모두 접근이 쉬운 장점이 있습니다.


· 표현 형식

${EL문법}

<%= 변수명 %>을 대체하기 위해 만들어짐


· EL로 표현 가능한 데이터
해당 JSP 페이지에서 사용한 HttpServletRequest, HttpSession 객체의 setAttribute(“키명”, 저장객체) 메소드 실행으로 저장된 저장 객체의 소유 데이터
해당 JSP 페이지에서 사용 가능한 httpServletRequest 객체에 저장된 클라이언트가 보낸 데이터(파라미터값)
헤더/쿠키의 데이터
EL이 지원하는 연산자에 의한 연산 결과
단순한 문자/숫자 데이터 등

· 특징
문법 체계가 Java보다 직관적이고 쉬습니다.
Java의 null이나 비어 있는 Array/Collection 객체의 처리에 에러 없이 관대한 연산자를 지원합니다.
MVC 패턴의 웹 개발 방식에서 JSTL과 어울려 사용할 수 있습니다.
JSP2.0 버전부터 포함되어 설정 없이 바로 사용 가능합니다.



3. Custom Tag(사용자 정의 태그)

사용자가 Java로 원하는 기능을 구현하고, 태그 형태로 표현하여 사용할 수 있는 사용자 정의 태그를 말합니다.
<% Java 코딩 %>을 대체하기 위해 만들어졌습니다.
자주 사용되는 Custom Tag는 자카르타에서 제작한 JSTL이고, JSTL 중에 특히 core 태그가 자주 사용됩니다.
일부 주요 Java 코드를 태그로 대체할 수 있어 개발자, 디자이너, 퍼블리셔 모두 접근이 쉬운 장점이 있습니다.

· core 태그
변수, 조건문, 반복문, 예외처리 등의 자바 문법을 태그 형태로 변형하여 표현합니다.
core 태그에서 Java의 데이터가 삽입될 때는 주로 EL로 표현합니다.
현재 MVC 패턴의 웹 개발 방식 사용 시 JSP 페이지에서 Java Logic은 custom tag가 담당하고, Java 데이터 표현은 EL이 담당합니다.

· Custom Tag 사용 방법
⓵ WEB-INF/lib에 Custom Tag 관련 API를 복사해 넣습니다.(jstl.jar)
⓶ JSP 페이지 상단에 <% @taglib prefix=“접두어” url=“속성값” %> 삽입합니다.
⓷ JSP 페이지에 Custom Tag 문법을 코딩합니다.

 

4. 표준 액션 태그

페이지 흐름 제어, JavaBean의 효율적 사용, 애플릿 사용 등을 가능하게 하는 태그입니다.
일부 Java 기능을 태그로 대체할 수 있어 개발자, 디자이 너, 퍼블리셔 모두 접근이 쉬운 장점이 있습니다.

· 표현 형식

<jsp:표준액션태그종류명 속성명=“속성값”>

 

5. JSP Script

Java 문법 등장 영역 Model1 방식에서 선호하는 JSP 기술로 MVC 패턴 개발 방식에서는 사용하지 않습니다.

- Scriptlet(스크립트릿)
Java 코딩이 삽입됩니다.

<% Java코딩 %>


- Expression(표현식)
Java 변수에 저장된 데이터를 표현합니다.

<%= 변수명 %>


- Declaration(선언문)
Java의 변수와 메소드를 선언하는 영역입니다.
여기에 선언된 변수는 Java Servlet으로 변 환 시 멤버 변수로 변환됩니다.
거의 사용되지 않습니다.

<%! ~ %>


- comment(주석)
Scriptlet, Expression, Declaration 안에서 사용합니다.

// 주석문 또는 /* 주석문 */

 

6. Implicit Object(내장 객체)

미리 만들어져 내장된 객체입니다.
Scriptlet 영역에서 사용됩니다.
대표적인 중요 내장 객체는 request 객체, response 객체, session 객체입니다.
주로 Model1 방식에서 사용되는 기술입니다.(현재 사용하지 않는 기술)
Declaration 안에서는 내장 객체를 사용할 수 없습니다.


- request 객체
클라이언트 요청 정보 등을 관리합니다.

- response 객체
서버의 응답 정보를 관리합니다.

- session 객체
클라이언트와 서버의 연결 상태를 관리합니다.


※ 현재 프레임워크 중심 또는 MVC 패턴 방식으로 웹 개발 프로젝트를 수행할 경우 JSP 페이지에서는 Directive, Custom Tag, EL 기술만 주로 사용

728x90
LIST

'Spring' 카테고리의 다른 글

MVC 동작 구조  (0) 2021.05.03
Model2  (0) 2021.05.02
JSP(Java Server Page) - Spring  (0) 2021.04.24
Cookie 객체 - Spring  (0) 2021.04.22
HttpSession 객체 - Spring  (0) 2021.04.21

관련글 더보기

댓글 영역