본문으로 바로가기

JSP 문법

category Java/java 2020. 8. 26. 12:01

HTML 형식의 주석

 : JSP는 HTML과 함께 구성되므로 HTML 형식의 주석 상용 가능

 : 단, JSP 문법이 적용이 사용된 부분에는 사용 불가

<!-- 주석 -->

 

JSP 주석

 : HTML과 JSP 문법 모든 부분에 사용 가능

 : 소스 보기를 하면 보이지 않음. (웹에서 보이지 않고, 원본 코드에서만 보임)

<%-- 주석 --%>

 

page 지시어

현재 JSP 페이지를 컨테이너에서 처리하기 위한 각종 속성 지정

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

 : 주요 속성

 

속성 설명   기본값
language 스크립트 언어를 지정한다 java
import jsp 파일 내에서 사용할 외부 자바 패키지나 클래스 지정  
session 세션 생성 여부 지정 true
Buffer 버퍼 크기 지정 8kb
autoFlush 버퍼 내용 자동 비움 지정 true
isThreadSafe 단일 쓰레드 모델을 사용하여 동시성 제어 여부 지정 true
Info JSP 페이지 설명  
errorPage 에러 발생 시 호출 페이지 지정  
isErrorPage 에러만 처리하는 페이지 지정 false
contentType MIME 형식과 캐릭터셋 설정 text/html; charset=ISO-8859-1

 

Include 지시어

 : 현재 JSP 파일에 다른 JSP나 HTML 문서를 포함시킴

<%@ include file="포함할 파일명" %>

 

taglib 지시어

 : 현재 JSP 페이지에 사용할 커스텀 태그 라이브러리를 지정함

 : 표준화된 커스텀 태그 : JSTL (JSP Standard Tag Library)

 : JSP 페이지 내에서 불필요한 자바 코드를 줄일 수 있음

<%@ taglib uri="/META-INF/mytag. tld" prefix="mytag" %>

 

액션이란?

 : JSP 주요 구성 요소 중 하나로 다음 기능을 지원함

   - JSP 페이지 간 흐름 제어

   - 자바 빈즈 컴포넌트와 상호작용 지원

   - 자바 애플릿지원

 

 : 액션 태그 목록

액션 사용법   기능  
include <jsp:include page="xx.jsp"/> 다른 페이지를 현재 페이지에 포함
forward <jsp:forward page="xx.jsp"/> 현재 페이지의 제어를 다른 페이지로 전달
Beans <jsp:useBean scope="page" id="cls" class="xx.MyBean" /> xx 패치지의 MyBean 클래스를 cls로 page 범위에서 사용할 것을 선언
<jsp:setProperty name="cls" property="xxx" /> useBean으로 선언된 빈즈 클래스의 setXxx() 메서드를 호출
<jsp:getProperty name="cls" property="xxx" /> useBean으로 선언된 빈즈 클래스의 getXxx() 메서드를 호출

 

include 액션

 : include 지시어와 유사하게 다른 페이지를 import 함

 : include 지시어와의 차이점

 : 실행 시점에 해당 파일을 호출하고 결과를 포함시킴

 : 파라미터를 전달할 수 있음

<jsp:include page="포워딩할 파일명"/>

 

forward 액션

 : include 액션과 유사하지만 현재 페이지의 제어권을 완전히 다른 페이지로 전달

 : 브라우저 URL에는 최종 전달된 파일명이 보이는 것이 아니라 최초 호출한 파일명이 보임 (다형성)

<jsp:forward page="포워딩할 파일명"/>

 

Bean 액션

 : 빈즈 컴포넌트와의 상호작용 지원

<jsp:useBean id="변수명" class="패키지를 포함한 클래스명" />
<jsp:setProperty name="변수명( ↑ id)" property="매칭될 속성값" />
<jsp:getProperty name="변수명" property="매칭될 속성값" />
bean 액션 속성 설명  
useBean id 빈즈 클래스의 인스턴스명으로 사용할 변수
class 빈즈 클래스의 클래스명으로 패키지 경로를 포함
setProperty name 빈즈 클래스의 인스턴스 명으로 id 값에 설정했던 변수명
property 속성값으로 빈즈클래스의 setXxx( Xxx는 속성 이름 ) 메서드와 매칭될 속성값. "*"를 지정하면 모든 setXxx에 자동으로 매칭
getProperty name 빈즈 클래스의 인스턴스 명으로 id 값에 설정했던 변수명
property 속성값으로 빈즈클래스의 getXxx(Xxx는 속성이름)메서드와 매칭될 속성값

Expression : <%! %>

 : JSP 파일에서 메서드나 멤버 변수를 쓸 때 사용

 : JSP 내에 프로그램 코드를 많이 두는 것은 바람직하지 않음

<%! 
	// 멤버 변수 선언이나 메서드 선언이 올 수 있다.
	String str = "test";
    public boolean check(){
    	return false;
    }
%>

 

Expression : <%= %>

 : JSP 파일에서 간단한 출력을 위해 사용함

 : out.println() 의 인자로 적합한 형태여야 함.

<%= 메서드 호출 및 변수 %>

Expression : <% %>

 : JSP 파일 중간에 자바 코드를 기술함

 : 태그 라이브러리 등을 권장하며 스크립트 남용 (페이지 가독성을 떨어뜨리고 유지보수를 어렵게 함)

 : 스크립트릿에서 화면 출력을 위해서 out.println()을 사용

 : 스크립트릿을 닫고 HTML 출력 후 다시 스크립트릿 작성도 가능

<% 자바코드 %>

 

JSP 내장 객체란?

 : JSP에서 선언하지 않고 사용할 수 있는 객체

 : 컨테이너에 의해 미리 선언된 자바 클래스의 참조 변수

 : 스크립트릿이나 표현식에서 사용할 수 있음

 : 주요 활동 

   - HTML 폼에서 입력한 값을 가지고 올 때

   - 세션 관련 작업을 처리할 때

   - 스크립트릿에서 브라우저 출력이 필요할 때

   - 사용자 요청을 다른 페이지로 전달할 때

   - 현재 JSP에 대한 각종 정보를 알고자 할 때

 

반응형

'Java > java' 카테고리의 다른 글

Database  (0) 2020.09.21
빈즈 (Beans)  (0) 2020.08.28
서블릿 (Servlet)  (0) 2020.08.25
JavaScript - 회원가입폼  (0) 2020.08.24
자바스크립트 (JavaScript)  (0) 2020.08.20