액션태그

액션태그는 서버나 클라이언트에게 어떤 행동을 하도록 명령하는 태그이다.
또한, 액션 태그는 JSP 페이지에서 페이지와 페이지 사이를 제어하거나, 다른 페이지의 실행 결과 내용을 현제 페이지에 포함하거나, 자바빈즈(JavaBeans) 등의 다양한 기능을 제공한다.
액션 태그에는 다양한 종류가 있으며, XML 형식 <jsp: ··· />를 사용한다.
액션태그는 반드시 끝나는 태그 />로 마무리해야한다.
액션태그는 스크립트 태그와 마찬가지로 JSP 페이지에서 자바코드를 삽입할 수 있는 태그이다.
그렇기에, JSP 페이지를 작성할 때, 자바 코드의 삽입을 되로록 최소화하여 유지 보수를 효율적으로 하는 것이 목적이다.

액션태그의 종류

액션 태그 형식 설명
forward <jsp:forward ···/> 다른 페이지로의 이동과 같은 페이지 흐름을 제어한다.
include <jsp:include ···/> 외부 페이지의 내용을 포함하거나 페이지를 모듈화한다.
useBean <jsp:useBean ···/> JSP 페이지에 자바빈즈를 설정한다.
setProperty <jsp:setProperty ···/> 자바빈즈의 프로퍼티 값을 설정한다.
getProperty <jsp:getProperty ···/> 자바빈즈의 프로퍼티 값을 얻어온다.
param <jsp:param ···/> <jsp: forward>, <jsp: include>, <jsp: plugin> 태그에 인자를 추가한다.
plugin <jsp:plugin ···/> 웹 브라우저에 자바 애플릿을 실행한다.
자바 플러그인에 대한 OBJECT 또는 EMBED 태그를 만드는 브라우저별 코드를 생성한다.
element <jsp:element ···/> 동적 XML 요소를 설정한다.
attribute <jsp:attribute ···/> 동적으로 정의된 XML 요소의 속성을 설정한다.
body <jsp:body ···/> 동적으로 정의된 XML 요소의 몸체를 설정한다.
text <jsp:text ···/> JSP 페이지 및 문서에서 템플릿 텍스트를 작성한다.

foward 액션 태그의 형태

<jsp:forward page="파일명" />
or
<jsp:forward page="파일명">    </jsp:forward>

forward 액션 태그의 기능

forward 액션 태그는 현재 JSP 페이지에서 다른 JSP 페이지로 이동하는 태그이다.
JSP 컨테이너는 현재 JSP 페이지에서 forward 액션 태그를 만나면 그 전까지 출력 버퍼에 저장되어 있던 내용을 모두 삭제한다.
forward 액션 태그에 설정된 페이지로 프로그램의 제어가 이동한다.

forward 액션 태그의 특징

forward 액션태그가 선언된 지점 이전까지 생성된 HTML 코드가 손실된다.
그러나 이미 전달 버퍼로 채워진 경우에는 전달이 중단될 때까지 해당 내용을 웹 서버에 응답으로 보낸다.
이런 경우에는 잘못된 페이지가 클라이언트로 전송될 수 있다.

include 액션 태그의 형태

<jsp:include Page="파일명" flush="false"/>

include 액션 태그의 기능

include 디렉티브 태그처럼 현재 JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 태그이다.
포함할 수 있는 외부파일은 HTML, JSP, 서블릿 페이지 등이다.

include 액션 태그의 특징

flush 속성 값은 설정한 외부 파일로 제어가 이동할 때, 현재 JSP 페이지가 지금까지 출력 버퍼에 저장한 결과를 처리한다.
기본 값은 false이고, true로 설정하면 외부 파일로 제어가 이동할 때 현재 JSP 페이지가 직므까지 출력 버퍼에 저장된 내용을 웹 브라우저에 출력하고 출력 버퍼를 비운다.
include 액션 태그는 forward태그와 다르게, 외부 파일이 실행된 후 현재 JSP 페이지로 제어를 반환한다.
또한, JSP 컨테이너는 현재 JSP 페이지에서 include 액션 태그를 만나면 include 액션 태그에 설정된 외부 파일의 실행 내용이 현재 JSP 페이지의 출력 버퍼에 추가 저장되어 출력되어진다.

