자바빈즈 액션 태그의 기능과 사용법
- 자바 빈즈(Java Beans)
- 동적 콘텐츠 개발을 위해 자바 코드를 사용하여 자바 클래스로 로직을 작성하는 방법
- JSP 페이지에서 화면을 표현하기 위한 계산식이나 자료의 처리를 담당하는 자바코드를 따로 분리(컴포넌트, 부품) 하여 작성하는 것
- → 즉, 프로그램 모듈화를 위해 자바로 작성된 소프트웨어 컴포넌트
- JSP 페이지가 HTML과 같이 쉽고 간단한 코드만으로 구성
- 빈(Bean)은 클래스(Class)이다.
- 자바 빈즈 변수 = 프로퍼티(속성)
자바빈즈(Java Beans) 사용의 장점
- 내부적 데이터 처리와 공용화된 기능은 JSP 빈즈로 구현
- 프로그램 중복을 줄이고 원활한 유지보수 가능
- 한번 작성된 자바 빈즈를 여러 응용 프로그램에서 재사용 가능
대체적으로 데이터베이스와 연동할 때 자바 빈즈를 사용함
- 웹 사이트에서 데이터베이스를 사용하는 페이지가 많을 때 데이터베이스의 연결 부분은 따로 분리하여 깔끔하게 만듦
자바 빈즈 작성 규칙
- 자바 클래스의 구성을 따르나 JSP 액션과 연동하기 위해 다음과 같은 필수 구성 요소를 가짐
- 모든 멤버 변수인 프로퍼티(Property, 속성)는 Private 접근 지정자로 설정
- 외부 접근을 막음. Public으로 선언한 getter, setter 메서드 통해서 접근함
- 입력되는 정보 검사 후 저장하도록 하기 위함
- Private로 선언된 변수의 값을 저장(set)하는 메서드 만듬 → setter 메서드
- 메서드 이름 : setXxx, Xxx는 변수의 이름과 같으며 첫글자 대문자
- Private로 선언된 변수의 값을 가져오는(get) 메서드 만듬 → getter 메서드
- 메서드 이름 : getXxx, Xxx는 변수의 이름과 같으며 첫글자 대문자
- setXxx() 메서드와 getXxx() 메서드는 public으로 선언
- 인자가 없는 생성자(기본 생성자)로 구성
→ 자바 빈즈안의 필드(변수)는 무조건 Private 필드에 접근하는 메서드는 Public 으로
<jsp:useBean id="myBean" class=ch04.SimpleBean" scope="page"></jsp:useBean>
id=myBean 의미 : Java에서 class를 변수에 지정하여 이름을 붙이는것과 같은 뜻
→ SimpleBean mybean = new mybean id값이 참조변수의 이름이 되는 것
useBean 액션 태그
- JSP 페이지에서 자바빈즈를 사용하기 위해 실제 자바 클래스를 선언하고 초기화하는 태그
- id 속성과 scope 속성을 바탕으로 자바빈즈의 객체를 검색하고, 객체가 발견되지 않으면 빈 객체 생성
- class 속성에 지정한 빈즈 클래스를 id 속성에 지정한 이름으로 사용할 수 있도록 해줌
id = 자바빈즈를 식별하기 위한 이름 , 참조 변수명
scope = 빈즈 클래스 사용 범위(생존 범위). 기본 값 page, request: 다른 jsp 페이지의 요청에 담아서 보낼 동안 사용되어 진다.
setProperty 액션 태그
- 자바빈즈의 setter() 메서드에 접근하여 자바빈즈의 멤버 변수인 프로퍼티의 값을 저장하는 태그
setProperty에서는 name 사용 !!
만약 class(자바빈즈)에서 setter와 getter를 규칙에 맞게 생성되어져 있으면 setProperty로 더 직관적으로 클래스의 필드값 변경가능
getProperty 액션태그
- useBean 액션 태그와 함께 자바빈즈의 getter() 메서드에 접근하여 자바빈즈의 멤버 변수인 프로퍼티의 값을 가져오는 태그
- HTML로 화면을 구성하고 데이터 출력이 필요한 부분에 삽입
폼 태그를 이용하여 데이터 처리
- 위의 폼 태그가 있을 때 form action을 RegisterProcess.jsp로 지정한다.
- RegisterProcess.jsp 에 id, pwd Property(속성 or 필드) 를 가진 클래스는 useBean으로 불러오고 value를 생략한 setProperty 를 사용하여 처리가
<jsp:useBean id="registerBean" class="ch" scope="page"/>
<jsp:setProperty name=”자바빈즈 식별이름” property=”id”/>
<jsp:setProperty name=”자바빈즈 식별이름” property=”pwd”/>
<jsp:getProperty name=”자바빈즈 식별이름” property=”id”/>
<jsp:getProperty name=”자바빈즈 식별이름” property=”pwd”/>
- 만약 프로세스를 처리하는 JSP와 자바빈즈(클래스)의 프로퍼티의 이름이 같다면 “*” 문자를 이용하여 폼 태그를 통해 받은 데이터를 한번에 setter 할 수 있다.
- <jsp:setProperty name="myBean" property=“*"/>
만약 요청 파라미터 이름과 자바빈즈의 프로퍼티 이름이 일치하지 않는 경우 → param 속성추가
자바빈즈 액션 태그의 기능과 사용법
- 자바 빈즈(Java Beans)
- 동적 콘텐츠 개발을 위해 자바 코드를 사용하여 자바 클래스로 로직을 작성하는 방법
- JSP 페이지에서 화면을 표현하기 위한 계산식이나 자료의 처리를 담당하는 자바코드를 따로 분리(컴포넌트, 부품) 하여 작성하는 것
- → 즉, 프로그램 모듈화를 위해 자바로 작성된 소프트웨어 컴포넌트
- JSP 페이지가 HTML과 같이 쉽고 간단한 코드만으로 구성
- 빈(Bean)은 클래스(Class)이다.
- 자바 빈즈 변수 = 프로퍼티(속성)
자바빈즈(Java Beans) 사용의 장점
- 내부적 데이터 처리와 공용화된 기능은 JSP 빈즈로 구현
- 프로그램 중복을 줄이고 원활한 유지보수 가능
- 한번 작성된 자바 빈즈를 여러 응용 프로그램에서 재사용 가능
대체적으로 데이터베이스와 연동할 때 자바 빈즈를 사용함
- 웹 사이트에서 데이터베이스를 사용하는 페이지가 많을 때 데이터베이스의 연결 부분은 따로 분리하여 깔끔하게 만듦
자바 빈즈 작성 규칙
- 자바 클래스의 구성을 따르나 JSP 액션과 연동하기 위해 다음과 같은 필수 구성 요소를 가짐
- 모든 멤버 변수인 프로퍼티(Property, 속성)는 Private 접근 지정자로 설정
- 외부 접근을 막음. Public으로 선언한 getter, setter 메서드 통해서 접근함
- 입력되는 정보 검사 후 저장하도록 하기 위함
- Private로 선언된 변수의 값을 저장(set)하는 메서드 만듬 → setter 메서드
- 메서드 이름 : setXxx, Xxx는 변수의 이름과 같으며 첫글자 대문자
- Private로 선언된 변수의 값을 가져오는(get) 메서드 만듬 → getter 메서드
- 메서드 이름 : getXxx, Xxx는 변수의 이름과 같으며 첫글자 대문자
- setXxx() 메서드와 getXxx() 메서드는 public으로 선언
- 인자가 없는 생성자(기본 생성자)로 구성
→ 자바 빈즈안의 필드(변수)는 무조건 Private 필드에 접근하는 메서드는 Public 으로
<jsp:useBean id="myBean" class=ch04.SimpleBean" scope="page"></jsp:useBean>
id=myBean 의미 : Java에서 class를 변수에 지정하여 이름을 붙이는것과 같은 뜻
→ SimpleBean mybean = new mybean id값이 참조변수의 이름이 되는 것
useBean 액션 태그
- JSP 페이지에서 자바빈즈를 사용하기 위해 실제 자바 클래스를 선언하고 초기화하는 태그
- id 속성과 scope 속성을 바탕으로 자바빈즈의 객체를 검색하고, 객체가 발견되지 않으면 빈 객체 생성
- class 속성에 지정한 빈즈 클래스를 id 속성에 지정한 이름으로 사용할 수 있도록 해줌
id = 자바빈즈를 식별하기 위한 이름 , 참조 변수명
scope = 빈즈 클래스 사용 범위(생존 범위). 기본 값 page, request: 다른 jsp 페이지의 요청에 담아서 보낼 동안 사용되어 진다.
setProperty 액션 태그
- 자바빈즈의 setter() 메서드에 접근하여 자바빈즈의 멤버 변수인 프로퍼티의 값을 저장하는 태그
setProperty에서는 name 사용 !!
만약 class(자바빈즈)에서 setter와 getter를 규칙에 맞게 생성되어져 있으면 setProperty로 더 직관적으로 클래스의 필드값 변경가능
getProperty 액션태그
- useBean 액션 태그와 함께 자바빈즈의 getter() 메서드에 접근하여 자바빈즈의 멤버 변수인 프로퍼티의 값을 가져오는 태그
- HTML로 화면을 구성하고 데이터 출력이 필요한 부분에 삽입
폼 태그를 이용하여 데이터 처리
- 위의 폼 태그가 있을 때 form action을 RegisterProcess.jsp로 지정한다.
- RegisterProcess.jsp 에 id, pwd Property(속성 or 필드) 를 가진 클래스는 useBean으로 불러오고 value를 생략한 setProperty 를 사용하여 처리가
<jsp:useBean id="registerBean" class="ch" scope="page"/>
<jsp:setProperty name=”자바빈즈 식별이름” property=”id”/>
<jsp:setProperty name=”자바빈즈 식별이름” property=”pwd”/>
<jsp:getProperty name=”자바빈즈 식별이름” property=”id”/>
<jsp:getProperty name=”자바빈즈 식별이름” property=”pwd”/>
- 만약 프로세스를 처리하는 JSP와 자바빈즈(클래스)의 프로퍼티의 이름이 같다면 “*” 문자를 이용하여 폼 태그를 통해 받은 데이터를 한번에 setter 할 수 있다.
- <jsp:setProperty name="myBean" property=“*"/>
만약 요청 파라미터 이름과 자바빈즈의 프로퍼티 이름이 일치하지 않는 경우 → param 속성추가