🏁 JSP(Java Server Pages)
- 동적 웹 페이지를 생성하기 위한 Java API
- HTML안에 Java코드를 활용할 수 있다
🏁 Web Server
- 요청이 오면 해당 URI의 자원을 응답한다
- 그림주세여 -> 그림을 응답
- html 페이지 주세요 -> 페이지를 응답
- Apache-Tomcat에서 Apache를 웹 서버라고 한다
- 정적 컨텐츠 처리
🏁 Web Application Server
- JSP 페이지 주세요 -> Java 해석(컴파일) 및 실행 -> .html파일 생성 -> 응답
- 단순 응답이 아닌, 상황에 따라 변하는 동적 페이지 처리를 담당한다
- Apache-Tomcat에서 Tomcat이 JSP의 해석을 담당한다
🏁 JSP 문법
<%-- JSP Script --%>
<%
String str = "Hello JSP!";
System.out.println("JSP 페이지 실행중입니다");
out.print("<div style=\"color: skyblue;\">Hello!!!</div>");
%>
<%!
String rabbit(){
return " /)/)\n"
+ "( ..)\n"
+ "( >$)";
}//내가 만든 토끼 메서드
%>
<div style="color: coral;"> <%=str %></div>
<pre style="font-size: 25px;"><%=rabbit() %></pre>
- <%-- --%> : JSP 주석
- <% %> : 해당 영역 내부에서 자바 코드를 사용할 수 있다 (메서드 내부 취급)
- <%= %> : 자바에서 값을 HTML로 출력한다
- <%! %> : 메서드를 선언할 수 있다 (인스턴스 영역 취급)
- <%@ %> : JSP의 옵션 설정 영역(JSP문법)
🏁 JSP 파일의 처리 순서
- 클라이언트가 서버에 접속한다
- .jsp 파일은 우선 .java 파일로 변환된다(1차 컴파일)
- 변환된 .java 파일을 컴파일한다(2차 컴파일 - 산출물로 실행 가능한 형태의 .class파일이 생성된다)
- 컴파일된 결과물이 웹 컨테이너(Tomcat)에 등록되어 사용자의 요청을 기다린다
- 클라이언트가 해당 페이지를 요청하면 웹 컨테이너에 등록되어 있는 컴파일 결과물을 실행하여 요청에 응답한다