웹 애플리케이션의 환경설정 정보를 담은 파일 WAS가 처음 구동될 때 이 파일을 읽어 설정 내용을 톰캣에 적용하게된다, 서블릿 설정, 필터 설정, 오류 페이지 처리 등 여러 설정을 할수있다
웹페이지의 기본설정 같은 느낌이라 보면된다.
지시어 종류
기본 내장 페이지 지시어 3가지
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
▶ language : 스크립트 언어의 유형을 정해주는 속성, 기본 설정 값으로는 java다.
▶ contentType : MIME 형식을 지정해주고 캐릭터셋을 설정해준다.
▶ pageEncoding : contentType과 동일한 기능을 하지만 "해당 JSP 파일을 UTF-8로 인코딩 하겠다"를 뜻하며 contentType에 사용된 charset은 "클라이언트(웹브라우저)가 받아볼 페이지가 UTF-8 형식이다"를 뜻함
이외에도 여러가지 지시어 속성이 있다.
▶ import : JSP 파일 내에서 외부 자바 패키지나 클래스 불러올 때 사용한다.
<%@ page import="java.util.*" %>
▶ errorPage : 현재 페이지가 오류가 발생할 경우 호출될 페이지를 지정한다.
▶ isErrorPage : 현재의 페이지가 일반적인 페이지인지 예외를 처리하는 페이지인지 지정할때 사용합니다. 기본값은 "false"이며 해당 페이지가 예외(Exception)을 처리하는 페이지일 경우 "true"로 설정해준다.
▶ session : JSP 페이지가 HttpSession을 사용할지에 대한 여부를 지정하는 속성입니다. 기본 값은 "true"로 설정되어있다.
▶ buffer : JSP 페이지의 출력 버퍼의 크기를 지정하는 속성이다. 전송할 데이터를 미리 확보한 뒤 전송하는 방법이며 쉽게 버퍼링을 떠올리면된다. 기본값으로는 "8kb"로 설정되어있으며 버퍼를 사용하지 않을때엔 "none"을 사용하면 된다.
▶ autoFlush : JSP 페이지의 내용들이 클라이언트(웹 브라우저)에 출력되기 전 버퍼가 가득 찼을 경우 버퍼를 자동으로 비울 것인지 지정하는 속성, 기본값으로는 "true"로 지정되어있다
▶ isThreadSafe : 다중쓰레드를 사용할 수 있는지 없는지 지정하는 속성, 기본값으로는 "true"다
각 사용자의 접속에 대한 요청을 쓰레드로 처리하기 때문에 false로 지정할 경우 다수의 요청을 동시에 처리하지 않고 요청한 순서대로 처리합니다.
▶ info : 해당 JSP 페이지에 대한 설명을 작성하는 속성
▶ extends : JSP 페이지가 어떤 클래스를 상속받는지 설정하는 속성
<%@ include file="삽입할 파일 이름" %>
추후 10장 11장에서 자세히 다룰예정
스크립트 요소는 JSP에서 자바 코드를 직접 작성할 수 잇게 해줌
용도에따라 선언부 ,스크립틀릿, 표현식이 있다.
선언부에서는 스크립틀릿이나 표현식에서 사용할 멤버 변수나 메서드를 선언함
<%! 메서드 선언 or 멤버변수 선언 %>
JSP 페이지가 요청을 받을때 실행돼야할 자바 코드를 작성하는 영역
<% 자바 코드 %>
스크립틀릿에서는 선언부에서 정의한 메서드를 호출만 할수있고 다른 메서드를 선언할순 없다
프로그래밍 언어에서 표현식은 '실행결과로 하나의 값이 남는 문장'을 듯한다
즉 상수,변수,연산자를 이용한 (수)식, '반환값이있는' 메서드 호출 등이 모두 표현식에 속함
JSP의 표현식도 이와 마찬가지로 주로 변수의 값을 웹 브라우저 화면에 출력할 때 사용합니다.
스크립틀릿 안에서 변수를 출력할때는 out.print()를 사용해야 하지만
좀더 단순한 방법으로 출력하기위해 사용됨
<%= 자바 표현식 =>