Rylah's Study & Daily Life

10. Java Bean 본문

Web Study/JSP

10. Java Bean

Rylah 2022. 3. 20. 04:37

1. JavaBean

  • JSP 페이지의 로직 부분을 분리해서 코드를 재사용함으로써 프로그램의 효율을 높이는 것이 목적
  • 모듈(Module)화가 대세인 현 프로그래밍에서 한 번 잘 작성한 코드를 재사용하면서 작성 기간이 단축되고, 이미 실사용중인 코드를 사용하므로 코드의 안정성이 보장되어 유지보수에도 좋다.
  • 자바빈은 자바로 작성되어진 컴포넌트들을 일반적으로 일컫는 말로, 자바는 프로그램 기본 단위가 클래스이고, 자바빈은 클래스들로 이루어진 복합적인 구조이다. 

2. JavaBean 만들기 : JavaBean Class

a. JavaBean Class

 - Declaration

1
public class DbDataLogin{ }
cs

b. Setter, Getter

 - Declaration

1
2
3
public void setId(String id) {
    this.id = id.trim();
}
cs
1
2
3
public String getId() {
    return this.id;
}
cs

3. JavaBean, useBean, Action Tag(jsp:useBean)

 - 객체 생성

1
<jsp:useBean id="beanName" class="javaBeanClassName" scope="area" />
cs

- Set Property Value

1
<jsp:setProperty name="beanName" property="propertyName" value="propertyValue" />
cs

- Get Property Value

1
<jsp:getProperty name="beanName" property="propertyName" />
cs

 

1. 자바빈은 JSP에서 어떤 목적으로 사용되는가?

 

 

2. 다음 조건에서 주어진 대로 자바빈을 작성하시오.

자바빈의 접근 제어자는 public으로 선언하고 클래스명은 ExBean으로 지정한다.
ExBean 클래스는 ex.ch10 패키지에 속한다.
ExBean 클래스는 접근제어자를 private를 갖는 3개의 프로퍼티를 가지고 있다.
 - String 타입의 id 프로퍼티
 - String 타입은 passwd 프로퍼티
 - int 타입의 number 프로퍼티
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
package ex.ch10;
 
public class ExBean {
    private String id;
    private String passwd;
    private int number;
    
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getPasswd() {
        return passwd;
    }
    public void setPasswd(String passwd) {
        this.passwd = passwd;
    }
    public int getNumber() {
        return number;
    }
    public void setNumber(int number) {
        this.number = number;
    }
    
    
}
 
cs

3. 아이디, 패스워드 좋아하는 숫자를 입력받아 자바빈을 사용해서 프로퍼티 값을 저장하고 저장한 값을 화면에 표시하기 위한 프로그램이다.

problem10_03Form.jsp, problem10_03Pro.jsp가 주어진다. 자바빈은 ExBean.java를 사용한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Problem 10-03 Form</title>
</head>
<body>
    <h2>좋아하는 숫자를 입력하세요</h2>
    
    <form method="post" action="problem10_03Pro.jsp">
        아이디 : <input type="text" name="id"> <br>
        패스워드 : <input type="password" name="passwd"> <br>
        좋아하는 숫자 : <input type="text" name="number"> <br>
        <input type="submit" value="입력완료">
    </form>
</body>
</html>
cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 
<% request.setCharacterEncoding("UTF-8"); %>
 
<jsp:useBean id="ExBean" class="ex.ch10.ExBean">
    <jsp:setProperty name="ExBean" property="id"/>
    <jsp:setProperty name="ExBean" property="passwd"/>
    <jsp:setProperty name="ExBean" property="number"/>
</jsp:useBean>
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>problem10_03Pro.jsp</title>
</head>
<body>
    <h2>입력 받은 정보 표시</h2>
    아이디 : <jsp:getProperty name="ExBean" property="id"/><br>
    패스워드 : <jsp:getProperty name="ExBean" property="passwd"/><br>
    좋아하는 숫자 : <jsp:getProperty name="ExBean" property="number"/><br>
</body>
</html>
cs

 

 

 

 

 

 

 

'Web Study > JSP' 카테고리의 다른 글

11. JSP, DataBase (2) - Basic Query  (0) 2022.03.20
11. JSP, DataBase (1) - MySQL  (0) 2022.03.20
09. JSP Page Error  (0) 2022.03.20
08. JSP Page Action Tag  (0) 2022.03.19
07. JSP Page Implicit Object  (0) 2022.03.19