include 액션 태그와 include 디렉티브 태그의 차이

구분 include 액션 태그 include 디렉티브 태그
처리 시간 요청 시 자원을 포함 번역 시 자원을 포함
기능 별도의 파일로 요청 처리 흐름을 이동 현재 페이지에 삽입
데이터
전달방법
request 기본 내장 객체나
param 액션 태그를 이용하여 파라미터를 전달
페이지 내의 변수를 선언한 후 변수에 값을 저장
용도 화면 레이아웃의 일부분을 모듈화할 때 주로 사용 다수의 JSP 웹 페이지에서 공통으로 사용되는 코드나
저작권과 같은 문장을 포함하는 경우에 사용
기타 동적 페이지에 사용 정적 페이지에 사용

param 액션 태그의 형태

<jsp:forward page="파일명">
    <jsp:param name="매개변수명1" value"매개변수값1"  />
    [    <jsp:param name="매개변수명2" value"매개변수값2" ··· />]
</jsp:forward>

param 액션 태그의 기능

param 액션 태그는 현재 JSP 페이지에서 다른 페이지에 정보를 전달하는 태그이다.

param 액션 태그의 특징

단독으로 사용하지 못하며, <jsp:forward>나 <jsp:include> 태그의 내부에 사용된다.
또한, 다른 페이지에 여러 개의 정보를 전송해야할 때는 다중의 param 액션 태그도 사용가능하다.

useBean 액션 태그의 형태

<jsp:useBean id="자바빈즈 식별이름" class="자바빈즈 이름" scope="범위" />

useBean 액션 태그의 기능

useBean 액션 태그는 JSP 페이지에서 자바빈즈를 사용하기 위해 실제 자바 클래스를 선언하고 초기화하는 태그이다.

useBean 액션 태그의 속성

속성 설명
id 자바빈즈를 식별하기 위한 이름
class 패키지 이름을 포함한 자바빈즈 이름이다.
자바빈즈는 인수가 없는 기존 생성자가 있어야 하며, 추상클래스를 사용할 수 없다.
scope 자바빈즈가 저장되는 영역을 설정한다.
page( 기본 값), request, session, application 중 하나의 값을 사용한다.

setProperty 액션 태그의 형태

<jsp:setProperty name="자바빈즈 식별이름" property="프로퍼티 이름" value="값" />

setProperty 액션 태그의 기능

setProperty 액션 태그는 useBean 액션 태그와 함께 자바빈즈의 Setter() 메소드에 접근하여 자바빈즈의 멤버 변수인 프로피티의 값을 저장하는 태그이다.
setProperty 액션 태그는 폼 페이지로부터 전달되는 요청 파라미터의 값을 직접 저장하거나 자바빈즈의 프로퍼티로 변경하여 값을 저장할 수 있다.
또는 모든 자바빈즈 프로퍼티 이름과 동일하게 요청 파리미터를 설정할 수 있다.

setProperty 액션 태그의 속성

속성 설명
name useBean 태그에 id 속성 값으로 설정된 자바빈즈를 식별하기 위한 이름이다.
property 자바빈즈의 프로퍼티 이름이다.
만약 프로퍼티 이름에 '*'를 사용하면 모든 요청 파라미터가 자바빈즈 프로퍼티의 Setter() 메소드에 전달됨을 의미한다.
value 변경할 자바빈즈의 프로퍼티 값이다.
만약 프로퍼티 값이 null이거나 존재하지 않는 요청 파라미터인 경우에는 SetProperty 액션태그가 무시된다.
param 자바빈즈의 프로퍼티 값을 전달하는 요청 파라미터의 이름이다.
param과 value를 모두 사용할 수 없으며, 하나를 선택하여 사용하는 것은 가능하다.
  • 요청 파라미터 이름과 자바빈즈의 프로퍼티 이름이 일치하는 경우

    // 폼 페이지
    <form action="memberProcess.jsp" method="post">
        <input name="id" value="admin" />
    </form>
    // JSP 페이지
    <jsp:setProperty name="member" property="id" />
  • 요청 파라미터 이름과 자바빈즈의 프로퍼티 이름이 일치하지 않는 경우 (모든 요청 파라미터 이름 = 모든 프로퍼티 이름)

    // 폼페이지
    <form action="memberProcess.jsp" method="post">
        <input name="id" value="admin" />
    </form>
    // JSP 페이지
    <jsp:setProperty name="member" property="*" />

