为什么运行jsp文件时我的所有bean属性都为null

时间:2013-09-28 16:10:41

标签: java html jsp netbeans javabeans

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

以下是相关的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>

这是我的豆子的一部分:

    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>

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

1 个答案:

答案 0 :(得分:1)

您没有属性,只有私有字段。创建getter和setter以从中创建bean属性!

相关问题