JSP

비비빅·2025년 11월 20일

: Java Server Pages
: Java 언어로 웹사이트를 만드는 스크립트 언어
: 데이터 베이스를 사용하여 상황별 다른 동적 페이지 지원
: 웹사이트를 쉽게 구축할 수 있도록 만들어주는 서버사이드 스크립트 언어

  • 데이터베이스, 자바 api 등 가능
  • HTML 안에 JAVA 코드 작성 가능
    • HTML은 연산 ❌

📌 장점

: 자바를 사용한다는 것
: 운영체제 상관없이 플랫폼이 독립적이다는 점


📌 동작 방식

1️⃣ 클라이언트에서 서비스 요청
2️⃣ JSP 실행 요구
3️⃣ JSP는 웹 애플리케이션 서버의 서블릿 컨테이너에서 서블릿 원시코드로 변환
4️⃣ 서블릿 원시코드는 컴파일 후 실행
5️⃣ 실행된 결과는 HTML 형태로 클라이언트에게 돌려줌


📌 스크립트 요소

✍🏻 선언

: 변수 선언이나 메소드로 선언

<%! 멤버변수와 method 작성%>

✍🏻 script

: 클라이언트 요청 시 호출되는 영역
: 서블릿(Servlet)으로 변환 시 service() method에 해당되는 영역

  • request, response에 관련된 코드를 구현
<%
	여기에 자바코드 작성
%>

✍🏻 표현식

: 데이터를 브라우저에 출력할 때 사용

  • 문자열 뒤에 세미콜론 작성 ❌
  • <%= 문자열 %><% out.println(문자열): %> 랑 같은 표현
<%= 문자열 %>

✍🏻 주석

: 부가 설명 작성

<!-- HTML 주석-->
<%-- JSP 주석 -->



<%
	// JAVA 주석
%>

📌 지시자

✍🏻 page Directive

: 컨테이너에게 현재 JSP 페이지를 어떻게 처리할건지에 대한 정보 제공

속성기본값설명
sessiontrue세션의 유무사용 설정
languagejava스트립트에 사용할 언어 지정
info현재 JSP 페이지 설명
pageEncodingUTF-8현재 JSP 페이지 문자집합 지정
import현재에 import할 java 패키지나 클래스
errorPage에러가 발생할 때 대신 처리될 JSP 페이지 지정
contentTypetext/html;charset=UTF-8브라우저에 내보내는 내용의 MIME형식 지정 및 문자 집합 지정
isErrorPagefalse현재 JSP 페이지가 에러 핸들링 하는 페이지인지 지정하는 요소
<%@ page attr1="vall" arrt2="val2" %>

✍🏻 include Directive

: 특정 JSP file을 페이지에 포함
: 여러 JSP 페이지에서 반복적으로 사용되는 부분을 JSP file로 만든 후 반복 영역에 include 시킬 수 있음

<%@ include file ="/template/header.jsp" %>

✍🏻 taglib Directive

: JSP 페이지 내 불필요한 자바 코드 줄일 수 있음
: JSTL 또는 사용자에 의해서 만든 커스텀 태그 이용할 때 사용

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

📌 기본 객체

기본 객체명Type설명
sessiontrue현재 JSP에 대한 참조 변수에 해당
languagejava현재 JSP에 대한 초기화 환경을 처리하기 위해 사용
info현재 JSP 페이지 설명
pageEncodingUTF-8현재 JSP 페이지 문자집합 지정
import현재에 import할 java 패키지나 클래스
errorPage에러가 발생할 때 대신 처리될 JSP 페이지 지정
contentTypetext/html;charset=UTF-8브라우저에 내보내는 내용의 MIME형식 지정 및 문자 집합 지정
isErrorPagefalse현재 JSP 페이지가 에러 핸들링 하는 페이지인지 지정하는 요소

0개의 댓글