Programming/JSP

[JSP] 자바빈과 표준 액션 태그

gaing 2023. 10. 17. 05:17

자바빈

  • 재사용이 가능한 객체지향 프로그래밍 인터페이스
  • 데이터를 다루기 위해서 자바로 작성되는 소프트웨어 컴포넌트이며 작성이 쉬움
  • 구조가 매우 단순하여 자바의 기본 지식만 있어도 작성할 수 있음

자바빈의 구성

  • 클래스로 선언하고 이 클래스를 객체화하여 작성함
  • 프로퍼티(변수)
    • 클래스의 상태를 유지하고 동작을 지정하는 속성
  • 메소드(함수)
    • 프로퍼티를 외부에 사용하기 위한 통로 역할

자바빈의 규약

  • 클래스는 반드시 파라미터가 없는 기본 생성자를 가짐
  • 클래스는 직렬화되어야 함
  • 프로퍼티는 get, set 메소드를 통해 읽고 저장할 수 있어야 함
  • 프로퍼티마다 Getter, Setter가 있어야 함
  • Getter는 파라미터가 없어야 함
  • Setter는 하나 이상의 파라미터를 가짐
  • 프로퍼티 접근제어자 : private
  • Getter/Setter, 클래스 접근제어자 : public

자바빈의 표준 액션 태그

  • <jsp:useBean>, <jsp:setProperty>, <jsp:getProperty>

 

자바빈 scope 속성

  • page : 요청에 의해 생성된 페이지에만 객체 사용
  • request : 클라이언트의 요청이 수행하는 페이지에서 객체 사용
  • session : 객체가 생성된 세션에서 요청을 처리하는 페이지에사용
  • application : 객체가 생성된 응용 프로그램에 포함된 페이지에서 사용

 

<jsp:useBean> 태그

  • JSP 페이지에서 특정 자바빈을 사용한다고 알려주는 태그 (클래스를 인스턴스화 시켜줌)
<jsp:useBean id="name"
    scope="page | request | session | application"
    class="className" type="typeName" beanName="beanName" />

 

<jsp:setProperty> 태그

  • useBean 태그로 지정한 자바빈의 주어진 영역에서 프로퍼티(변수) 값을 설정
<jsp:setProperty name="beanName"
    property="propertyName" |
    property="propertyName" param="parameterName" |
    property="propertyName" value="propertyValue" />

 

<jsp:getProperty> 태그

  • useBean 태그로 지정한 자바빈의 주어진 영역에서 setProperty로 설정한 자바빈의 프로퍼티(변수) 값을 가져옴
<jsp:getProperty name="beanName" property="propertyName" />

부가적인 표준 액션 태그

  • <jsp:include> : 동적인 웹페이지를 포함시킴
  • <jsp:forward> : 지정한 페이지로 이동
  • <jsp:param> : 이동할 페이지에 파라미터로 값을 전달

 

<jsp:include> 태그

  • 다른 JSP 페이지나 HTML 페이지를 포함하는 태그
<jsp:include page="파일명" flush="true | false" >

<jsp:include> 액션 태그와 include 지시어의 차이점

 

<jsp:forward> 태그

  • 현재 실행 중인 JSP 페이지에서 url로 지정한 특정 JSP 페이지로 이동함
<jsp:forward page="파일URL" />

 

<jsp:param> 태그

  • 요청한 페이지로 정보를 전달할 때 사용하는 액션 태그
  • 단독으로 사용할 수 없고 <jsp:include>, <jsp:forward>, <jsp:plugin>의 서브 원소로 사용함
<jsp:forward page="url">
    <jsp:param name="name" value="값" />
</jsp:forward>

'Programming > JSP' 카테고리의 다른 글

[JSP] 쿠키와 세션  (1) 2023.10.17
[JSP] JSP와 DB 연동  (3) 2023.10.17
[JSP] 입력 폼 설계  (1) 2023.10.17
[JSP] 내장 객체  (0) 2023.10.17
[JSP] 기본 문법  (2) 2023.10.17