getProperty 액션 태그의 형태

<jsp:getProperty name="자바빈즈 식별이름" property="프로퍼티 이름" />

getProperty 액션 태그의 기능

getProperty 액션 태그는 useBean 액션 태그와 함께 자바빈즈의 Getter() 메소드에 접근하여 자바빈즈의 멤버 변수인 프로피티의 값을 가져오는 태그이다.

getProperty 액션 태그의 속성

속성 설명
name useBean 태그에 id 속성 값으로 설정된 자바빈즈를 식별하기 위한 이름이다.
property 자바빈즈의 프로퍼티 이름이다.
만약 프로퍼티 이름에 '*'를 사용하면, 모든 요청 파라미터가 자바빈즈 프로퍼티의 Getter() 메소드에 전달됨을 의미한다.

'Java, Spring > 개념정리' 카테고리의 다른 글

DI, IoC, Container  (0) 2023.01.10
관심사의 분리, MVC 패턴  (0) 2022.08.21
디렉티브 태그  (0) 2022.08.15
스크립트태그  (0) 2022.08.15
웹 프로그래밍과 JSP  (0) 2022.08.13

디렉티브 태그

JSP 페이지를 어떻게 처리할 것인지 설정하는 태그이다.
page, include, taglib 총 세 종류이며, 모두 <%@ ··· %>를 사용한다.

디렉티브 태그 형식 설명
page <%@ page ··· %> JSP 페이지에 대한 정보를 설정한다.
include <%@ include ··· %> JSP 페이지의 특정 영역에 다른 문서를 포함한다.
taglib <%@ taglib ··· %> JSP 페이지에서 사용할 태그 라이브러리를 설정한다.

page 디렉티브 태그의 형식

<%@ page 속성1 = "값1" [속성2 = "값2"  ··· ] %>

page 디렉티브 태그의 특징

하나의 page 디렉티브 태그에 하나 또는 여러 개의 속성을 설정할 수 있다.
또는 여러개의 속성마다 개별적으로 page 디렉티브 태그를 선언할 수 있다.
import 속성을 제외한 속성은 JSP페이지에 한 번씩만 설정할 수 있다.

page 디렉티브 태그의 속성

속성 설명 기본 값
language 현재 JSP 페이지가 사용할 프로그래밍 언어를 설정한다. java
contentType 현재 JSP 페이지가 생성할 문서의 콘텐츠 유형을 설정한다. text/html
pageEncoding 현재 JSP 페이지의 문자 인코딩을 설정한다. ISO-8859-1
import 현재 JSP 페이지가 사용할 자바 클래스를 설정한다.
session 현재 JSP 페이지의 세션 사용 여부를 설정한다. true
buffer 현재 JSP 페이지의 출력 버퍼 크기를 설정한다. 8KB
autoFlush 출력 버퍼의 동작 제어를 설정한다. true
isThreadSafe 현재 JSP 페이지의 멀티스레드 허용 여부를 설정한다. true
info 현재 JSP 페이지에 대한 설명을 설정한다.
errorPage 현재 JSP 페이지에 오류가 발생했을 때 보여줄 오류 페이지를 설정한다.
isErrorPage 현재 JSP 페이지가 오류 페이지인지 여부를 설정한다. false
isElIgnored 현재 JSP 페이지의 표현언어(EL) 지원 여부를 설정한다. false
isCriptingEnabled 현재 JSP 페이지의 스크립트 태그 사용 여부를 설정한다.

