[MustHave JSP] 1장 JSP 기본 -2

0woy·2024년 6월 21일
0

개발도서

목록 보기
2/3
post-thumbnail
post-custom-banner

출처

알고리즘 스터디 방에서 현업자 분께 추천받아 구매 후 장 별로 정리하고자한다.

🍰 학습 목표
JSP의 개념, 탄생 배경, 동작 원리를 이해하고 JSP 파일의 기본 구조와 핵심 요소 익히기.

1장 JSP 기본 -1 게시글과 이어진다.


3. JSP 파일 기본 구조

JSP의 주된 목적 은 웹 브라우저에 띄울 HTML 파일을 생성하는 것

일반적인 HTML 파일에 몇 가지 요소가 추가된 형태

  • 지시어
  • 스크립트 요소
    - 선언부
    - 표현식
    - 스크립틀릿

3.1 지시어 (Directive)

JSP 페이지를 자바(서블릿) 코드로 변환하는데 필요한 정보를 JSP 엔진에 알림
주로 스크립트 언어, 인코딩 방식 등을 설정

기본 구문
<%@ 지시어 종류 속성1="값1" 속성2="값2" ... %>
사용할 수 있는 속성은 지시어 마다 다름

3.2 지시어 종류

1) page 지시어
JSP 페이지에 대한 정보 설정
문서의 타입, 에러페이지, MIME 타입과 같은 정보 설정

속성내용기본값
info페이지에 대한 설명 입력X
language페이지에서 사용할 스크립팅 언어 지정java
contentType페이지에 생설할 MIME 타입 지정X
pageEncodingcharset과 같이 인코딩 지정ISO-8859-1
import페이지에서 사용할 자바 패키지와 클래스 지정X
session세션 사용여부 지정true
buffer출력 버퍼의 크기 지정, 미사용 시 none8KB
autoFlush출력 버퍼가 모두 채워졌을 때 자동으로 비울 지 결정true
trimDirectiveWhitespaces지시어 선언으로 인한 공백 제거 여부 지정false
errorPage해당 페이지에서 에러 발생 시 에러 발생 여부 보일 페이지 지정X
isErrorPage해당 페이지가 에러를 처리할지 여부 지정false

- Buffer, AutoFlush 속성

  • JSP 파일의 실행 과정은 JSP 파일서블릿 코드로 변환된 후 컴파일 되어 class 파일로 만들어짐
  • 이를 실행할 결과물을 html 형태로 웹 브라우저에 보내 최종적으로 화면 출력

이 과정에서 응답 결과를 웹 브라우저로 즉시 전송x, 출력할 내용을 버퍼에 저장했다가 일정량이 되었을 때 전송

버퍼란?
유튜브 스트리밍 서비스 처럼 네트워크로 영상 데이터를 전송할 때, 작은 단위로 여러 번 전송하는 것보다 큰 단위로 묶어서 한 번에 보내는 편이 효율적

따라서 버퍼라는 임시 저장소를 두어 데이터들이 충분히 쌓일 때까지 기다렸다가 보냄

JSP에서는 버퍼를 사용함으로써 포워드에러 페이지를 처리할 수 있음.
JSP가 생성한 결과는 일단 버퍼에 저장된다.
만약 실행 도중 에러가 발생하면 버퍼에 저장된 내용을 삭제하고 에러 화면을 표시함.

2) include 지시어
다양한 웹 사이트에서 상단 메뉴나 하단 정보(회사 연락처 등)가 여러 페이지에서 반복되어 사용됨.
위처럼 반복되는 부분을 별도의 파일에 작성해두고 필요한 페이지에서 include 지시어로 포함시킨다.

<%@ include file="포함할 파일의 경로" %>

3) taglib 지시어
EL(표현 언어)에서 자바 클래스의 메서드를 호출하거나 JSTL(JSP 표준 태그 라이브러리)을 사용하기 위한 지시어


4. 스크립트 요소

스크립트 요소는 JSP에서 자바 코들르 직접 작성할 수 있게 해준다.
용도에 따라 선언부, 스크립틀릿, 표현식으로 나뉜다.

1) 선언부
스크립틀릿이나 표현식에서 사용할 멤버 변수나 메서드 선언
서블릿으로 변환 시 _jspService() 메서드 외부에 선언된다.
<%! 메서드 선언 %>

2) 스크립틀릿
JSP페이지가 요청을 받을 때 실행돼야 할 자바 코드를 작성하는 영역
서블릿으로 변환 시 _jspService() 메서드 내부에 기술됨
<% 자바 코드 %>

자바에서 메서드 내부에 또 다른 메서드를 선언할 수 없듯이,
스크립틀릿에서도 마찬가지로 새로운 메서드를 선언할 수 없고 선언부에서 작성한 메서드만 호출할 수 있다.

3) 표현식
실행 결과로 하나의 값이 남는 문장.
상수, 변수, 연산자를 사용한 식, '반환값이 있는' 메서드 호출 등이 모두 표현식에 속한다.

주로 변수의 값을 웹 브라우저 화면에 출력할 때 사용

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8" %>

<%!  // 선언부
 public int add(int n1, int n2){
 	reutrn n1+n2;
 }
%>

<html>
<head>...</head>
<body>
<%	// 스크립틀릿
	int result = add(10,20);
%>
덧셈 결과: <%= result %> // 표현식
덧셈 결과: <%= add(40,30) %>
</body>
</html>
post-custom-banner

0개의 댓글