<%@ %>(지시자; Directive)
지시자는 JSP 페이지의 환경을 설정하는 영역이다.
ex) <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
content-type | charset | pageEncoding |
리소스의 미디어 타입 | Http Client(웹브라우저)가 받아볼 페이지의 인코딩 방식 | 해당 jsp파일 내부 소스코드의 인코딩 방식 |
*charset은 Http 헤더에 기록되어 있음
-외부 라이브러리
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> //JSTL
-내부 라이브러리
<%@ page import="java.util.ArrayList" %>
<% %>(스크립트 릿; Scriptlet)
스크립트 릿은 자바 파일의 메소드 내부 영역이다. 자바 코드로 작성되고 주로 지역 변수 선언, 연산, 제어문 사용, 출력 시 사용되는 영역이다.
<%! %>(선언문; Declaration)
선언문은 자바 파일의 클래스 내부 영역이다. 자바 코드로 작성된다.
자바 클래스의 멤버 필드(변수), 멤버 메서드(함수)를 정의하는 영역이다.
<%!
int data;
public void setData(int data){
this.data = data;
}
public int getData(){
return data;
}
%>
<h3><%= "setData() 호출 전: " + getData() %></h3>
<% setData(100); %>
<h3><%= "setData() 호출 후: " + getData() %></h3>
선언문 안에서 멤버 필드와 setter 메서드, getter 메서드를 선언하고 정의했다.
멤버 필드 선언 후 초기화가 생략되면 자동으로 0이 대입된다.
따라서 setter 메서드로 값이 지정되지 않았어도 에러 없이 0이 출력된다.
멤버 필드인 data1과 달리, 지역 변수인 data2는 자동으로 초기화가 되지 않아 13번째 코드에서 에러가 발생한다.
data2를 0으로 초기화하여 에러를 방지했다.
<%= %>(표현식; Expression)
출력문을 작성하는 영역이다. out.print( 코드 ); 중 코드와 같으므로 세미 콜론(;)은 생략한다.
표현식은 클라이언트의 화면에 코드를 출력할 때 사용된다.
'Jsp' 카테고리의 다른 글
[jsp] jsp 내장 객체: request (0) | 2022.05.10 |
---|---|
[jsp] 에러 페이지 설정: 지시자, web.xml, 서블릿 (0) | 2022.05.09 |
Form태그(get방식, post방식) (0) | 2022.04.26 |
웹 서버와 WAS(Web Application Server) (0) | 2022.04.25 |
IP주소 (0) | 2022.04.25 |