language 속성

기본 값은 java이지만 향후 JSP 컨테이너가 자바 이외의 언어를 지원할 수 있도록 하기 위한 속성이다.
JSP 페이지는 자체적으로 자바 언어를 지원하므로, 이를 생략 가능하다.

[language 속성 사용 예]
<%@ page language = "java" %>
contentType 속성

현재 JSP 페이지의 콘텐츠 유형을 설정하는데 사용한다.
콘텐츠 유형은 주로 text/html, text/xml, text/plain 등이며, 기본 값은 text/html이기에 JSP는 contentType을 사용할 필요가 없다.
하지만, 문자열 세트(charset)를 설정하여 JSP 페이지의 전체 문자열을 변경가능하기에, UTF-8등의 인코딩에 유용하다.

[contentType 속성 사용 예]
<%@ page contentType="text/html" %>

<%@ page contentType="text/html:charset=UTF-8" %>

pageEncoding 속성

pageEncoding 속성은 현재 JSP 페이지의 문자 인코딩 유형을 설정하는데 사용된다.
기본값은 ISO-8859-1이다.
contentType 속성에서 문자열 세트(charset)를 설정한 것과 같은 기능을 한다.

[pageEncoding 속성 사용 예]
<%@ page pageEncoding="UTF-8" %>

import 속성

import 속성은 현재 JSP 페이지에서 사용할 자바 클래스를 설정하는데 쓰인다.
둘 이상의 자바 클래스를 퐇마하는 경우에는 쉼표(,)로 구분하여 연속해서 여러 개의 자바 클래스를 설정할 수 있다.
또는 여러개의 자바 클래스를 각각 별도로 설정할 수도 있다.

[import 속성 사용 예]
<% page import="java.io.*" %>
[import 속성의 다중 자바 클래스 참조 사용 예]
<% page import="java.io.*, java.lang.*" %>
[import 속성 개별적으로 사용 예]
<% page import="java.io.*" %>
<% page import="java.lang.*" %>

session 속성

현재 JSP 페이지의 HTTP 세션 사용 여부를 설정하는 사용한다.
기본 값은 세션을 자동으로 사용하는 true이며, 세션을 사용하지 않으려면 false로 설정한다.
session 속성값이 true면, 현재 JSP 페이지에서 JSP 내장 객체인 session 변수를 사용할 수 있다.

[session 속성 사용 예 : session 내장 객체 사용을 위한 true 설정]
<% page session="true" %>

buffer 속성

현재 JSP 페이지의 출력 버퍼 크기를 설정하는 데 사용한다.
이 속성 값은 none과 '버퍼 크기'로 설정할 수 있다.
none으로 설정할 경우, 출력 버퍼를 채우지 않고 웹 브라우저로 직접 보내게 된다.
기본 값은 8KB이다.
아래와 같이 32KB로 버퍼크기를 설정한 경우에는, 출력 내용이 최소한 32KB 누적될 때 까지 웹 브라우저에 전송되지 않는다.

[buffer 속성 사용 예 : none과 32KB]
<%@ page buffer="none" %>

<%@ page buffer="32KB" %>

autoFlush 속성

autoFlush 속성은 자동으로 출력 버퍼를 비우는 것을 제어하는 데 사용한다.
즉, 출력 버퍼가 채워진 경우 자동으로 버퍼에 있는 데이터를 웹 브라우저로 보내고 버퍼를 비울지 또는 버퍼 오버플로의 예외를 나타낼지 등의 처리를 설정하는 것이다.
기본값은 true이며, 속성 값을 true로 설정하면 출력 버퍼가 채워질 때마다 자동으로 웹 브라우저에 보내고 버퍼를 비운다.
반면에 false로 설정하면, 출력 버퍼가 가득 채워질 때 버퍼 오버플로의 예외를 발생시킨다.

