2020. 6. 3. 09:16ㆍ자바 Java/JSP(Java Server Page)
JSP에서 XML 기반 태그는 두가지 있다.
표준 액션 태그 :JSP 컨테이너에서 기본으로 제공하는 태그
커스텀 태그 : 개발자가 만들어 사용하는 태그
표준 액션 태그
<태그 라이브러리 이름 : 태그 이름 >
표준 액션 태그 라이브러리 이름은 jsp로 이미 정해져 있으며, 커스텀 태그들의 태그 라이브러리 이름은 개발자들이 마음대로 지정할 수 있다.
표준 액션태그 종류
jsp:attribute
jsp:body
jsp:element
jsp:fallback
jsp:getProperty
jsp:getProperty
jsp:include
jsp:output
jsp:param
jsp:params
jsp:plugin
jsp:setProperty
jsp:useBean
jsp:forward
<jsp:forward>
forward 표준 액션 태그는 서블릿에서 RequestDispatcher 객체의 forward() 메소드 기능을 실행한다. 다른페이지로 이동할 때 사용하는 태그이다.
[구문]
<jsp:forward page="경로"/>
<jsp:forward page="<% %>"/>
<jsp:forward page="${ }" />
<jsp:include>
include 표준액션태그는 서블릿에서 RequestDispatcher 객체의 include() 메소드 기능을 실행한다. 다른페이지를 현재 페이지에 포함하고자 할 때 사용하는 태그이다.
JSP 페이지 작성시 다른 페이지를 포함하는 방법은 두가지 이다.
<%@include file=" "%>
<jsp:include="경로"/>
include 표준액션 태그와 include 지시자 둘다 다른 페이지를 포함하는 기능은 맞지만 다르게 동작한다.
A.jsp 파일에 <%@ include file="B" %> 으로 파일을 포함하면 JSP파일에서 자바 소스로 변환 될때 B 페이지가 포함된다. 소스가 포함된 후 컴파일 되어 클래스 파일이 만들어진다.
A.jsp파일에 <jsp:include page="B">로 파일을 포함하면 JSP파일에서 자바소스로 변환 될 때 포함되는 include 지시자와는 달리 실행될 때 포함됩니다. 따라서 동적으로 포함하려면 include 표준 액션태그를 사용한다.
JSP 자바빈즈
JSP 자바빈즈(JavaBeans)란, JSP의 표준 액션태그로 접근 할 수 있는 자바 클래스로서 값을 가지는 속성(멤버변수)과 값을 설정하는 메소드(setter), 값을 추출 하는 메소드(getter) 로 이루어져 있다. 자바빈즈는 하나의 JSP 페이지에 종속적으로 사용되는 것이 아니라 여러 JSP 페이지에서 사용될 수 있다. 자바빈즈는 다른 자바 클래스와 마찬가지로 자바객체이다.
JSP 자바빈즈의 장점
1. 폼 데이터 처리 용이
동적인 웹페이지 생산의 중요한 요소는 클라이언트로부터 데이터를 입력받아 이를 처리하는 것이다. HTTP프로토콜을 사용하는 HTML은 GET이나 POST 방식을 통해 이를 처리한다. 전달될 데이너, 즉 질의 문자열은 JSP 페이지 내에서는 내장 객체인 HttpServletRequest 타입의 request.getParameter()를 통해 추출할 수 있다. 만일 전달된 질의 문자열이 50개라면 50번의 request.getParameter()를 실행하여 값들을 추출해야 한다. 그러나 자바빈즈를 사용하면 빈즈를 지원하는 낵션태그를 한번만 사용해서 클라이언트로부터 전달된 데이터를 추출함과 동시에 객체에
2. 자바빈즈 활용 범위 확장 용이
3. 컴포넌트 기반 구현 가능
JSP자바 빈즈 개발 규약
'자바 Java > JSP(Java Server Page)' 카테고리의 다른 글
JSP 내장객체 Request,Response,Session,Out,Application,PageContext (0) | 2020.06.01 |
---|---|
JSP프로그래밍 기초- JSP란?, JSP동작원리,스크립트 기반 태그 (0) | 2020.05.31 |
JSP를 이해하기 위한 자바와 웹 기초 지식 (0) | 2020.05.21 |
JSP 문법/태그 (0) | 2020.05.21 |
JSP 의 Predefined Values(or Implicit Object) (0) | 2020.05.21 |