[국비학원 기록/JSP] JSP 구성 요소, 디렉티브 태그 종류
my code archive
article thumbnail
반응형
JSP -- 자바 웹 기술의 최종 진화

 

서블릿 JSP
자바 코드 안에서 전체 HTML 페이지 생성 HTML 코드 안에서 필요한 부분만 자바 코드를
스크립트 형태로 추가함.
변수 선언 및 초기화가 반드시 선행되어야함 내장 객체 제공하여 즉시 사용 가능함.
컨트롤러(Controller) 처리된 결과 보여주는 뷰(View)만들 때 사용

 

JSP 구성 요소

1)HTML 태그, CSS, JS 코드

2)JSP 기본 태그

3)JSP 액션 태그

 

JSP 페이지 구성 요소

1)디렉티브 태그(Directive Tag)

2)스크립트 요소(Scripting Element) : 주석문, 스크립틀릿(Scriptlet), 표현식, 선언식

3)표현 언어(Expression Language, EL)

4)내장 객체(내장 변수)

5)액션 태그(Action Tag)

 

디렉티브 태그 종류

1.페이지(Page Directive Tag)

-JSP 페이지의 전반적인 정보 설정 시 사용

-이클립스에서 자동으로 생성되는 페이지 디렉티브 태그

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

 

-속성

1)import : 페이지에서 사용할 자바 패키지와 클래스 지정

 

 

2)errorPage : 해당 페이지에서 에러가 발생했을 때 에러 발생 여부를 보여줄 페이지를 지정함.

3)isErrorPage : 해당 페이지가 에러를 처리할지 여부를 지정함.

int myAge가 비어있기 때문에 당연히 에러가 발생한다.
=>에러가 발생했을 때 출력할 페이지를 따로 지정. (이미지 태그 사용)

 

4)trimDirectiveWhitespaces : 지시어 선언으로 공백을 제거할지 여부 지정

trimDirectiveWhitespaces="false"

trimDirectiveWhitespaces="true"

5)buffer : 출력 버퍼의 크기 지정

6)autoFlush : 출력 버퍼가 모두 채워졌을 때 자동으로 비울지 결정.

 

buffer = "1kb" autoFlush = "false" -> buffer가 채워져도 비워지지 않기 때문에 에러 발생

 

buffer = "8kb" autoFlush = "true" -> buffer가 채워지고 자동으로 비워지기 때문에 정상적으로 실행

2.인클루드(Include Directive Tag)

-공통으로 사용하는 JSP 페이지를 다른 JSP 페이지에 추가할 때 사용

-재사용성이 높음.

-JSP 페이지 유지 관리가 쉬움.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<%@page import="java.time.LocalDateTime"%>
<%@page import="java.time.LocalDate"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>include 지시어</title>
</head>
<body>
    <%
        LocalDate today = LocalDate.now();                            //오늘 날짜
        LocalDateTime tomorrow = LocalDateTime.now().plusDays(1);    //내일 날짜
    %>
</body>
</html>
cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@include file="includeFile.jsp" %>        <!-- 다른 JSP 파일 포함 -->
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>include 지시어</title>
</head>
<body>
    <%
        out.println("오늘 날짜 : "+today);    
        out.println("<br>");
        out.println("내일 날짜 : "+tomorrow);
    %>
</body>
</html>
cs

3)태그라이브(Taglib Directive Tag)

-개발자나 프레임워크에서 제공하는 태그 사용 시 사용
-EL(표현 언어)에서 자바 클래스의 메서드를 호출.
-JSTL(JSP 표준 태그 라이브러리) 사용하기 위한 지시어.

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형