[JSP]액션 태그

2023. 9. 17. 19:05· 공부/JSP
목차
  1. 액션 태그의 개요
  2. 액션 태그
  3. 액션 태그의 종류
  4. forward 액션 태그의 기능과 사용법
  5. forward 액션 태그
  6. forware 액션 태그의 페이지 흐름 처리 과정
  7. include 액션 태그의 기능과 사용법
  8. include 액션 태그
  9. include 액션 태그의 처리 과정
  10. param 액션 태그의 기능과 사용법
  11. param 액션 태그
  12. 자바빈즈 액션 태그의 기능과 사용법
  13. 자바빈즈
  14. useBean 액션 태그

 

액션 태그의 개요

액션 태그

  • 서버나 클라이언트에게 어떤 행동을 하도록 명령하는 태그
  • JSP 페이지에서 페이지와 페이지 사이 제어
  • 다른 페이지의 실행 결과 내용을 현재 페이지에 포함
  • 자바 빈즈(JavaBeans) 등 동적 페이지 관리 기능 제공
  • XML 형식의 태그로, 기술한 동작 기능을 수행하는 방식
  • <jsp: …. /> 형식으로 사용

액션 태그의 종류

Untitled.png

forward 액션 태그의 기능과 사용법

forward 액션 태그

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

<jsp:forward page=”파일명” />

or

<jsp:forward page=”파일명> </jsp:forward> ← 닫히는 태그

  • 다른 jsp 파일로 전환 시 param 태그를 이용해 값을 전달 가능
  • 웹 브라우저의 주소창에는 최초 요청한 페이지만 표시됨
    • 처리 페이지 정보를 숨기거나 특정 기능 수행 후 다른 페이지로 이동해야 하는 경우 유용
    • 보안성 향상에 유용
    • 예를 들어 first.jsp에서 forward 태그로 second.jsp 로 이동하게 되어도 주소창에는 여전히 first.jsp 임

forware 액션 태그의 페이지 흐름 처리 과정

  1. HTTP 요청
  2. first.jsp 코드가 실행되고 forward 태그를 만나 second.jsp로 넘어간다
  3. second.jsp 코드가 실행된다
  4. HTTP 응답

2번에서 first.jsp 코드가 실행되어 지금까지 저장된 출력 버퍼의 내용이 forward 액션 태그를 만나면 출력 버퍼(내용값)을 삭제하고 프로그램의 제어가 second.jsp로 이동하게 됨

(forwarding)

  • forward 액션 태그가 선언된 지점 이전까지의 생성된 html 코드가 손실된다.
  • 단, 현재 페이지가 이미 전달 버퍼로 채워진 경우에는 전달이 중단될 때 까지 해당 내용을 응답으로 보낸다. 잘못된 페이지가 전송될 수 있으니 큰 출력 생성하는 페이지에서는 사용을 주의 해야한다.

include 액션 태그의 기능과 사용법

include 액션 태그

<jsp:include page=”파일명” flush=”false” />

  • page 속성 값
    • 현재 JSP 페이지 내에 포함할 내용을 가진 외부 파일명
    • 외부 파일은 현재 JSP 페이지와 같은 디렉터리에 있으면 파일명만 설정하고, 그렇지 않으면 전체 URL을 설정 해야한다.
  • flush 속성 값
    • 기본 값은 false
    • true로 설정하면 외부 파일로 제어가 이동할 때 현재 JSP 페이지가 지금까지 출력 버퍼에 저장된 내용을 웹 브라우저에 출력하고 출력 버퍼를 비운다.
    • false로 지정하는 것이 좋음
  • forward 액션태그와 차이점
  1. 외부 파일 실행 후 제어를 반환한다.
  2. 외부 파일 실행 내용이 현재 jsp 페이지 출력 버퍼에 추가 저장되어 출력된다.
  • forward는 제어가 완전 넘어가 버리는데 include는 해당 파일을 실행하고 결과값을 가지고 제어권도 다시 돌아온다

include 액션 태그의 처리 과정

  1. HTTP 요청
  2. first.jsp 코드 실행 , first.jsp 출력 내용을 출력 버퍼에 저장
  3. first.jsp 코드 실행 중 include 코드를 만나면 second.jsp로 제어권이 넘어감
  4. second.jsp 코드 실행하고 second.jsp 출력 내용을 출력 버퍼에 저장
  5. 결과값을 가지고 first.jsp로 제어권이 넘어감
  6. 나머지 first.jsp 코드 실행
  7. HTTP 응답

페이지의 손실이 없다

호출한 외부 파일 변경되어도 현 jsp 문서가 다시 컴파일 되지 않아도된다.

Untitled.png

태그 정리

  • 스크립트 태그 <% %>
  • 표현 <%=
  • 선언문 <%!
  • 스크립트릿 <%
  • 주석문 <%—
  • 지시문 <%@ page

