- HTML + Java
: HTML을 중심으로 Java와 연동하여 사용하는 웹언어. 즉, HTML코드에 Java코드를 넣어 동적 웹페이지를 생성하는 웹 어플리케이션 도구이다.
JSP가 실행되면 자바 서블릿(servlet)으로 변환되어 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고, 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트에 응답한다.
동작 과정
- 1) 웹서버에게 클라이언트가
jsp
페이지를 요청한다.- 2) 해당 요청을 웹 컨테이너(
Servlet
컨테이너)에게 넘긴다.- 3) 기존에 요청된
jsp
파일인지 체크한다.
- 최초 요청 :
jsp
파일을Servlet
파일로 파싱 -> 클래스 파일로 컴파일- 이미 작업한 요청 : 파싱 과정 생략 후 즉시 컴파일
- 4) 컴파일된 클래스 파일은 메모리에 적재되어 실행된다.
- 5) 실행 결과를 웹서버에 전달한다.
- 6) 전달받은 실행 결과를 브라우저가 인식할 수 있는
HTML
파일로 바꾸어 브라우저에서 실행한다.
JSP
에서는 HTML
코드에 Java
코드를 넣어 프로그램이 수행할 기능을 구현할 수 있다. 이 때 사용되는 것이 스크립트 태그이다.
선언문(declaration
)
<%! ... %>
: 자바 변수나 메소드를 정의하는 데 사용하는 태그
스클립틀릿(scriptlet
)
<% ... %>
: 자바 변수선언 및 자바 로직코드를 작성하는 데 사용되는 태그
표현문(expression
)
<%= ... %>
: 변수, 계산식, 메소드 호출 결과를 나타내는 태그
지시자(directive
)
<%@ ... %>
: 페이지 속성을 지정하는 태그
포함 지시자(include directive
)
<%@ include file = "파일명..." %>
: 현재jsp
페이지의 특정 영역에 외부 파일의 내용을 포함시키는 태그
- ex) 보통
header
와footer
등 다수의 페이지에 동일한 내용으로 작성되는 내용의 유지보수 및 편의를 위해 외부 파일로 만들어include
시킨다.<body> <%@ include file="header.jsp" %> <h4>----------페이지 영역----------</h4> <p>페이지 내용</p> <h4>----------------------------</h4> <%@ include file="footer.jsp" %> </body>
주석(comment
)
<%-- ... --%>
: 주석 태그
- request : 웹 브라우저의 요청 정보를 저장하고 있는 객체
- response : 웹 브라우저의 요청에 대한 응답 정보를 저장하고 있는 객체
- out : JSP 페이지에 출력할 내용을 가지고 있는 출력 스트림 객체
- session : 하나의 웹 브라우저의 정보를 유지하기 위한 세션 정보를 저장하고 있는 객체
- 이외 :
application, pageContext, page, config, exception...