JSP ( java server pages )
HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구
주석 <%-- 주석 --%>
jsp로 html문서를 통제할 수 있지만 반대는 적용되지 않는다.
<%-- <h2>html문서입니다.</h2> html코드를 막을 수 O --%>
<!-- <% name.length() %> 자바코드를 막을 수 X -->
scriptlet 스클립틀릿
JSP파일에서 Java코드를 쓸 때, 사용되는 코드 블럭을 말함
지시자 : 컨테이너에게 해당 JSP페이지 처리방방법에 대해 지시
<%@ 지시자 %> : Page, include, taglib 등이 있음.
Include 지시자
jsp file을 해당 페이지에 포함시키는 것으로, 반복적으로 사용되는 부분을 쓸 때 유용복사 & 붙여넣기와 같은 효과로
include한 파일에서 쓴 변수를 해당 페이지에서 사용 가능.
taglib 지시자
JSTL사용시 선언, JSP에서 불필요한 자바코드를 줄일 수 있음
JSP 데이터 객체
pageContext | 해당 jsp 페이지 관련 흐름 제어 및 내장 객체 관리하는 객체 해당 jsp 페이지 내에서만 데이터 사용 가능 |
해당 페이지를 벗어나면 데이터 사용 불가 |
request | 클라이언트의 요청을 객체화 한 것 request를 전달받은 페이지에서 데이터 사용 가능 |
페이지를 벗어나도 request가 전달된 페이지라면 데이터 사용 가능 |
session | 클라이언트 상태 저장을 위한 객체 모든 jsp에서 데이터 공유 가능 |
어느 페이지에서도 이용 가능 브라우저가 종료되면 저장 데이터 삭제 |
application | 초기화, jsp와 컨테이너 간 통신을 돕는 객체 모든 jsp에서 데이터 공유 가능 |
어느 페이지에서라도 이용 가능 서버가 종료 혹 서버에서 어플리케이션이 종료되기 전까지 이용 가능 |
EL ( Expression Language )
JSP 2.0에서 새롭게 추가된 스크립트 언어
[ 주요 특징 ]
1) JSP 속성영역 (request, response, session, application) 저장된 속성 객체의 property를 출력한다
2) 리터럴 데이터, 다양한 연산결과 출력이 가능하다
3) JSTL과 연동이 가능하다
1) JSP 속성영역 (request, response, session, application) 저장된 속성 객체의 property를 출력한다
2) 리터럴 데이터, 다양한 연산결과 출력이 가능하다
3) JSTL과 연동이 가능하다
EL 내장객체
분류 | 내장객체 | 설명 | 예시 |
스코프 | pageScope | page 영역의 Attribute에 바인딩 된 객체를 참조하는 Map객체 | ${pageScope.속성명} |
requestScope | request 영역의 Attribute에 바인딩 된 객체를 참조하는 Map객체 | ${requestScope.속성명} | |
sessionScope | session 영역의 Attribute에 바인딩 된 객체를 참조하는 Map객체 | ${sessionScope.속성명} | |
applicationScope | application 영역의 Attribute에 바인딩 된 객체를 참조하는 Map객체 | ${applicationScope.속성명} | |
요청 파라미터 | param | HTTP 요청 파라미터 값 참조하는 Map 객체 | ${param.파라미터명} |
paramValues | HTTP 요청 파라미터를 배열로 참조 param과는 다르게 배열이므로 속성명 뒤에 배열의 요소를 참조하는것처럼 [index]를 붙여주어야 함 | ${paramValues.속성명[index]} ${paramValues.name[2]} |
JSTL Core 태그
- Core 태그를 사용하기 위해서는 taglib 지시자(directive)를 선언해야 한다.
(mvn에서 다운받아서 jstl jar파일을 넣어야함 )
<c:out> | <%= … %> 표현식과 동일하게 jsp 페이지에 출력을 하는 태그 |
<c:set> | 4개 영역의 jsp 저장소에 변수를 선언하는 태그 |
<c:remove> | 4개 영역의 jsp 저장소에 변수된 변수를 제거하는 태그 |
<c:if> | If문과 같은 기능을 하는 태그 (단일조건) |
<c:choose> | Switch + 다중if문과 비슷한 기능을 하는 태그 <c:when>을 이용하여 조건을 선언 여러 번 사용가능. (다중 조건) <c:otherwise> 조건에 맞지 않는 값 default 와 비슷 |
<c:when> | |
<c:otherwise> | |
<c:forEach> | 배열이나 Collection 객체 요소를 탐색하여 나타내는 태그 (반복문) |
<c:import> | Include 지시자와 같이 다른 페이지를 포함하기 위한 태그 (page 지시자의 impor와는 다른 기능임) |
'JSP&JSTL 수업 정리' 카테고리의 다른 글
JSP/JSTL 5일차. (0) | 2024.10.25 |
---|---|
JSP/JSTL 4일차. (0) | 2024.10.24 |
JSP/JSTL 3일차. (0) | 2024.10.23 |
JSP/JSTL 2일차. (0) | 2024.10.22 |