KEEP GOING
[JSP] JSP와 스크립트 요소(스크립틀릿, 선언문, 표현식, 주석, 지시자) 본문
JSP
HTML 안에 Java 코드를 삽입하여 동적인 웹 페이지를 구축하는 스크립트 언어
- JSP를 통해 정적인 HTML과 동적인 contents(HTTP 요청 파라미터)를 혼합하여 사용 가능
- 스크립트 언어이므로 자바 기능을 모두 사용 가능
- Tomcat(WAS)이 이미 만들어 둔 객체를 사용한다. ( ex. request, response, session 등)
스크립트 요소
(1) 스크립틀릿 <% Java 코드 %>
<% .. %> 태그 내에 있는 Java 코드. JSP에서 Java 코드를 사용할 수 있도록 돕는다.
- 스크립틀릿에 객체나 클래스를 사용할 경우, package명까지 작성한다.
(2) 지시자 <%@ %>
컨테이너가 웹 페이지를 Java 코드로 변환시 필요한 지시어를 처리하는 키워드
ex. page, include, taglib
- 지시자 사용시 <% 옆에 @를 붙인다.
- page 지시자는 Java 코드에서 import한다는 의미와 같다.
디렉티브
JSP에 대한 설정 정보를 지정할 때 사용
<%@디렉티브 이름 속성1="값1"; 속성2="값" .. %>
<%@page contentType = "text/html; charset=utf-8" %>
- page : jsp 페이지에 대한 정보 지정. jsp의 문서 타입, 출력 버퍼 크기, 에러 페이지 등 설정
- taglib : jsp 페이지에서 사용할 태그 라이브러리 지정
- include : jsp 페이지의 특정 영역에 다른 문서를 포함시킴
(3) 표현식 <%= 값 또는 변수 %>
JSP에서 출력을 위해 out.println()을 사용하지 않고 =으로 처리하는 방법
출력문을 간단하게 작성하도록 도와준다.
<% out.println(foo.Counter.getCount()) %>를 <%= foo.Counter.getCount() %>로 표현
컨테이너가 자동적으로 out.println()으로 변환
- 출력을 위해 사용하므로 반환값이 없는 void 메서드 호출 불가
- 표현식 사용시 자동으로 마지막에 세미콜론 생성
(4) 선언문 <%! 멤버 변수 또는 메서드 %>
JSP에서 멤버변수와 메서드를 선언하기 위해 사용
메서드를 맨 아래에 선언하더라도 표현식이나 스크립틀릿에서 사용 가능
(5) 주석 <%-- -->
JSP에서 주석을 처리하는 방법
내장 객체
API | 내장 객체 |
JspWriter | out |
HttpServletRequest | request |
HttpServletResponse | response |
HttpSession | session |
ServletContext | application |
ServletConfig | config |
JspException | exception |
PageContext | pageContext |
Object | page (==this) |
사용 예제
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%-- 선언문: 멤버변수와 메서드 정의 --%>
<%!
int add(int x, int y){
int result = x + y;
return result;
}
%>
<%-- 스크립틀릿: 자바코드 사용 가능 --%>
<%
int num1 = 10;
int num2 = 20;
int sum = add(num1, num2);
%>
<%--표현식: 선언문과 스크립틀릿에서 처리한 결과값 출력 --%>
<h1><%=num1 %>과 <%=num2 %>의 합은 <%=sum %></h1>
</body>
</html>
'web' 카테고리의 다른 글
JSP 게시판 만들기 - (12) 게시판 내용 조회 기능 구현 (READ) (0) | 2022.06.13 |
---|---|
JSP 게시판 만들기 - (11) 게시판 목록 조회 기능 구현 (0) | 2022.06.13 |
JSP 게시판 만들기 - (10) 글쓰기 기능 구현 (CREATE) (2) | 2022.05.30 |
JSP 게시판 만들기 - (9) 게시판 데이터베이스 구축 (1) | 2022.05.30 |
JSP 게시판 만들기 - (8) 게시판 메인 페이지 만들기 (0) | 2022.05.30 |