액션 태그
📌 액션 태그(Action Tag, = 표준 액션)
: JSP에서 객체 생성과 공유, 페이지 이동과 전달, 태그 파일 작성 등에 필요한 기능을 제공하는 일종의 커스텀 태그.
커스텀 태그 기반이지만 별도의 taglib 지시어 사용 없이 jsp 접두어 사용함.
JSP에서 프로그램적인 요소를 많이 구현하거나 컨트롤러로 활용할 때 유용.
📌 주요 액션 태그
jsp:forward | request와 response 객체를 포함해 다른 페이지로 포워드함. |
jsp:include | 다른 페이지의 실행 결과를 포함시킴. |
jsp:useBean | 자바 빈즈 객체를 생성하거나 불러옴. |
jsp:setProperty | 자바 빈즈 객체의 속성(멤버 변수)에 값을 할당함. |
jsp:getProperty | 자바 빈즈 객체의 속성값을 출력함. |
jsp:param | include, forward 액션 사용 시 파라미터 값을 수정하거나 추가함. |
자바 빈
📌 자바 빈(Java Bean)
: 자바의 재활용 가능한 컴포넌트 모델.
POJO 구조 가짐.
💡 POJO(Plain Old Java Object)
: 특정 기술이나 프레임워크에 종속하지 않고, 기본 생성자와 멤버 변수에 대한 getter, setter 메서드를 제공하고, 직렬화할 수 있는 자바 클래스.
📌 자바 빈(Java Bean) 구조 특징
① 인자가 없는 생성자(기본 생성자)로 구성.
② 파일 혹은 네트워크를 통해 객체를 주고받을 수 있는 직렬화 구조 가능.
③ getter, setter 메서드를 통해 멤버 변수(속성)에 접근.
📌 getter, setter 메서드
: get/set/ + 대문자로 시작되는 변수명.
인자를 받아 현재 멤버 변수에 값을 대입하거나 현재 값을 리턴하는 구조.
useBean 액션
📌 useBean 액션
: JSP에서 자바 빈 객체를 생성하거나 참조하기 위한 액션.
HTML 폼에서 입력한 값을 자바 객체로 연동할 때 주로 사용.
📌 동작 방식
① useBean을 이용해 만든 객체의 범위는 지정한 속성인 scope에 주어진 id의 객체가 있는 지 확인함.
② 객체가 없으면, 새로 객체를 생성하고 해당 scope를 저장함.
📌 기본 구문
① id
: 자바 빈을 특정 scope에 저장하거나 가져올 때 사용하는 이름.
현재 페이지에서는 해당 인스턴스를 참조하기 위한 변수명이 됨.
② scope
: 해당 클래스 타입의 객체를 저장하거나 가지고 오는 범위로 내장 객체의 일부임.
③ class
: 생성하거나 참조하려는 객체의 클래스명.
패키지명까지 명시해야 함.
추상 클래스나 인터페이스는 사용할 수 없음.
④ type
: 특정 타입의 클래스 명시할 때 사용.
추상 클래스나 인터페이스, 일반 클래스가 될 수 있으며, class 속성의 클래스에서 상속 혹은 구현이 이루어져야 함.
⑤ beanName
: type과 beanName 사용해 class 속성 대체 가능.
<jsp:useBean id="instanceName" scope="page | request | session | application"
class="packageName.className" type="packageName.className"
beanName="packageName.className" >
</jsp:useBean>
include, forward 액션
📌 include, forward 액션
: 다른 JSP 파일을 현재 페이지에 포함하거나 전달하는 액션.
<jsp:param> 액션을 통해 파라미터 값을 수정하거나 추가 가능.
📌 include 액션
: include 지시어와 같이, 다른 페이지를 포함함.
단, 처리 과정의 차이가 있음.
include 지시어 | include된 파일 구조를 모두 포함해 하나의 파일로 컴파일한 다음 처리. |
include 액션 | include된 파일을 각각 호출해 처리된 결과만 포함해 보여줌. |
📌 forward 액션
: response.sendRedirect( )와 같이, 클라이언트 요청을 다른 페이지로 전환하는 액션.
단, 내부적으로 차이가 있음.
response.sevdRedirect( ) | - 서버가 클라이언트에게 새로운 페이지로 다시 접속하도록 응답을 보내고, 응답을 받은 클라이언트가 다시 새로운 페이지로 접속하는 방식. - 단순한 페이지 이동이 필요한 경우에 사용. |
forward | - 서버에서 내부적으로 새로운 페이지로 이동하고, 그 페이지의 내용을 클라이언트에게 응답으로 전달. - 최초 request를 유지하거나 request의 setAttribute()로 속성값을 저장한 경우, 이를 유지하기 위해 사용. |
'JSP' 카테고리의 다른 글
[JSP] 커스텀 태그 (0) | 2022.11.18 |
---|---|
[JSP] 실습 : 계산기 구현(액션 버전) (0) | 2022.11.18 |
[JSP] 실습 : 계산기 구현 (0) | 2022.11.16 |
[JSP] 실습 : JSP 기초 예제 (0) | 2022.11.16 |
[JSP] 템플릿 데이터와 스크립트 요소 (0) | 2022.11.16 |
댓글