[autoFlush 속성 사용 예]
<%@ page autoFlush="true" %>

isThreadSafe 속성

isThreadSafe 속성은 멀티스레드의 동작을 제어하는 데 사용한다.
여러 요청이 동시에 수신되는 경우 어떻게 동작해야 하는지 JSP 컨테이너에 지시하여 응답할 수 있게한다.
기본값은 true이며, true일 경우에는 JSP 페이지에 대해 수신된 여러 요청이 동시에 처리된다.
반면에 falsue로 설정하면, JSP 페이지에 대한 요청이 순차적으로 처리된다.

[isThreadSafe 속성 사용 예]
<%@ page isThreadSafe="true" %>

info속성

info 속성은 JSP 페이지에 대한 설명을 설정하는 데 사용한다.
JSP개발자에게 도움을 주는 속성이다.
JSP페이지의 설명 부분으로 주석문의 기능과 같기에 JSP 컨테이너는 info 속성을 무시한다.

[info속성 사용 예]
<%@ page info="Home Page JSP" %>

errorPage 속성

errorPage 속성은 현재 JSP 페이지가 실행되는 동안 오류가 발생하면 특정 오류 페이지로 이동하는데 사용한다.
웹 서버가 제공하는 기본 오류 페이지를 사용하지 않고, 이동할 오류페이지의 URL을 설정한다.

[errorPage 속성 사용 예 : 이동할 오류 페이지 = MyErrorPage.jsp로 설정]
<%@ page errorPage="MyErrorPage.jsp" %>

isErrorPage 속성

isErrorPage 속성은 오류 페이지 여부를 설정하는 데 사용한다.
기본값은 false이며, 예외 처리를 위한 내장 객체인 exception 변수를 사용할 수 없다.
속성 값을 true로 설정하면, JSP 페이지는 오류 페이지가 된다.
만약 다른 페이지에서 오류가 발생하면, 호출되는 오류페이지는 true가 설정된 JSP 페이지가 된다.

[isErrorPage 속성 사용 예]
<%@ pageisErrorPage="true" %>

isELIgnored 속성

isELIgnored 속성은 현재 JSP 페이지의 표현 언어(expression language) 사용 여부를 설정하는데 사용한다.
기본 값은 false이며 JSP 페이지에 표현 언어의 표현식 '${}'를 사용할 수 있다.
속성 값을 true로 설정하면 JSP 페이지에 사용된 표현 언어의 표현식을 처리할 수 없기 때문에 정적 텍스트로 처리된다.

[isELIgnored 속성 사용 예 : 표현 언어를 처리하지 않기 위한 true 설정]
<%@ page isELIgnored="true" %>

isScriptingEnabled 속성

isScriptingEnabled 속성은 스크립트 태그(선언문, 스크립틀릿, 표현문) 사용 여부를 설정하는 데 사용한다.
속성 값은 true나 false이며 true로 설정하면 기본 스크립트 태그를 사용할 수 있고, false면 제한한다.

[isScriptingEnabled 속성 사용 예]
<%@ page isScriptingEnabled="false" %>

include 디렉티브 태그의 형식

<%@ include file="파일명" %>

include 디렉티브 태그의 속성

file의 속성 값은 현재 JSP 페이지에 포함할 내용을 가진 외부 파일명이다.
외부파일이 현재 JSP 페이지와 같은 디렉터리에 있으면 파일명만 설정하고, 그렇지 않으면 전체 URL(또는 상대 경로)을 설정해야 한다.
include 디렉티브 태그는 서블릿 프로그램으로 번역될 때 현재 JSP 페이지와 설정된 다른 외부 파일의 내용이 병합되어 번역된다.
현재 JSP 페이지에서 include 디렉티브 태그가 사용된 위치에 설정된 파일의 원본 내용을 '있는 그대로' 붙여넣은 다음 전체 페이지를 자바 코드(서블릿)으로 변환한다.

inclue 디렉티브 태그를 사용하는 이유?

