栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java使用JavaBeans的地方?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java使用JavaBeans的地方?

它们通常仅代表真实世界的数据。这是一个Javabean的简单示例:

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
并不是强制性的,但是如果你希望能够在Java内存之外(例如,在硬盘中或通过网络)持久或传输Javabean,则实现非常有用。

例如,在DAO类中,你可以使用它创建用户列表,在其中将表的数据存储user在数据库中:

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;

例如,在一个Servlet类中,你可以使用它来将数据从数据库传输到UI:

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

例如,在一个JSP页面中,你可以通过EL(遵循Javabean约定)对其进行访问以显示数据:

<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>

是否有意义?你会发现,这是一种约定,你可以在任何地方使用它来存储,传输和访问数据。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/420280.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号