본문 바로가기

DEVELOPER/Programming

[JSP] JSP 구성 요소와 스크립트 기능

반응형
* 기존 서블릿에서는 자바 코드를 기반으로 문자열을 사용해 HTML과 자바스크립트로 화면 구현

서블릿으로 구현 시 문제점

  • 웹 프로그램의 화면 기능이 복잡해지므로 서블릿의 자바 기반으로 화면 구현 시 어려움 발생
  • 디자이너 입장에서 자바 코드로 인해 작업이 어려움
  • 유지관리가 어려움

 

◎ JSP


 

* JSP는 HTML, CSS, 자바스크립트를 기반으로 JSP 요소들을 사용해 화면 구현 

주로 웹 프로그램의 화면 기능과 모델2 기반 MVC에서 뷰(view) 기능을 담당

 

구성 요소

  • HTML 태그, CSS, 자바스크립트 코드
  • JSP 기본 태그
  • JSP 액션 태그
  • 개발자가 직접 만들거나 프레임 워크에서 제공하는 커스텀(custom) 태그

 

JSP의 3단계 작업 과정

  1. 변환 단계(Translation Step) : 컨테이너는 JSP 파일을 자바 파일로 변환
  2. 컴파일 단계(Compile Step) : 컨테이너는 변환된 자바(java) 파일을 클래스(class)파일로 컴파일
  3. 실행 단계(Interpret Step) : 컨테이너는 class 파일을 실행하여 그 결과(HTML, CSS와 자바스크립트 코드)를 브라우저로 전송해 출력

JSP 파일 자체를 브라우저로 전송하면 브라우저는 JSP 요소들을 인식하지 못함.

따라서 JSP는 톰캣 컨테이너에 의해 브라우저로 전송되기 전에 실행 단계를 거쳐야 함.

 

◎ 디렉티브 태그


: 주로 JSP 페이지에 대한 전반적인 설정 정보를 지정할 때 사용하는 태그

  • 페이지 디렉티브 태그(Page Directive Tag) : JSP 페이지의 전반적인 정보를 설정할 때 사용
  • 인클루드 디렉티브 태그(Include Directive Tag) : 공통으로 사용하는 JSP 페이지를 다른 JSP 페이지에 추가할 때 사용
  • 태그라이브 디렉티브 태그(Taglib Directive Tag) : 개발자나 프레임워크에서 제공하는 태그를 사용할 때 사용

 

1. 페이지 디렉티브 태그

페이지 디렉티브 태그로 설정하는 JSP 속성

페이지 디렉티브 형식은 <%@ page  %> 안에 속성과 값을 나열함.

<%@ page 속성1="값1" 속성2="값2" 속성3="값3"... %>

 

2. 인클루드 디렉티브 태그

공통으로 사용되는 JSP 페이지를 미리 만들어 놓고 다른 JSP 페이지 요청 시 인클루드 디렉티브 태그 사용

형식은 <%@ include file="공통기능.jsp"  %>

인클루드 디렉티브 태그의 특징

  • 재사용성이 높음.
  • JSP 페이지의 유지관리가 쉬움

 

◎ JSP 스크립트 요소와 기능


JSP 페이지에서 여러 가지 동적인 처리를 제공하는 기능

<%  %> : 스크립트릿(scriptlet) 이란 기호 안에 자바 코드로 구현

스크립트 요소의 종류

  • 선언문(declaration tag) : JSP에서 변수나 메서드를 선언할 때 사용
  • 스크립트릿(scriptlet) : JSP에서 자바 코드를 작성할 때 사용
  • 표현식(expression tag) : JSP에서 변수의 값을 출력할 떄 사용

 

1. 선언문(declaration tag)

선언문은 JSP 페이지에서 사용하는 멤버 변수나 멤버 메서드를 선언할 때 사용

선언문의 형식 

<%! 멤버 변수 or 멤버 메서드 %>

선언문 예제

<%!
    String name = "네임";
    public String getName() { return name; }
%>

이렇게 선언한 것은 HTML에서

<h1>안녕하세요 <%= name %> 님!! <h1>

위와 같은 표현식을 이용해 출력이 가능


 

2. 스크립트릿(scriptlet)

java 코드로 화면의 동적인 기능을 구현 또는 지역 변수 지정

스크립트릿의 형식

<% 자바 코드 %>

스크립트릿 예제

<% String age = request.getParameter("age"); %>

위 선언문과 동일하게 HTML에서 표현식을 이용해 출력

단, 서블릿의 _jspService( ) 메서드 안의 자바 코드로 변환


 

3. 표현식(expression tag)

JSP 페이지에서 변수나 메서드의 결과값 등을 브라우저에 출력하는 용도

표현식의 형식

<% 값 or 자바 변수 or 자바 식  %>


 

JSP 주석문


  • HTML 주석
  • 자바 주석
  • JSP 주석

HTML 주석 : <!-- 내용   -->

자바 주석 : /* 내용 */

JSP 주석 : <%-- 내용  --%>

 

브라우저로 전달된 HTML 태그를 보면 HTML 주석문은  브라우저로 전달되고 자바 주석문도 서블릿으로 변환 시 자바 주석문으로 표시

하지만 JSP 주석문은 JSP 자체의 주석문이기 떄문에 서블릿 코드로 변환하지 않음.

반응형

'DEVELOPER > Programming' 카테고리의 다른 글

[JSP] 표현언어와 JSTL  (0) 2021.07.14
[JSP] 액션 태그  (0) 2021.07.04
서블릿의 필터와 리스너 기능  (0) 2021.06.22
웹 페이지 연결 기능(Session Tracking)  (0) 2021.06.18
ServletConfig 와 load-on-startup 기능  (0) 2021.06.13