JSP 4일차

MOZZI KIM·2022년 11월 25일
0

JSP

목록 보기
4/10
post-thumbnail

1. 내장 객체에 대하여 설명하시오.

📌 내장 객체란?

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

다시 풀어서 설명하자면 JSP가 서블릿 형태로 자동 변환된 코드 내에 자동으로 포함되어 있는 멤버변수, 메서드 매개변수 등의 각종 참조 변수들을 말한다. 보통 스크립트릿 내부에서 사용하며 내장객체를 통하면 사용자 요청을 컨트롤하거나 페이지 간의 데이터를 손쉽게 공유할 수 있다.

내장객체들은 특정 클래스에 대한 인스턴스 형태로서, 컨테이너를 통해서 초기화되고 다양한 기능과 정보들을 제공한다.


2. redirect , forward 의 차이는?

웹은 현재 작업중인 페이지에서 다른 페이지로 이동하기 위해 2가지 페이지 전환 기능을 제공합니다. 오늘은 2가지의 페이지 전환 방법의 차이와 사용법에 대해 알아보자.

📌 Forward 방식

Forward는 Web Container 차원에서 페이지의 이동만 존재. 실제로 웹 브라우저는 다른 페이지로 이동했음을 알 수 없다. 그렇기 때문에 웹 브라우저에는 최초에 호출한 URL이 표시되고, 이동한 페이지의 URL 정보는 확인할 수 없다. 또한 현재 실행중인 페이지와 forward에 의해 호출될 페이지는 Request 객체와 Response 객체를 공유한다.

위와 같이 Foward는 다음으로 이동 할 URL로 요청정보를 그대로 전달한다. 그렇기 때문에 사용자가 최초로 요청한 요청정보는 다음 URL에서도 유효하다. 예를 들어 게시판을 작성하는 과정이라고 할 때, 사용자가 보낸 요청 정보를 이용하여 글쓰기 기능을 수행한다고 할 때, forward를 사용하여 응답 페이지를 부르면 다음과 같은 문제가 발생하게 됩니다. 만약 사용자가 실수 혹은 고의로 글쓰기 응답 페이지에서 새로고침을 누른다면, 요청 정보가 그대로 살아있기 때문에 요청이 여러 번 전달되어 동일한 게시물이 여러 번 등록될 수 있다. 그래서 게시판을 제작하는 과정에서는 시스템에 변화가 생기지 않는 단순 조회 요청(글 목록 보기, 검색)의 경우 forward로 응답하는 것이 바람직하다.

📌 Redirect 방식

Redirect는 Web Container로 명령이 들어오면, 웹 브라우저에게 다른 페이지로 이동하라고 명령을 내린다. 그러면 웹 브라우저는 URL을 지시된 주소로 바꾸고 해당 주소로 이동한다. 다른 웹 컨테이너에 있는 주소로 이동하며 새로운 페이지에서는 Request와 Response객체가 새롭게 생성된다.

Redirect의 경우 최초 요청을 받은 URL1에서 클라이언트에게 redirect할 URL2를 반환하고, 클라이언트에서는 새로운 요청을 생성하여 URL2에 다시 요청을 보낸다. 그러므로 처음 보냈던 최초의 Request와 Response 객체는 유효하지 않고 새롭게 생성된다. 예를 들어 게시판을 작성하는 과정이라고 할 때, 사용자가 보낸 요청 정보를 이용하여 글쓰기 기능을 수행한다고 할 때, redirect를 사용하여 응답 페이지를 부르면 사용자가 실수 혹은 고의로 글쓰기 응답 페이지에서 새로고침을 누른다고 하더라도, 처음의 요청 정보는 존재하지 않으므로 게시물이 여러 번 등록되지 않는다. 그렇기 때문에 시스템에 변화가 생기는 요청(회원가입, 글쓰기 등)의 경우에는 redirection을 사용하는 것이 바랍직하다.


3. 다음을 설명하시오.

-액션 태그의 정의와 종류는?

📌 JSP Action Tag

액션 태그는 XML 문법을 따른다. 즉 시작 태그와 함께 반드시 종료 태그를 포함해야 한다.

다음은 액션 태그의 기본 형식이다.

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

0개의 댓글