: Java Server Pages
: Java 언어로 웹사이트를 만드는 스크립트 언어
: 데이터 베이스를 사용하여 상황별 다른 동적 페이지 지원
: 웹사이트를 쉽게 구축할 수 있도록 만들어주는 서버사이드 스크립트 언어
- 데이터베이스, 자바 api 등 가능
- HTML 안에 JAVA 코드 작성 가능
- HTML은 연산 ❌
: 자바를 사용한다는 것
: 운영체제 상관없이 플랫폼이 독립적이다는 점

1️⃣ 클라이언트에서 서비스 요청
2️⃣ JSP 실행 요구
3️⃣ JSP는 웹 애플리케이션 서버의 서블릿 컨테이너에서 서블릿 원시코드로 변환
4️⃣ 서블릿 원시코드는 컴파일 후 실행
5️⃣ 실행된 결과는 HTML 형태로 클라이언트에게 돌려줌
: 변수 선언이나 메소드로 선언
<%! 멤버변수와 method 작성%>
: 클라이언트 요청 시 호출되는 영역
: 서블릿(Servlet)으로 변환 시 service() method에 해당되는 영역
<%
여기에 자바코드 작성
%>
: 데이터를 브라우저에 출력할 때 사용
<%= 문자열 %> 랑 <% out.println(문자열): %> 랑 같은 표현<%= 문자열 %>
: 부가 설명 작성
<!-- HTML 주석-->
<%-- JSP 주석 -->
<%
// JAVA 주석
%>
: 컨테이너에게 현재 JSP 페이지를 어떻게 처리할건지에 대한 정보 제공
| 속성 | 기본값 | 설명 |
|---|---|---|
| session | true | 세션의 유무사용 설정 |
| language | java | 스트립트에 사용할 언어 지정 |
| info | 현재 JSP 페이지 설명 | |
| pageEncoding | UTF-8 | 현재 JSP 페이지 문자집합 지정 |
| import | 현재에 import할 java 패키지나 클래스 | |
| errorPage | 에러가 발생할 때 대신 처리될 JSP 페이지 지정 | |
| contentType | text/html;charset=UTF-8 | 브라우저에 내보내는 내용의 MIME형식 지정 및 문자 집합 지정 |
| isErrorPage | false | 현재 JSP 페이지가 에러 핸들링 하는 페이지인지 지정하는 요소 |
<%@ page attr1="vall" arrt2="val2" %>
: 특정 JSP file을 페이지에 포함
: 여러 JSP 페이지에서 반복적으로 사용되는 부분을 JSP file로 만든 후 반복 영역에 include 시킬 수 있음
<%@ include file ="/template/header.jsp" %>
: JSP 페이지 내 불필요한 자바 코드 줄일 수 있음
: JSTL 또는 사용자에 의해서 만든 커스텀 태그 이용할 때 사용
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
| 기본 객체명 | Type | 설명 |
|---|---|---|
| session | true | 현재 JSP에 대한 참조 변수에 해당 |
| language | java | 현재 JSP에 대한 초기화 환경을 처리하기 위해 사용 |
| info | 현재 JSP 페이지 설명 | |
| pageEncoding | UTF-8 | 현재 JSP 페이지 문자집합 지정 |
| import | 현재에 import할 java 패키지나 클래스 | |
| errorPage | 에러가 발생할 때 대신 처리될 JSP 페이지 지정 | |
| contentType | text/html;charset=UTF-8 | 브라우저에 내보내는 내용의 MIME형식 지정 및 문자 집합 지정 |
| isErrorPage | false | 현재 JSP 페이지가 에러 핸들링 하는 페이지인지 지정하는 요소 |