OOP

OOP (Object-Oriented Programming) – Lập trình hướng đối tượng.


JavaBean

📘 JavaBean là gì?

JavaBean là một lớp Java tuân theo các quy tắc sau:

  • constructor mặc định không tham số.
  • phương thức getter và setter cho từng thuộc tính.
  • Cài đặt giao diện Serializable để hỗ trợ truyền/ghi dữ liệu.

👉 JavaBeans thường được sử dụng trong JSP để lưu trữ và truyền dữ liệu giữa các trang.

🔒 Serializable là gì?

  • Serializable là một marker interface (không chứa phương thức) dùng để đánh dấu rằng lớp đó có thể được ghi xuống file hoặc truyền qua mạng.

🧱 Class (JavaBean chuẩn)

public class Person implements Serializable {
  private String name;  // Thuộc tính (attribute)
  private int age;

  public Person() {}    // Constructor mặc định

  // Getter
  public String getName() {
    return this.name;
  }

  // Setter
  public void setName(String name) {
    this.name = name;
  }

  public int getAge() {
    return this.age;
  }

  public void setAge(int age) {
    this.age = age;
  }
}

⚙️ Khởi tạo và thao tác

// Khởi tạo
Person person = new Person();

// Gán giá trị
person.setName("John Doe");
person.setAge(30);

// Truy xuất giá trị
String name = person.getName();
int age = person.getAge();

💡 JavaBean trong JSP

Tạo đối tượng (useBean)

<jsp:useBean id="person" class="net.ezse.Person" />

Gán giá trị (setProperty)

<jsp:setProperty name="person" property="name" value="John Doe" />
<jsp:setProperty name="person" property="age" value="35" />

Hiển thị giá trị (getProperty)

<p>Name: <jsp:getProperty name="person" property="name" /></p>
<p>Age: <jsp:getProperty name="person" property="age" /></p>

Hoặc dùng EL (Expression Language)

<p>${person.name}</p>
<p>${person.age}</p>

🕒 Ví dụ khác: Bean Date

<jsp:useBean id="date" class="java.util.Date" />
<p>Today is: ${date}</p>
<p>Month: ${date.month + 1}</p> <!-- Lưu ý: tháng bắt đầu từ 0 -->
<p>Day: ${date.date}</p>