[JSP] 디렉티브 태그(page, include), 스크립트 태그(선언문, 스크립틀릿, 표현문), 액션 태그(forward, include, param)
JSP는
서블릿으로 HTML을 코딩하기 너무 어렵고 불편해서 HTML 내부에 Java코드를 삽입하는 형식이 JSP입니다.
다시 말해 서블릿의 단점을 보완하고자 만든 서블릿 기반의 스크립트 기술입니다.
JSP파일을 만들게 되면 위와 같이 나옵니다.
맨위의 <%@ %>가 무엇인지, 속성=값 이 어떤 의미인지 알아보도록 하겠습니다.
디렉티브 태그
<%@ page %> : 현재 JSP 페이지에 대한 정보를 설정하는 태그입니다. 되도록 페이지 최상단에 선언합니다.
1. language(java) : 현재 JSP페이지가 사용할 프로그래밍 언어.
2. contentType(text/html) : 현재 JSP 페이지가 생성할 문서의 콘텐츠 유형
3. pageEncoding(ISO-8859-1) : 현재 JSP 페이지의 문자 인코딩 설정
4. import : 현재 JSP페이지에서 사용할 자바 패키지 및 클래스 설정
5. session(true) : 현재 JSP페이지에서 세션 사용 여부 설정
6. info : 현재 JSP 페이지에 대한 설명을 설정
7. errorPage : 현재 JSP 페이지에 오류가 발생했을 때 보여줄 오류페이지 설정
8. isErrorPage(false) : 현재 JSP 페이지가 오류 페이지인지 여부 설정
위 코드는를 보면 Date클래스를 import 해주었고, 에러가 나면 에러페이지로 이동하는 errorPage도 설정해 두었습니다.
isErrorPage키워드로 에러페이지 설정을 하였습니다.
에러가 나는 jsp파일을 실행을 해보면
위와 같이 나오게 됩니다.
<% include file="파일경로"%> : include 디렉티브 태그
현재 JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 태그입니다.
보통 header와 footer는 대부분의 페이지에서 동일한 내용으로 작성되기 때문에
유지보수 및 편의를 위하여 외부 파일로 만든 후 include해서 사용합니다.
이러한 것을 모듈화라고 합니다.
위와 같이 헤더와 푸터부분에 include 디렉티브 태그를 썻을 경우,
여러파일을 바꾸지않아도, 헤더와 푸터의 코드만 고쳐줘도 전부 반영이 되게 됩니다.
스크립트 태그
HTML 코드에 자바 코드를 넣어서 프로그램이 수행하는 기능을 구현할 수 있습니다.
1. 선언문(declaration) : <%! %>
자바 변수나 메소드를 정의하는 데 사용합니다.
2. 스크립틀릿(scriptlet) : <% %>
자바 변수 선언 및 자바 로직 코드를 작성한 데 사용합니다.
3. 표현문(expression) : <%= %>
변수, 계산식, 리턴이 있는 메소드 호출 결과를 문자열 형태로 출력합니다.
선언문에 변수와 메소드를 선언하였고 , 스크립틀릿에 로직을 작성하였고, 표현문에 값을 넣어서 출력하였습니다.
액션 태그
서버나 클라이언트에게 어떤 행동을 하도록 명령하는 태그입니다.
페이지와 페이지 사이를 제어하거나 다른 페이지의 실행 결과 내용을
현재 페이지에 포함시키거나 자바빈즈 등의 다양한 기능을 제공합니다.
액션 태그는 XML형식은 <jsp: />를 사용합니다.
1. forward(<jsp:forward />)
다른 페이지로의 이동, 페이지 흐름을 제어합니다.
2. include(<jsp:include page=""/>)
외부 페이지의 내용을 포함하거나 페이지 모듈화.
<%@ include %>와 같습니다.
3. param(<jsp:param />)
현재 페이지에서 다른 페이지에 정보를 전달합니다.
forward와 같이 쓰입니다.
forward, param 사용예시)
paramP.jsp에 id와 name의 속성을 넘겼습니다.
내장 객체인 request로 파라메터를 받아오면 바로 사용을 할 수 있는것을 볼 수 있습니다.
'KoreaIt Academy > JSP' 카테고리의 다른 글
[JSP, JAVASCRIPT,JQuery] AJAX - GET방식과 POST방식 (0) | 2021.09.09 |
---|---|
[JSP] 내장 객체, GET 방식과 POST 방식 (0) | 2021.09.08 |
[JSP] 자바 빈즈(Java Beans) (0) | 2021.09.07 |
[JSP] 서블릿 (Servlet), 서블릿으로 계산기 만들기(두 정수의 사칙연산) (0) | 2021.09.07 |
[JSP] JSP(Java Server Page), WAS(톰켓) (0) | 2021.09.07 |
댓글