JSP(Java Server Page)
: HTML 형식 내에서 Java 코드를 쓸 수 있는 Java 언어이다.
- Servlet에서 응답화면을 구현했던 복잡함을 보다 간결하게 해결할 수 있다.
- 즉, JSP의 가장 큰 장점은 Servlet에서는 Controller 역할에만 집중하고 View 역할은 JSP에서 집중하게끔
분리한다는 것이다.
JSP Element 표현법
1. 스크립팅 원소(Scripting Element)
: JSP에서 Java 코드를 기술할 수 있게 한다.
(1) 선언문(<%! %>)
: 멤버변수와 메소드를 선언하기 위해 사용한다.
(2) 스크립틀릿(<% %>)
: JSP에서 Java 코드를 기술하기 위한 기본적인 표현법이다.
- ex) 변수의 선언 및 초기화, 제어문 등
<%
int sum = 0;
for(int i = 0; i <= 100; i++){
sum += i;
}
System.out.println("총합: "+sum);
%>
(3) 출력식(표현식)(<%= %>)
: Java에서 작성한 값(또는 메소드 호출)을 출력하기 위해 사용한다.
<%
String[] food = {"떡볶이", "돈가스", "김치찌개", "치킨"};
%>
<h4>배열의 길이 <%=food.length %></h4>
<h4>배열값 <%=String.join(",", food)%></h4>
2. 지시어(Directive)
: JSP page의 전체에 영향을 미치는 정보를 기술할 때 사용한다.
- <%@ page/include/taglib 속성="속성값" ... %>
(1) page 지시어
: 현재의 JSP page를 처리하는 데 필요한 각종 속성들을 기술한다.
- language: 사용할 스크립트 언어 유형을 지정한다.
- contentType: 웹 브라우저가 받을 페이지의 형식, 인코딩 방식을 지정한다.
- pageEncoding: JSP file에 기록된 Java 코드의 인코딩 방식을 지정한다.
- import: Java의 import와 같다.
- errorPage: JSP 상에서 오류가 발생할 경우에 보여줄 에러페이지의 경로를 지정한다.
- import
<%@ page import="java.util.ArrayList>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>import</title>
</head>
<body>
<%
// ArrayList 사용
// 지시어 부분에 import = "java.util.ArrayList" 속성 추가하기
ArrayList<String> list = new ArrayList<>();
list.add("import되었다.");
list.add("나도 import되었다.");
%>
<p>
리스트의 길이: <%=list.size() %> <br>
0번 인덱스값: <%=list.get(0) %> <br>
1번 인덱스값: <%=list.get(1) %>
</p>
</body>
(2) include 지시어
: JSP file에 또다른 JSP를 포함시킬 때 사용한다.
- 오늘 날짜가 있는 today.jsp를 포함시킬 때
<%@ include file="today.jsp" %>