2024. 09. 19 - (TIL) JSP 01

한덕용·2024년 9월 19일

chunjaeFullstack

목록 보기
14/14

JSP (Java Server Page)

- 동적인 웹 페이지를 개발하기 위한 웹 프로그래밍 기술 - JAVA 를 사용하여 서버측에서 웹 페이지를 생성하여 웹 브라우저로 전송


장점

- 짧은 코드로 동적인 웹 페이지를 작성 - 기본적인 예외는 자동으로 처리 - 많은 확장 라이브러리를 사용할 수 있음 -> 자바는 오픈소스, 오픈되어 있는 라이브러리가 많음 - 스레드 기반으로 실행, 시스템 자원을 절약해줌


활용 사례

- 대한민국 전자정부 프레임워크의 기본 - 전부나 공기업 주도의 사업, 대규모 기업용 시스템 구축에 사용 (우리나라만)





애플릿 <-> 액티브엑스(Active X)

- 자바에서 웹을 동적으로 만들기 위한 기술 - 웹에서 자바 어플리케이션을 전송 후 실행 - 속도, 보안, 유연성의 한계로 현재 사용되지 않음


서블릿

- 클라이언트 -> 서버에 요청 -> 응답 결과 전송 - 자바(.java) 를 컴파일 -> 클래스(.class) 파일로 변환 - 서블릿 컨테이너로 아파치 톰캣 사용




JSP의 특징

- 서블릿이 자바 코드를 HTML로 변환하는 과정에서 많은 코드를 생성하는 단점 보완 - HTML 선 작업 -> 필요 부분에 Java를 사용하는 형태 - JSP 파일 -> 서블릿으로 변환 후 실행 - JSP는 FrontEnd 부분을 담당, 서블릿은 BackEnd 를 담당

.html - 정적 페이지
.jsp - 동적 페이지




선언부 (`<%! ... %>`)

  • JSP 페이지 내에서 메서드나 변수를 선언할 때 사용됩니다.
  • JSP 페이지가 실행될 때 한 번만 처리되며, 클래스 수준에서 선언됩니다.

스크립틀릿 (`<% ... %>`)

  • JSP 페이지 내에서 자바 코드를 실행할 수 있는 블록입니다.
  • 이 코드는 JSP 페이지가 클라이언트에게 응답하기 전에 실행됩니다.

표현식 (`<%= ... %>`)

  • 자바 표현식의 결과를 직접 출력할 때 사용됩니다.
  • 이 표현식의 결과는 자동으로 HTML에 삽입되어 브라우저로 전달됩니다.



지시어(Directive)
JSP를 자바(서블릿)으로 변환 시에 필요한 정보를 JSP 엔진에게 알려줌
스크립트 언어, 인코딩 방식 등을 설정
<%@ 지시어 종류 속성1="값1" ,,, %>

page 지시어
문서의 종류, 타입, 에러 메시지, MINE 타입 등을 설정




속성 설명 기본값
info 페이지에 대한 설명 없음
language 페이지에서 사용할 스크립팅 언어 지정 java
contentType 페이지에서 생성할 MINE 타입 지정 없음
pageEncoding charset 과 같이 인코딩 지정 ISO-8859-1
import 페이지에서 사용할 패키지, 클래스 지정(외부파일) 없음
session 세션 사용 여부 설정 true
buffer 출력 버퍼의 크기 지정, 사용하지 않으려면 none 8kb
autoFlush 출력 버퍼가 모두 채워지면 자동으로 비울지 여부 true
trimDirectiveWhiteSpaces 지시어 선언으로 인한 공백 제거 여부 지정 false
errorPage 에러 발생 시 에러처리 페이지 지정 없음
isErrorPage 현재 페이지가 에러를 처리할지 여부 설정 false



language, contentType, pageEncoding 속성

- JSP 페이지 생성 시 기본 생성되는 지시어 - language : 스크립팅 언어 지정 - contentType : 문서의 MINE, 캐릭터 셋 지정 - pageEncoding : 소스 코드 인코딩 방식 -> 서버하고 다르면 오동작 - import 속성 - - java.lang ~~ : 패키지에 속하지 않는 클래스를 JSP 문서에 삽입하기 위해 사용


buffer, autoFlush

- JSP 에서는 응답 결과를 바로 리턴하지 않고, 버퍼에 저장 후 일정량이 되면 출력 - 요청마다 매번 리턴하는 것보다 효율적 - 버퍼를 사용함으로써 포워드(forward), 에러 페이지를 처리할 수 있음


include 지시어

  • <%@ include file=”포함할 파일 경로” %>
  • 웹 사이트에서 반복되는 영역, 페이지를 여러 페이지에서 함께 사용할 때 사용함
  • JSP 에서 다른 JSP 페이지를 삽입할 때 사용
  • include된 파일의 내용도 include한 파일의 내용으로 인식

개인 블로그를 제작한 이후 다른 언어들의 내용은 그 블로그에 포스팅 하고 있다.
이전에 정리했던 내용들과 포스팅 한 내용들도 좀 더 깔끔하게 정리해야 하는데... 후우

다음 달 까지는 끝낼 수 있길..

profile
장래희망개발자

0개의 댓글