[JSP] JSP의 지시자와 액션 태그

mingsso·2024년 4월 10일

JSP

목록 보기
3/5
post-thumbnail

1️⃣ 지시자 (Directive)

클라이언트의 요청에 jsp 페이지가 실행될 때, JSP 컨테이너에게 해당 페이지를 어떻게 처리할 것인가에 대한 정보를 알려주는 역할
지시자는 태그 안에서 @로 시작함

page 지시자

  • info 속성
    • 페이지를 설명해주는 문자열로, 속성값의 내용이나 길이의 제한이 없음
  • language 속성
    • jsp 페이지의 스크립트 요소에서 사용할 언어 지정
  • contentType 속성
    • jsp 페이지의 내용을 어떤 형태로 출력할 것인지 MIME 형식으로 브라우저에 알려줌 (text/html, text/plain, text/xml, text/gif 등)
  • extend 속성
    • jsp 페이지가 서블릿 소스로 변환되는 시점에서 자신이 상속받은 클래스를 지정할 때 사용됨
    • JSP 컨테이너가 알아서 적절한 클래스들을 상속시켜 변환해 주므로 사용할 일은 거의 없음
  • import 속성
    • page 지시자 중에 유일하게 중복 사용이 가능한 속성
  • session 속성
    • jsp 페이지가 HttpSession을 사용할지 여부를 지정
    • true일 경우 현재의 페이지가 세션을 유지하고, 세션이 존재하지 않을 경우 새로운 세션을 생성해 연결
    • false일 경우에는 세션에 연결되지 않음
  • buffer 속성
    • jsp 페이지의 출력 크기를 킬로바이트 단위로 지정
  • autoFlush 속성
    • jsp 페이지의 내용들이 브라우저에 출력되기 전에 버퍼에 다 채워질 경우 저장되어 있는 내용들을 어떻게 처리할지 결정
    • true일 경우 버퍼가 다 찼을 경우 자동적으로 비워지게 됨
  • isThreadSafe 속성
    • 하나의 jsp 페이지가 동시에 여러 브라우저의 요청을 처리할 수 있는지 여부를 설정
    • false일 경우 요청을 동시에 처리하지 않고 요청한 순서대로 처리함
  • trimDirectiveWhitespaces 속성
    • 디렉티브나 스크립트 코드로 인하여 발생되는 줄 바꿈 공백 문자를 제거하는 역할
  • errorPage 속성
    • jsp 페이지를 처리하는 도중에 페이지에서 예외가 발생할 경우 자신이 예외를 처리하지 않고 다른 페이지에서 처리하도록 지정할 수 있는 속성
    • 속성값으로는 예외를 처리할 페이지의 로컬 URL을 적어주면 됨
  • isErrorPage 속성
    • 현재 jsp 페이지가 에러 처리를 담당하는 페이지인지 아닌지의 여부를 지정
    • 요청된 현재의 페이지가 예외를 발생하여 예외 처리를 위해서 만들어지는 에러 페이지라면 true로 설정해야 함
  • pageEncoding 속성
    • jsp 페이지에서 사용하는 character의 인코딩을 지정함
    • 만약 pageEncoding 속성이 생략되어 있다면, contentType 속성의 charset 값을 사용하게 됨
<%@page contentType="text/html;charset=EUC-KR"
		import="java.util.*"
        session="true"
        buffer="16kb"
        autoFlush="true"
        isThreadSafe="true" %>

include 지시자

여러 jsp 페이지에서 공통적으로 포함하는 내용이 있을 때, 이러한 내용을 매번 입력하지 않고 별도의 파일에 저장해 두었다가 JSP 파일에 삽입할 수 있음
즉, 두 개의 파일이 하나의 파일로 구성이 됨

<%@include file="로컬URL" %>



2️⃣ 액션 태그

include 액션 태그

include 지시자와 함께 다른 페이지를 현재 페이지에 포함시킬 수 있는 기능

include 지시자는 단순하게 소스의 내용이 텍스트로 포함이 되지만, include 액션 태그는 포함시킬 페이지의 처리결과를 포함시킴

jsp 페이지에 새로운 요청 파라미터를 추가적으로 지정할 수 있음

<jsp:include page="로컬URL" flush="true">
	<jsp:param name="name_1" value="value_1"/>
    <jsp:param name="name_2" value="value_2"/>
<jsp:include>

forward 액션 태그

다른 페이지로 이동할 때 사용되는 태그
jsp 페이지 내에 forward 액션 태그를 만나게 되면, forward 태그가 있던 jsp 페이지의 모든 내용을 버리고서 forward 태그가 지정하는 다른 페이지로 이동하게 됨

<jsp:forward page="로컬URL"/>
<jsp:forward page="로컬URL"></jsp:forward>
<jsp:forward page='<%=expression%>'/>
profile
🐥👩‍💻💰

0개의 댓글