【问题标题】:Implementing a java bean into a jsp servlet将 java bean 实现为 jsp servlet
【发布时间】:2014-04-08 00:36:44
【问题描述】:

我正在尝试将我的 JSP servlet 连接到一个 posgress 数据库,我目前正在使用一个扮演中间人角色的 java bean 类。在使注册表单成功地将用户信息存储到数据库中时,我遇到了一些困难。如果您能帮助我,我将不胜感激。

非常感谢。

JSP 小服务程序:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Register here</title>
</head>
<body>
    <form method="post" action="registration.jsp">
        <center>
        <table border="1" width="30%" cellpadding="5">
            <thead>
                <tr>
                    <th colspan="2">Enter Information Here</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>First Name</td>
                    <td><input type="text" name="fname" value="" /></td>
                </tr>
                <tr>
                    <td>Last Name</td>
                    <td><input type="text" name="lname" value="" /></td>
                </tr>
                <tr>
                    <td>Email</td>
                    <td><input type="text" name="email" value="" /></td>
                </tr>
                <tr>
                    <td>User Name</td>
                    <td><input type="text" name="uname" value="" /></td>
                </tr>
                <tr>
                    <td>Password</td>
                    <td><input type="password" name="pass" value="" /></td>
                </tr>
                <tr>
                    <td>Current Country</td>
                    <td><input type="text" name="country" value="" /></td>
                </tr>
                <tr>
                   <td>Current City</td>
                   <td><input type="text" name="city" value="" /></td>
                </tr>   
                <tr>
                    <td><input type="submit" value="Submit" /></td>
                    <td><input type="reset" value="Reset" /></td>
                </tr>
                <tr>
                    <td colspan="2">Already have an account? <a href="index.jsp">Login Here</a></td>
                </tr>
            </tbody>
        </table>
        </center>
    </form>
</body>

我使用的 Java Bean:

public class UserBean {

    private int id;
    private String username;
    private String password;
    private String email;
    private String firstName;
    private String lastName;
    private String endDate;
    private boolean validated;

    public UserBean() {
        // Empty constructor
    }

    public int getId() {
        return id;
    }

    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }

    public String getEmail() {
        return email;
    }

    public String getFirstName() {
        return firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public String getEndDate() {
        return endDate;
    }

    public boolean isValidated() {
        return validated;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public void setValidated(boolean validated) {
        this.validated = validated;
    }
}

【问题讨论】:

  • 我还为我使用的所有 bean 提供了一个主 java 类,它们都作为包存储在“WEB-INF/classes”下
  • 帮你什么?您说您的问题在于将数据保存到数据库,但您没有说明问题是什么,也没有说明您如何保存数据。

标签: java postgresql jsp servlets javabeans


【解决方案1】:

您的 POJO JavaBean 不会神奇地填充数据。它与数据库没有连接,也无法获取或保存数据。

您需要一个从数据库中获取数据、创建模型对象并使用数据填充它们的控制器。控制器还负责保存 bean

您可以自己编写此代码,但通常最好使用现有的 ORM 框架(如 JPA2)、自定义持久性提供程序 API(如 Hibernate)或 MyBatis 之类的东西。如果你真的想要,你可以用直接的 JDBC 调用手动滚动你的控制器,从环境中注入连接,但这往往会产生大量的样板代码,即使使用 Spring JDBC 之类的东西来帮助解决问题也没有什么好处。

一些 IDE,例如 NetBeans 和 Eclipse,甚至可以为您自动生成模型和控制器,尽管我对结果并不十分满意(尤其是未能使用父类和泛型方法以及缺少任何有用的错误处理)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 2015-06-19
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多