컴퓨터학원(복습)(수료)

자바(JAVA)기반 안드로이드 웹&앱 개발 56일차(내장객체의 영역, 액션태그(forward, param, include)

의창s 2021. 5. 20. 20:27

오늘은 평가를 동반해서, 분량이 평소보다 적습니다.

[내장 객체의 영역(유효기간)]

1. 해당 객체가 얼마 동안이나 유지되는가?

영 역 설 명
page 하나의 JSP 페이지를 처리할 때 사용되는 영역
request 하나의 요청을 처리할 때 사용되는 영역
session 하나의 브라우저와 관련된 영역
application 하나의 웹 애플리케이션과 관련된 영역

첫번째 페이지는 모든 속성을 다 갖고 있다.(콘솔창)

두번째 페이지는 페이지 속성을 갖고 있지 않다.

세번째 페이지는 페이지와 요청(request)속성을 갖고 있지 않다.

[액션태그]

1. 액션태그 : JSP의 내장 객체를 통해서 자바 코드 형태로도 작성할 수 있는 것을 태그로 표현할 수 있도록 한 것

2. 액션태그의 필요성

1) 가독성 높힘

2) 코드의 양 줄일 수 있음

3. 액션 태그의 기본 형식 : <jsp:태그명 속성="값">내용</jsp:태그명>

예시)

<jsp:forward page="yellow02.jsp">

<jsp:param name=:"url" value="redo2.jsp" />

<jsp:param name="news" value="Happy New Year!" />

</jsp:forward>

4. 태그의 종류

영 역 설 명
<jsp:forward> 다른 사이트로 이동할 때 사용한다.
페이지의 흐름을 제어할 때 사용한다.
<jsp:include> 정적 혹은 동적인 자원을 현재 페이지의 내용에 포함시킨다.
페이지를 모듈화 할 때 사용한다.
<jsp:param> <jsp:forward>, <jsp:include>, <jsp:plugin> 과 같이 사용되어 인자를 추가할 때 사용한다.
<jsp:useBean> 빈(Bean)을 생성하고 사용하기 위한 환경을 정의하는 액션태그이다.
<jsp:setProperty> 액션은 빈에서 속성 값을 할당한다.
<jsp:getProperty> 액션은 빈에서 속성 값을 얻어 올 때 사용한다.

1) <jsp:forward> 액션 태그

(1) 현재 JSP 페이지에서 URL로 지정한 특정 페이지로 넘어갈 때 사용

(2) 형식 : <jsp:forward page="relativeURLspec"/>

(3) 포워드 방식으로 페이지를 이동

ㄱ) 기존의 request 연결은 유지

ㄴ) 서버상의 url로 request 정보를 전달

(4) 다음의 기존 JSP 자바코드와 동일

RequestDispatcher dispatcher = request.getRequestDispatcher("url");

dispatcher.forward(request, response);

액션태그 forward가 실행되었기 때문에 red(포워딩 전)는 실행되지 않음

2) <jsp:param> 액션태그

(1) 요청한 페이지로 정보를 전달할 때 사용하는 액션 태그

(2) <jsp:forward> 또는 <jsp:include> 액션 태그 내부에 위치

<jsp:forward page="main.jsp">

<jsp:param name="username" value="Bae Su Ji"/>

</jsp:forward>

(3) 형식 : <jsp:param name="파라미터" value="파라미터 값" />

로그인 폼

라디오 체크 여부(사용자, 관리자)에 따라 다른 화면창을 띄어주기 위한 분기 코드

사용자 클릭 시

관리자 클릭 시

3)<jsp:include> 액션태그

(1) 현재 페이지에 또 다른 페이지의 내용을 동적으로 포함시키고자 할 경우 사용

ㄱ) 보통 header 또는 footer

ㄴ) 모듈화 : 하나의 결과 화면을 여러 개의 페이지로 나누어 작성

(2) 형식 : <jsp:include page="urlSpec" flush="true 또는 false" />

ㄱ) page : 삽입할 페이지 주소 (상대적 경로 또는 절대적 경로)

ㄴ) flush : 출력 버퍼에 저장되어 있는 데이터를 비우도록 할 것인지를 설정

(3) <%@ include %> 태그와 유사하지만 동작하는 방식은 차이가 있음

ㄱ) <%@ include %> : 포함되는 페이지의 일부로 아예 포함되어 compile됨, 변수 서로 공유 가능

ㄴ) <jsp:include> 태그는 서로 다른 페이지로 자바의 함수와 같은 개념, 독립적인 페이지로 변수공유 불가

<%@ include %>

<jsp:include>

main

sub