我正在尝试进行数据库登录。我有一个带有属性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方法都已到位。
答案 0 :(得分:1)
您没有属性,只有私有字段。创建getter和setter以从中创建bean属性!