inclue 디렉티브 태그를 사용하게 되면 코드 재사용의 가능성을 향상할 수 있다.
웹 애플리케이션의 모든 JSP 페이지에 공통된 특정 코드나 데이터를 하나의 별도 외부 파일로 만들면 이 외부 파일을 모든 JSP 페이지에 포함할 수 있기 때문이다.

include 디렉티브 태그의 특징

include 디렉티브 태그는 현재 JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 태그이다.
현재 JSP 페이지에 포함할 수 있는 외부 파일은 HTML, JSP, 텍스트 파일 등이다.
inclu;de 디렉티브 태그는 JSP 페이지 어디서든 선언할 수 있다.
include 디렉티브 태그는 머리글과 바닥글 같은 공통된 부분을 별도의 JSP 파일로 만들어 웹 페이지를 모듈화할 수 있다.
그렇기에 코드를 재사용하고 중복된 코드를 줄임으로 유지 보수 측면에서 매우 유용하다.


taglib 디렉티브 태그의 형식

<%@ taglib uri="경로" prefix="태그 식별자" %>

uri 속성은 사용자가 정의한 태그의 설정 정보를 가진 경로 주소이고, prefix 속성은 uri에 설정한 사용자가 정의한 태그를 식별하기 위한 고유 이름이다.
해당 JSP 페이지 내에서 uri 속성 값을 그대로 사용하면 복잡하므로 prefix 속성 값이 대신 식별할 수 있게 해주는 것이다.
taglib 디렉티브 태그가 서블릿 프로그램으로 번역될 때 uri 속성값은 JSP 컨테이너에 사용자가 정의한 태그 라이브러리의 위치를 알려준다.
prefix 속성 값은 사용자가 정의한 태그 라이브러리의 접두어 태그가 무엇인지 JSP 컨테이너에게 알려주는 역할을 한다.

[taglib 디렉티브 태그 사용 예]
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>JSTL</title>    
</head>
<body>
    <c:out value="JSTL Core 태그 라이브러리"/>    
</body>
</html>

'Java, Spring > 개념정리' 카테고리의 다른 글

DI, IoC, Container  (0) 2023.01.10
관심사의 분리, MVC 패턴  (0) 2022.08.21
액션태그  (0) 2022.08.16
스크립트태그  (0) 2022.08.15
웹 프로그래밍과 JSP  (0) 2022.08.13

스크립트태그(script tag)

HTML 코드에 자바 코드를 넣어 프로그램이 수행하는 기능을 구현할 수 있다. 선언문, 스크립틀릿, 표현문 3가지의 종류가 있으며, 모두 <% ··· %>를 사용한다.

스크립트 태그의 종류

스크립트 태그 형식 설명
선언문(declaration) <%! ··· %> 자바 변수나 메소드를 정의하는데 사용한다.
스크립틀릿(scriptlet) <% ··· %> 자바 로직 코드를 작성하는 데 사용한다.
표현문(expression) <%= ··· %> 변수, 계산식, 메소드 호출 결과를 문자열 형태로 출력하는 데 사용한다.

주의점으로는, 표현문 태그의 경우에는 서블릿 프로그램에서 out.print() 메소드의 매개변수가 되기 때문에 세미콜론(;)을 사용해서는 안된다.

선언문 태그의 형식

<%! 자바코드; %>

선언문 태그의 기능과 사용법

선언문(declaration) 태그는 변수나 메소드 등을 선언하는 태그이다.
_jspService()메소드 외부에 배치되므로 JSP 페이지 임의의 위치에서 선언할 수 있다.
선언문 태그로 선언된 변수는 서블릿 프로그램으로 번역될 때 클래스 수준의 멤버 변수가 되므로 전역변수로 사용된다.
그렇기 때문에, 스크립틀릿 태그보다 나중에 선언해도 스클립틀릿 태그에서 사용할 수 있다.

스크립틀릿 태그의 형식

<% 자바코드; %>

스크립틀릿 태그의 기능과 사용법

