do-oni 2021. 9. 19. 18:45

 

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" %>

    3. expression - 브라우저에 단순 데이터 출력
<%=       %>

    4. 선언자(declaration) - 멤버 변수나 멤버 메소드 구현
<%!         %>
   
    5. scriptlet - service() 구현과 일치
<%            %>
ex) <% request / session / out / response...  %>


- 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