JSP 기초 개념
JSP란?
Java Server Pages의 약자로, HTML 안에 JAVA를 구축해서 동적 웹 페이지를
생성하게끔 해주는 웹 어플리 케이션 도구이다.
(클라이언트에게 정보를 받아서 변화되는 페이지를 구축)
JAVA안에 HTML을 구축하는 자바 서블릿과 비교할 수 있는데,
JSP는 .jsp 확장자를 사용하며 자바 서블릿+추가 기능을 탑재,
HTML 작성은 편리하나 데이터 베이스 시스템과의 연동 구문 작성은 비교적 어렵다는 특징이 있고
자바 서블릿은 .java 확장자를 사용, HTML 작성이 불편해 유지 보수는 어려우나
데이터 베이스 시스템과의 연동 구문 작성이 용이하다는 특징이 있다.
이제 JSP의 특징에 대해 알아보자 😊
JSP의 특징
1. 서블릿과의 속도 차이는 X |
2. WAS(Web Application Server) 채택 → JSP가 실행되면 백그라운드에서 서블릿으로 변환 (화면 구현 시 직접 호출하지 않고 서버에서 수행시켜(ex: TOMCAT) 클라이언트가 받는 제약이 줄어든다.) └ CGI와 WAS의 차이 |
3. 화면 구현(VIEW)에 주 목적을 두고 사용 된다. |
4. JSP 안에 JAVA 구현도 가능하다. |
5. 객체 지향 언어 |
6. 네트워크 중심적 |
특징 중 두 번째를 보면 WAS를 채택해 클라이언트가 받는 제약이 줄어든다고 설명되어 있는데,
CGI를 채택할 시 웹 서버에서 해당 어플리케이션을 직접 호출해서
화면 구현을 하게 되면 호출한 만큼 프로세스를 호출 → 많이 가동하면 CPU가 초과돼 컴퓨터가 멈출 수 있어
CGI는 잘 사용하지 않고 TOMCAT과 같은 서버에서 수행시켜 부담을 줄이는 WAS를 주로 채택한다.
JSP 디렉티브(Directives 지시어)
JSP 디렉티브는 지시어라는 뜻과 같이 해당 페이지에 대한 처리 방법을 제시하는 태그이다.
<%@ %> 태그 구조를 가지며 일반적으로 jsp 파일의 최상단 부분에 작성한다.
<%@ page %> | 해당 HTML 페이지의 전체적인 속성(언어 등)을 기술하는 구문 ex) <%@ page 속성="값" %>
|
<%@ taglib %> | 태그 라이브러리 함수. 외부의 태그를 호출할 때 사용하는 구문 ex) <%@ taglib url = "호출 경로" %>
|
<%@ include %> | 외부 파일(페이지)을 호출할 때 사용하는 구문 ex) <%@ include file="파일 위치" %>
|
여기서 가장 중요한 구문은 page 구문으로,
보통 jsp 파일 최상단에서 해당 페이지의 언어를 설정하고 있는 것을 확인할 수 있다.
page 태그에서 설정할 수 있는 속성들을 확인해보자.
속성 | 내용 | 기본값 |
language | 해당 페이지에서 구축에 이용할 프로그래밍 언어 지정 language="java" |
java |
contentType | 해당 페이지의 컨텐츠 유형을 지정 contentType="text/html; charset=UTF-8" |
text/html |
pageEncoding | 해당 페이지의 인코딩 언어 지정 pageEncoding="UTF-8" |
ISO-8859-1 |
* contentType의 charset은 생략이 가능하다. pageEncoding으로 설정한 언어는 파일을 읽어올 때, contentType의 charset은 응답 결과에 적용된다. 한글을 사용하기 위해서는 EUC-KR 또는 UTF-8으로 설정해주어야 한다. |
||
import | 해당 페이지에서 사용할 자바 클래스를 설정 Date, Calender 등 |
|
extends | 해당 페이지가 상속받을 페이지를 지정 | |
info | 주석문 같은 역할, 해당 페이지의 설명을 설정 | |
errorPage | 해당 페이지에 오류가 발생했을 때 대신 보여줄 오류 페이지를 설정 | |
isErrorPage | 해당 페이지가 (보여줄) 오류 페이지인지를 설정 | false |
session | 해당 페이지의 세션 사용 여부를 설정 | true |
buffer | 해당 페이지의 출력 버퍼 크기를 설정 | 8KB |
autoFlush | 출력 버퍼의 동작 제어를 설정 | true |
isThreadSafe | 해당 페이지의 멀티스레드 허용 여부를 설정 | true |
isScriptingEnabled | 해당 페이지의 스크립트 태그 사용 여부를 설정 | |
isELIgnored | 해당 페이지의 표현 언어(EL) 지원 여부를 설정 | false |
여기까지 JSP를 작성하기 전 기초 개념을 알아봤다!
이제... 다음 글에서는 스크립트와 내부 객체에 대해 알아보자 🎉
'JSP, SERVLET' 카테고리의 다른 글
[SERVLET] 서블릿에 데이터 베이스 연동하기(SELECT 구문) (1) | 2023.04.27 |
---|---|
[JSP] 스크립트 태그(Script Tag)란? (0) | 2023.04.26 |
[JSP,SERVLET] JSP에서 보낸 데이터 SERVLET에서 쿠키로 저장하기 (0) | 2023.04.20 |
[JSP,SERVLET] Select로 선택한 옵션 출력하기 (0) | 2023.04.17 |
[JSP] 쿠키를 이용해 input value에 입력 값 남기기 (1) | 2023.04.12 |