SORU
13 Kasım 2009, Cuma


JavaBeans kullanıldığı yerler?

Bir JavaBean nedir ve neden ihtiyacım var? Sınıf ve arayüz yapısı ile tüm uygulamalar oluşturabilirsiniz beri? Neden fasulye ihtiyacım var mı? Ve sen bana fasulye sınıfları ve ARAYÜZLERİ yerine gerekli olduğu bazı örnekler verebilir misin?

Bu bağlamda aşağıda: fasulye hayati öneme açıklayınız

  • Wep apps
  • Bağımsız uygulamalar

CEVAP
13 Kasım 2009, Cuma


Genellikle sadece gerçek dünya verileri temsil eder. İşte bir Javabean basit bir örnek:

public class User implements java.io.Serializable {

    // Properties.
    private Long id;
    private String name;
    private Date birthdate;

    // Getters.
    public Long getId() { return id; }
    public String getName() { return name; }
    public Date getBirthdate() { return birthdate; }

    // Setters.
    public void setId(Long id) { this.id = id; }
    public void setName(String name) { this.name = name; }
    public void setBirthdate(Date birthdate) { this.birthdate = birthdate; }

    // Important java.lang.Object overrides.
    public boolean equals(Object other) {
        return (other instanceof User) && (id != null) ? id.equals(((User) other).id) : (other == this);
    }
    public int hashCode() {
        return (id != null) ? (getClass().hashCode()   id.hashCode()) : super.hashCode();
    }
    public String toString() {
        return String.format("User[id=%d,name=%s,birthdate=%d]", id, name, birthdate);
    }
}

Serializable uygulama veya ağ üzerinden Java hafızası dışında, örneğin harddisk veya Javabeans devam aktarabilme isterseniz başına zorunlu değil, ama çok yararlıdır.

Örneğin kullanıcıların bir listesini oluşturmak için kullanabileceğiniz bir DAO sınıfı ondamağazaveritabanında user tablo:

List<User> users = new ArrayList<User>();
while (resultSet.next()) {
    User user = new User();
    user.setId(resultSet.getLong("id"));
    user.setName(resultSet.getString("name"));
    user.setBirthdate(resultSet.getDate("birthdate"));
    users.add(user);
}
return users;

Örneğin Sunucu uygulaması bir sınıf için kullanabilirsiniztransferUI için veritabanından veri:

protected void doGet(HttpServletRequest request, HttpServletResponse response) {
    List<User> users = userDAO.list();
    request.setAttribute("users", users);
    request.getRequestDispatcher("users.jsp").forward(request, response);
}

Örneğin JSP bir sayfa açabilirsinizerişimJavabean kuralları takip eden EL, ile, verileri görüntülemek için:

<table>
    <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Birthdate</th>
    </tr>
    <c:forEach items="${users}" var="user">
        <tr>
            <td>${user.id}</td>
            <td><c:out value="${user.name}" /></td>
            <td><fmt:formatDate value="${user.birthdate}" pattern="yyyy-MM-dd" /></td>
        </tr>
    </c:forEach>
</table>

Mantıklı mı? Sen, bir tür bakınKongreher yerde kullanabilirsinizmağaza,transferveerişimveri.

Ayrıca Bkz:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Lamarr Wilson

    Lamarr Wilso

    27 Aralık 2008
  • Schmittastic Jr.

    Schmittastic

    19 Mart 2013
  • TechSmartt

    TechSmartt

    29 Aralık 2010