我正在尝试进行数据库登录。我有一个带有属性 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 方法都已到位。