스크립틀릿(scriptlet) 태그는 자바 코드로 이루어진 로직 부분을 표현한다.
또한, out 객체를 사용하지 않고도 HTML 응답을 만들어낼 수 있다.
스크립틀릿 태그는 가장 일반적으로 사용되며 변수 또는 메소드 선언, 유효식 등 다수를 포함할 수 있다.
모든 텍스트, HTML 태그 또는 JSP 요소는 스크립틀릿 태그 외부에 있어야한다.

선언문 태그와 스크립틀릿 태그의 비교
선언문 태그 스크립틀릿 태그
변수뿐만 아니라 메소드를 선언할 수 있다. 메소드 없이 변수만을 선언할 수 있다.
_jspService() 메소드 외부에 배치된다. _jspService() 메소드 내부에 배치된다.

표현문 태그의 형식

<%= 자바코드 %>

표현문 태그의 기능과 사용법

표현문(expression) 태그는 웹 브라우저에 출력할 부분을 표현한다.
표현문 태그를 이용하여 선언문 태그 또는 스크립틀릿 태그에서 선언된 변수나 메소드의 반환값을 외부로 출력할 수 있다.
표현문 태그는 스크립틀릿 태그에서 사용할 수 없으므로, out.print()메소드를 사용해야한다.
표현문 태그에는 숫자, 문자, 불린 등의 기본 데이터 타입과 자바 객체 타입 사용이 가능하다.
그리고 표현문 태그에 작성된 모든 자바 코드의 값은 문자열로 변환되어 웹 브라우저에 출력된다.
기본 데이터 타입은 toString()을 통해서 출력되고, 자바 객체 타입은 java.lang.Object 클래스의 toString() 메소드를 사용하거나, 자체에서 선언한 toString()을 사용하여 출력된다.

JSP 주석태그

JSP에서 주석처리는 다음과 같이 처리한다.

<%--- JSP 주석처리내용 ---%>

'Java, Spring > 개념정리' 카테고리의 다른 글

DI, IoC, Container  (0) 2023.01.10
관심사의 분리, MVC 패턴  (0) 2022.08.21
액션태그  (0) 2022.08.16
디렉티브 태그  (0) 2022.08.15
웹 프로그래밍과 JSP  (0) 2022.08.13

JSP의 특징

  • JSP는 서블릿 기술의 확장이다.
  • JSP는 유지 관리가 용이하다.
  • 빠른 개발이 가능하다
  • 코드 길이를 줄일 수 있다.

JSP 페이지의 처리과정

JSP 페이지는 하나의 서블릿 프로그램으로 변환되어 실행된다.
jsp페이지가 서블릿 프로그램인 *.java로 번역되어서 실행되며, 이 서블릿 프로그램이 서블릿 클래스인 *.class를 생성하게 된다.
모든 걸 생성하는 역할은 JSP 컨테이너가 담당한다.
JSP 컨테이너는 웹 서버와 분리하여 설치할 수도 있고, 웹서버에 포함할 수도 있는데, 톰캣은 JSP 컨테이너가 포함되어 있다.

JSP 생명 주기

JSP 페이지를 컴파일한 *.class에는 jspInit(), _jspService(), jspDestory() 메소드가 존재하며, JSP 생성부터 파괴까지의 과정에서 각자의 역할을 수행한다.

  • jspInit() 은 초기화를 수행하는 메소드이다.
  • _jspService()는 요청 및 응답 객체를 전달하는 메소드이며, 오버라이딩 할 수 없다.
  • jspDestory() 은 JSP 컨테이너가 해당 서블릿 인스턴스를 제거할 때 사용하는 메소드이다.

'Java, Spring > 개념정리' 카테고리의 다른 글

DI, IoC, Container  (0) 2023.01.10
관심사의 분리, MVC 패턴  (0) 2022.08.21
액션태그  (0) 2022.08.16
디렉티브 태그  (0) 2022.08.15
스크립트태그  (0) 2022.08.15

+ Recent posts