JSP 이론 및 기초 문법
2024. 8. 28. 17:11ㆍJAVA 기반 웹개발/SERVLET & JSP
1. JSP ?
2. JSP 구성 및 동작
3. JSP 문법
JSP ?
- JAVA Server Page
- 서버 사이드 템플릿 엔진
- JAVA언어를 사용할 수 있다
JSP 구성 및 동작
- 구성
- CLIENT < - > Server (+ JSP)
- 동작
- Client 요청 (Request)
- Server 해당 JSP 찾기
- JSP file을 java 코드로 변환 ( .jsp -> .java )
- java 코드를 컴파일 ( .java -> .class )
- class file을 수행해서 Server에 내용 전달
- Server는 해당 데이터를 이용해서 html을 구성
- Client에 응답 (html 전달)
- 동작에서 중요한 점
- Jsp -> Java 코드 변환 (servlet 코드로 변환) -> (컴파일) servlet 클래스
- HttpServlet 상속
- Request, Response 사용 가능 ( 요청, 응답 처리 가능 )
- Jsp -> Java 코드 변환 (servlet 코드로 변환) -> (컴파일) servlet 클래스
JSP 문법
- JSP는 XML 표준을 준수해야함
문법 요소 | 표준 문법 | xml 문법 |
주석 | <%-- ... --%> | <!-- ... --> |
선언 (변수, 메서드) | <%! .. %> | <jsp:declaration> ... </jsp:declaration> |
지시어 | <%@ include .. %> | <jsp:directive.include .. /> |
<%@ page .. %> | <jsp:directive.page ../> | |
<%@ taglib .. %> | xmlns:prefix="tag library URL" | |
표현식 | <%= .. %> | <jsp:expression> ... </jsp:expression> |
스크립트 | <% ... %> | <jsp:scriptlet> ... </jsp:scriptlet> |
- jsp Action
- JSP에 내장된 action 문법
<jsp:[action_name] attribute="value" /> | |
jsp:include | 페이지 요청시 파일을 포함 |
jsp:usebean | JavaBean을 찾거나 인스턴스화 |
jsp:setProperty | JavaBean 속성 설정 |
jsp:getProperty | JavaBean 속성 출력 |
jsp:forward | 페이지 이동 (리다이렉트) |
jsp:plugin | Java Plugin |
jsp:element | XML요소를 동적으로 구성 |
jsp:attribute | 동적으로 정의된 XML 요소의 속성을 정의 |
jsp:body | 동적으로 정의된 XML 요소의 본문을 정의 |
jsp:text | 텍스트 작성 |
- 내포된 객체
- <% .. %> 안에서 java 구문을 작성할때, 하위 객체들이 포함되어있으므로 바로 사용이 가능하다 (참고)
객체 | 해당 객체 클래스 |
request | HttpServletRequest |
response | HttpServletResponse |
out | PrintWriter |
session | HttpSession |
application | ServletContext |
config | ServletConfig |
pageContext | JspWriters |
page | Java의 this 역할 (자기 참조) |
Exception | 예외 객체 |
- 제어 흐름
- 조건문
- 반복문
1. IF - ELSE 문
<%! int day = 3; %>
<html>
<head> test </head>
<body>
<% if (day == 1 || day ==7) { %>
<p> weekend </p>
<% } else { %>
<p> not weekend </p>
<% } %>
</body>
</html>
2. Switch 문
<%! int day = 3; %>
<html>
<head> test </head>
<body>
<%
switch(day){
case 0:
out.println("it's Sunday");
break;
...
}
%>
</body>
</html>
3. 반복문
<%! int day = 3; %>
<html>
<head> test </head>
<body>
<% while ( day != 5) { %>
<p> <%= day %> </p>
<% day++; %>
<% } %>
</body>
</html>
'JAVA 기반 웹개발 > SERVLET & JSP' 카테고리의 다른 글
MVC 패턴 ( Servlet + JSP ) (1) | 2024.08.28 |
---|---|
순수 JSP 예제 (1) | 2024.08.28 |
Servlet 예제 ( 회원 저장 / 조회 ) (0) | 2024.08.27 |
Servlet 응답 처리 (1) | 2024.08.27 |