JSP 이해
JSP는 Java Server Pages 의 약자, Java 를 기반으로 하는 서버 사이드 스크립트 언어다.
Html에 Java 코드를 넣어 동적인 웹 페이지를 생성하는 웹 어플리케이션 도구이다.
JSP 특징
- JSP는 스크립트 언어이기 때문에 자바 기능을 그대로 사용
- Tomcat(WAS)이 이미 만들어 놓은 객체를 사용한다.
(request, response, session, out, application 등)
- 사용자 정의 태그를 사용하여 보다 효율적인 웹사이트를 구성할 수 있다.
(JSTL : JSP Standard Tag Library, JSP 표준 태그 라이브러리)
- JSP는 수정된 경우 재배포할 필요없이 Tomcat이 알아서 처리해준다.
JSP 동작 과정
JSP페이지는 JSP로 웹 어플리케이션을 구현할 때 작성하는 코드를 의미한다.
JSP는 웹에서 동적 문서에 해당하는 부분으로 Servlet의 종류 중 하나다.
JSP는 클라이언트가 동적페이지를 요청 했을 경우 웹서버에서 WAS에게 제어권을 넘기고 WAS가 서블릿 소스코드로 자동 변환되고 서블리스 클래스로 컴파일 되어 응답하는 구조로 이루어져 있다.
자바 서블릿(Java Servlet)은 자바 언어를 기반으로 만들어지며 웹 어플리케이션 서버(WAS) 위에서 컴파일 되고 동작한다.
JSP 기초 문법
- jsp 문법은 두가지 형태로 분류된다.
- 스크립트태그(Script Tag)를 이용하여 작성하는 방법과 액션태그(Action Tag)를 이용하여 작성하는 방법
1. 스크립트 태그(Script Tag)
종류 | 형식 | 설명 |
지시문(Directive) | <%@ ... %> | 현재 JSP 웹문서를 처리하기 위한 각종 정보를 톰캣으로 전달하는 역할 |
선언문(Declaration) | <%! ... %> | JSP의 스크립트릿이나 표현식의 멤버 변수나 멤버 메서드를 작성할 때 사용 |
스크립트릿문(Scriptlet) | <% ... %> | JSP의 스크립트 코드를 지정하는 문으로 JSP 문서의 Java 명령문으로 프로그램 로직을 작성할 때 사용 |
표현식 문(Expression) | <%= ... %> | 변수의 값이나 간단한 문자열을 출력할 때 사용 |
주석문(Comments) | <%-- 설명 --%> | JSP 웹문서 주석 * 한줄 // , 한줄이상일 경우 /* ... */ |
예제)
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%! int sum = 0; %>
<%
for(int i = 0; i<=10; i++){
sum = sum + i;
}
%>
<%-- 총합 출력 --%>
<%= sum %>
지시문
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
선언문
<%! int sum = 0; %>
스크립트릿문
<%
for(int i = 0; i<=10; i++){
sum = sum + i;
}
%>
주석문
<%-- 총합 출력 --%>
표현식문
<%= sum %>
2. 액션 태그(Action Tag)
다른 JSP의 웹문서 실행을 포함시키거나 제어하기 위해 사용한다.
<jsp: 지시자 속성 = "속성 값" />
종류 | 형식 | 설명 |
Include | <jsp:include ... /> | jsp의 현재 페이지에 다른 페이지를 포함할 경우 사용 |
forward | <jsp:forward ... /> | jsp의 현재 페이지에서 다른 페이지로 제어를 이동하고자 할 경우에 사용 |
plugin | <jsp:plugin... /> | jsp에서 자바 애플릿이나 자바빈즈을 실행하고자 할 경우 사용 |
useBean | <jsp:useBean... /> | jsp에서 자바빈즈를 사용하고자 할 경우 사용 |
setProperty | <jsp:setProperty... /> | jsp에서 자바빈즈의 속성값을 수정하고자 할 경우 사용 |
getProperty | <jsp:getProperty... /> | jsp에서 자바빈즈의 속성값을 가져오고자 할 경우 사용 |
'JSP' 카테고리의 다른 글
JSP[jsp] jsp 기초 문법 3 - jsp 초보강좌 #7 (0) | 2023.08.20 |
---|---|
JSP[jsp] jsp 기초 문법 2 - jsp 초보강좌 #6 (0) | 2023.08.20 |
[jsp] 이클립스 톰캣 연동 - jsp 초보강좌 #4 (0) | 2023.08.19 |
[jsp] 이클립스 다운로드 및 설정 - jsp 초보강좌 #3 (0) | 2023.08.19 |
[jsp] 윈도우 11 톰캣(Tomcat 9.0.79) 설치 - jsp 초보강좌 #2 (0) | 2023.08.19 |