0

我正在尝试进行数据库登录。我有一个带有属性 url、用户名和密码的 bean;带有登录参数的 html 页面(带有 url 的组合框,以及用于用户名和密码的输入文本字段);和一个处理请求的jsp。当我运行 jsp 时,bean 中的所有属性都保持为空。我已经通过调试器运行了它,我可以看到它们都是空的。

这是相关的HTML:

    <form method = "post" action = "DBLoginInitialization.jsp">
        JDBC URL
        <select name = "url" size = "1">
            <option>jdbc:mysql://localhost/javabook</option>
        </select><br /><br />
            Username <input name = "username" /><br /><br />
            Password <input name = "password" /><br /><br />
        <input type = "submit" name = "Submit" value = "Login" />
        <input type = "reset" value = "Reset" />
    </form>

这是我的 bean 的一部分:

    public class DBBean implements java.io.Serializable{
        private Connection connection = null;
        private String username;
        private String password;
        private String url;
        private String driver = "com.mysql.jdbc.Driver";

       /** Initialize Database */
       public void initializeDB() {
           try {
                Class.forName(driver);

                connection = DriverManager.getConnection(url, username, password);
           }
           catch (Exception ex) {
                ex.printStackTrace();
           }
       }
  }   

和 JSP:

    <%@page import = "database.DBBean" %>
    <jsp:useBean id = "dbBeanId" scope = "session" 
                      class = "database.DBBean" ></jsp:useBean>
    <jsp:setProperty name = "dbBeanId" property = "*" />

    <body>

        <%-- Problem occurs here when trying to initialize database--%>
        <% dbBeanId.initializeDB(); %>

        <% if (dbBeanId.getConnection() == null) { %>
            Error: Login Failed. Try Again
        <% } 
           else { %>
                <jsp:forward page = "Table.jsp" />
        <% } %>

    </body>

在尝试初始化 DB() 时,我无法弄清楚为什么我的所有属性都为空。编辑:所有 getter 和 setter 方法都已到位。

4

1 回答 1

1

您没有属性,只有私有字段。创建 getter 和 setter 以利用它们创建 bean 属性!

于 2013-09-28T16:22:49.217 回答