JSP (Java Server Page) - server (web container)에서 실행되는 언어 - server side 언어 / server 없이는 실행 불가 / server에서 실행해서 client에게는 데이터값만 응답 - servlet으로 UI적 처리는 한계, presentation 용의 웹 개발
구성 요소 - HTML tag - java 코드 제어가 가능한 jsp 자체 tag - jsp를 효율적으로 개발 가능한 추상화된 tag [JSTL]
특징 - 확장자 : *.jsp - 최초의 client가 요청시에 내부적으로 web container가 servlet으로 변환 -> 컴파일 -> byte code를 메모리에 로딩 -> servlet 객체 생성 및 init() -> service()
JSP Tag
- jsp scripting tag 1. 주석 <%-- --%>
2. 지시자(directive) - incoding 또는 외부 자바 소스 import 문장 등 <%@ %> ex) <%@ page import=" " contentType="text/html;charset=utf-8" %>
- jsp action tag <jsp:forward /> <jsp:forward> </jsp:forward>
- EL(expression langauge) ${ ... } ex) ${requestScope/sessionScope} 브라우저에 출력 Java code를 { } 내부에서 실행 null인 경우 브라우저에 blank로 표현 쿠키 객체로부터 데이터 출력시에 유용 문자열/dto/배열/list/map
- JSTL(JSP Standard Tag Library) 1. 별도의 library 제공 / Apache 사이트 또는 각 서버마다 실행 가능한 예시 샘플 있음 2. 사용을 위해서는 해당 project 내에 library 경로에 저장 (WEB-INF/lib/*.jar) 3. 순수 Java code를 jsp에서 최소화 할 수 있는 tag