JSP
html 안에 자바 코드가 들어가 있는 형태
확장자가 .jsp 인 파일
Servlet VS JSP
++ MVC 패턴 연결
JSP 특징
- JSP 파일이 변경되지 않으면 '.jsp' 파일에 대한 컴파일은 다시 일어나지 않는다.
- JSP 파일이 변경될 때마다, 웹 컨테이너는 번역, 컴파일, 로드, 초기화 과정을 수행한다.
- JSP 파일 배포 위치는 HTML과 동일하게 WEB ROOT 폴더 아래에 있다. (cf. Servlet은 src 폴더 아래에 저장)
JSP Elements 표기법
1. Comments tag -> HTML 코드에는 포함되지 않고 브라우저 소스코드에서 볼 수 없으며 개발자 도구에서만 확인할 수 있다.
<%-- 주석 --%>
2. Directive tag
<%@ 지시자 %>
3. Declaration tag -> 필드(멤버 변수)와 메소드를 선언하기 위해서 사용한다.
<%! 선언문 %>
4. Scriptlet tag -> JSP에서 자바 코드를 사용하기 위해서 사용한다.
<% 코드 %>
5. Expresstion tag
<%= 표현식 %>
01. Directive tag
지시자 태그
JSP 페이지 전체에 영향을 미치는 정보를 기술할 때 쓰인다.
JSP 파일을 실행하는 컨테이너한테 해당 페이지를 어떻게 처리 할 것인지 정보를 제공한다.
지시자 종류
<%@ page import="java.io.*" %>
<%@ page contectType="text/html" %>
<%@ page isErrorPage="true" %>
<%@ page errorPage="/error/errorForm.jsp" %>
✔️ page
JSP 페이지에 대한 속성을 정하는 지시어
여러 개의 page 구문을 사용할 수 있지만 import 속성을 제외하고는 한 페이지에 한 번씩만 선언이 가능하다.
JSP 파일 어느 위치에 있어도 상관없지만 가장 첫 부분에 사용하는 것이 좋다.
✔️ import
변환된 서블릿 클래스에 필요한 자바 클래스의 import문을 정의한다.
java.lang, javax.servlet, javax.servlet.http, javax.servlet.jsp 는 기본적으로 import 되어 있다.
여러 package import를 할 경우는 ',' 로 구분한다.
✔️ contentType
MIME 타입, 문자 인코딩 설정
✔️ isErrorPage
현재 페이지가 JSP 오류 처리용 페이지인지를 정의한다.
값은 true | false(default)
true인 경우는 exception 내장 객체가 사용이 가능하다.
✔️ errorPage
해당 JSP 페이지가 발생 시키는 모든 runtime exception을 처리할 다른 JSP 페이지를 지정한다.
값은 URL이다.
02. Declaration tag
선언 태그
Servlet 클래스의 멤버 변수, 멤버 메소드에 해당하는 코드를 작성할 때 사용
멤버 변수 선언(필드), 멤버 메소드 선언
03. Scriptlet tag
실제 자바 코드가 작성되는 코드
jspServlet 메소드의 로컬 변수와 코드를 작성할 때 사용한다.
함수 안에서 자바 코드를 사용하는 부분이라서 ;(세미콜론) 사용한다.
클라이언트에게 출력하기 위해서 out.write() 직접 사용할 수도 있다.
접근 제한자를 사용할 수 없다.
04. Expression tag
표현식 태그
자바에서 작성한 값을 출력하기 위해서 사용한다.
Servlet 코드에서 out.print() 의 역할을 수행한다.
표현식 태그 안에 작성한 내용은 out.print()의 매개 값으로 넘어간다.
따라서 세미 콜론 ; 을 붙이지 않는다!
'Programming > JSP' 카테고리의 다른 글
DAY 131. JSP - Redirect와 Forward의 차이점 (0) | 2021.12.27 |
---|---|
DAY 112. JSP - EL/JSTL (0) | 2021.12.08 |
DAY 111. JSP - 내장 객체, 영역 스코프 (0) | 2021.12.07 |