일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 증시
- 삼성 플렉스북
- flex하는게 아니었는데..
- weblogic
- 학생비자
- 인물
- 유학
- spring message converters
- 필라델피아
- 월화수목금토익
- 금융공학
- java
- ue5
- spring security
- HRD
- jdk17
- kospi
- UE4
- spring
- paper2d
- 펜실베이니아
- AT&T
- mysql
- 주식
- 어학연수
- rollbackOnly
- mastering unreal engine
- JPA
- 최근증시
- @JsonView
- Today
- Total
HeBhy, since 1983.
Java Beans 본문
자바빈이란 데이터를 표현하는 것을 목적으로 하는 자바 Class이다.
자바빈은 프로퍼티, 지속성, 이벤트 등 다양한 특징을 가지며, JSP에서는 이 중 프로퍼티가 가장 많이 사용된다.
웹 어플리케이션 구축시 컴포넌트화 하여 유지/보수를 쉽게 하도록 도와준다는 장점이 있으며, SUN의 노력하는 부분이기도 하다.
자바 기술로 소프트웨어를 개발할 때 독립성을 띄는 재사용 사능한 클래스 집합을 만들 수가 있는데 이를 자바빈 컴포넌트라고 한다.
자바빈 컴포넌트는 독립적으로 그 기능이 환벽히 구현되어 있으면서도 다른 컴포넌틍와 상호작용을 할 수 있어 어플리케이션 프로그램 구축 시 여러 컴포넌트를 조합해 손쉽게 하나의 거대한 프로그램을 만들 수 있다.
또한 데이터를 보호함(최소한의 코드 노출)과 동시에 다루기도 쉬워진다.
자바빈은 자바빈 규약을 따르는 자바 클래스이며, 자바빈 규약이란 명명규칙과 디자인 스타일을 말한다.
자바빈은 일반적인 자바 클래스이므로 자바빈의 인스턴스도 단순한 자바 객체이다.
자바빈은 Property를 분석하기 위한 여러 public 메소드를 제공해야 하는데 reflection 기법을 통한 프라퍼티 분석 과정을 Introspection(인트로스펙션)이라 한다.
하나의 자바빈은 여러 개의 프라퍼티를 가질 수 있다. 각각은 독립적일 수도 있고 서로 영향을 미칠 수도 있다. 프라퍼티는 상태를 읽거나 쓸 수 있고 상태 값은 모든 자바 데이터가 가능하다.
프로퍼티는 자바 빈에 저장되어 있는 값을 나타내며, 메소드(get, set)를 사용해서 프로퍼티를 지정한다. 즉, 자바빈 안에 age라는 프로퍼티가 있을 경우.
private int age;
로 선언하여 주고, 이 프로퍼티값을 설정(set) 혹은 가져오고(get)싶을 때에 사용할 메소드를 자바빈 안에 설정하여 주어야 한다. ( 프로퍼티의 접근 제한자는 private로 설정하는 것이 대부분인 것 같다. 그렇기 때문에 프로퍼티에 접근하기 위해서는 접근 메소드가 필요하고 이 접근 메소드들을 자바빈 안에 생성해줘야 하는 것이다.)
public setAge(int age) {this.age = age;}
public getAge() {return age;}
기본적으로 자바빈에 프로퍼티를 생성하면서 반드시!! 생성해줘야 하는 메소드이다. 이렇게 생성하여 준 메소드들을 통해 JSP파일에서 프로퍼티를 읽고 쓰게 되는 것이다. (boolean형의 경우 get이 아닌 is메소드로 만들도록 한다.
더불어 읽기 전용 프로퍼티도 만들 수 있다. 생성된 자바빈을 JSP에서 사용하려면 톰캣의 webapps폴더에 /WEB-INF/class/해당패키지 폴더 에 클래스파일을 넣어주면 된다.
자바빈 클래스의 객체를 JSP파일에 객체를 생성하여 사용하면 된다. JSP페이지에서 번번히 사용되는 자바빈 객체를 위한 액션 태그를 별도로 사용하면 되는데 이때 사용되는 액션 태그들은
< jsp:useBean id="[빈이름]" class="[자바빈 클래스 이름]" scope="[범위]" />
- id : JSP페이지에서 자바빈 객체에 접근할 때 사용할 이름
- class : 패키지 이름을 포함한 자바빈 클래스의 완전한 이름을 입력.
- scope : 자바빈 객체가 저장될 영역을 지정(page, request, session, application)
'Dev > Web' 카테고리의 다른 글
Weblogic 10.3 & Mysql 에서 JDBC Connection Pool (0) | 2009.05.31 |
---|---|
Apache 2.x & Weblogic 10.3 연동 (0) | 2009.05.17 |
BEA Weblogic 10.3 / Oracle DB 11g 교체 (0) | 2009.05.17 |
java(jsp) 에서 바이트단위로 문자열 자르기(한글깨짐없이) (8) | 2008.03.10 |
jsp에서 java.net.URL로 xml 로딩시 utf-8 한글인코딩 깨짐 문제- 해결법 (2) | 2008.03.04 |