본문 바로가기

JSP

230419_JSP의 기초 개념

JSP란?

간단하게 '동적 사이트'라 할 수 있다. HTML, CSS, 자바 스크립트는 정적 사이트인데 이 세 가지를 기반으로 JSP 요소들을 사용해 화면을 구현한다. 웹 브라우저랑 웹 어플리케이션이 서로 응답을 주고 받기 위해 JSP 파일이 매개체가 된다.

 

 

0. 등장 배경

- 웹 프로그램의 화면 기능이 복잡해짐 + 서블릿의 자바 기반으로 화면 기능 구현 시 어려움 발생

- 디자이너 입장에서 화면 구현 시 자바 코드로 인해 작업이 원활하지 않게 됨

- 서블릿에 비즈니스 로직과 화면 기능이 같이 있다 보니 개발 후 유지 및 관리가 불편함

 

=> 서블릿의 비즈니스 로직과 결과를 보여주는 화면 기능을 분리하면 해결 된다!

=> 해당 기능을 하는 'JSP' 탄생

 

 

 

1. 톰캣 컨테이너에서 JSP 변환 과정

     1) 변환 단계 : 컨테이너는 JSP 파일을 자바 소스 파일로 변환 (서블릿 소스 파일로 변환, JSP = 서블릿)

     2) 컴파일 단계 : 컨테이너는 변환된 자바 파일을 클래스 파일로 컴파일

     3) 실행 단계 : 컨테이너는 class 파일을 실행하여 그 결과를 브라우저로 전송해 출력

 

 

 

2. JSP 페이지 파일의 구성 요소

 

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

 

한 페이지에 나타나는 요소들이다.

JSP 스크립트릿(Scriptlet)
<% 자바코드 %>
<%-- 주석내용 --%>
<%= 변수하나 또는 값하나 %>
<%! 자바코드 %>
 
<%@ 디렉티브 태그 옵션=값 옵션=값 %>
 
디렉티브 태그(Directive Tag, page 디렉티브)
스크립트 요소(Scripting Element): 주석문, 스크립트릿(Scriptlet, <%와 %>), 표현식, 선언식
 
 
표현 언어(Expression Language)
내장 객체(내장 변수)
액션 태그(Action Tag)
커스텀 태그(Custom Tag)

 

디렉티브 태그의 종류 및 사용 형식

 

  • page 디렉티브 : JSP 페이지의 전반적인 정보를 설정
    (태그 사용 형식 : <%@ page 속성1="값1" 속성2="값2" 속성3="값3".... %>)

 

page 디렉티브 태그로 설정하는 JSP 속성들

속성 기본값 설명
contentType "text/html" JSP 페이지 출력 형식을 지정
import 없음 JSP 페이지에서 다른 패키지의 클래스를 임포트할 때 지정
session "true" JSP 페이지에서 HttpSession 객체 사용 여부를 지정
  • include 디렉티브 : 공통으로 사용하는 JSP 페이지를 다른 JSP 페이지에 추가
  • (태그 사용 형식 : <%@ include file="공통기능.jsp" %>)