액션 태그

  • <jsp:

param 액션 태그의 기능과 사용법

param 액션 태그

param = 매개 변수

  • 현재 JSP 페이지에서 다른 페이지에 정보를 전달하는 태그
  • 이 태그는 단독으로 사용되지 못한다 jsp:forward , jsp:include 태그의 내부에서 사용됨
  • 다른 페이지에 여러 개의 정보를 전송해야 할 때는 다중의 param 액션 태그 사용
  • 매개변수를 전달하는 역할
  • forward 액션 태그와 include 액션 태그와 함께 사용
  • forwarding 될 페이지한테 갈 때 값을 들고 간다
<jsp:forward page="파일명">
	<jsp:param name="매개변수명1" value="매개변수값1 "/>
    [<jsp:param name="매개변수명2" value="매개변수값2 "/> ... ] 
</jsp:forward>

예 :

first.jsp

<jsp:include page="second.jsp">
	<jsp:param name="date" value="<%=new java.util.Date()%>" />
</jsp:include>

second.jsp

Today is : <%=request.getParameter("date")%> 

Untitled.png

  • request.getParameter 는 JSP 내장 함수이다.
  • getParameter안에 쌍 따옴표 안에 파라미터 이름을 적어주어야 함

다중 param

<jsp:forward page="param02_second.jsp">
	<jsp:param name="id" value="admin" /> 
    <jsp:param name="name" value="관리자" />
</jsp:forward>
<p> 아이디 : <%=request.getParameter("id")%></p>
<p> 이름 : <%=request.getParameter("name") %></p>

Untitled.png

  • param으로 값을 넘겨주면 값이 문자열로 전달되기때문에 (정수,실수) 등 형변환을 해줘야한다.

자바빈즈 액션 태그의 기능과 사용법

자바빈즈

  • JSP 웹 페이즈는 HTML코드와 JavaScript 태그 등을 기술하여 자칫 복잡하게 작성되어 유지/보수가 어려운 상황이 초래된다.
  • JSP 페이지에서 Java 소스 코드만 따로 분리하여 작성하여 JSP 웹 페이지가 복잡해지는 것을 방지할 수 있다.
  • JSP 페이지가 HTML과 같이 쉽고 간단한 코드만으로 구성

Untitled.png

<jsp:useBean id=”변수” class=”클래스이름” />

예 : java.util.Date를 nowTime의 참조변수에 대입하고 싶으면

→ <jsp:useBean id=”nowTime” class=”java.util.Date”/>

<%= nowTime.toLocaleString() %> 

useBean 액션 태그

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

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

  • class 속성에 지정한 빈즈 클래스를 id 속성에 지정한 이름으로 사용할 수 있도록 해준다.

Untitled.png

  1. 액션 태그의 개요
  2. 액션 태그
  3. 액션 태그의 종류
  4. forward 액션 태그의 기능과 사용법
  5. forward 액션 태그
  6. forware 액션 태그의 페이지 흐름 처리 과정
  7. include 액션 태그의 기능과 사용법
  8. include 액션 태그
  9. include 액션 태그의 처리 과정
  10. param 액션 태그의 기능과 사용법
  11. param 액션 태그
  12. 자바빈즈 액션 태그의 기능과 사용법
  13. 자바빈즈
  14. useBean 액션 태그
'공부/JSP' 카테고리의 다른 글
  • [JSP]내장 객체
  • [JSP]디렉티브 태그
  • [JSP]스크립트 태그
  • [JSP]JSP 개요
Future0_
Future0_
rm -rf /
Future0_
Luna Developer Blog
Future0_
전체
오늘
어제
  • 분류 전체보기 (111)
    • 프로그래밍 (4)
      • 알고리즘 (4)
    • 보안 (14)
      • Dreamhack (4)
      • Hackthebox (1)
      • Webhacking (9)
    • 프로젝트 (4)
    • 공부 (80)
      • Database (2)
      • Python (11)
      • System (4)
      • Java (13)
      • JSP (13)
      • Spring (11)
      • Kotlin (16)
      • 자료구조 (10)
      • 기계학습 (0)
    • Docker (4)
    • Github (2)
    • Tip (0)
    • 잡담 (2)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • webhacking
  • ViewModel
  • Database
  • 코틀린기본문법
  • docker
  • 1.9.22
  • jsp
  • Java
  • SpringBoot
  • 키 해시
  • Python
  • Kotlin
  • android studio 삭제
  • 디버깅키해시
  • 프로그래밍
  • Computer science
  • 상속
  • 보안
  • spring
  • 알고리즘
  • React
  • native app
  • cs
  • dreamhack
  • Android Studio
  • api 통신
  • 컴퓨터
  • 자바빈즈
  • shared preference
  • 자료구조

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
Future0_
[JSP]액션 태그
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.