我正在尝试将我的JSP servlet连接到posgress数据库,而我目前正在使用一个扮演中间人角色的java bean类。我在使注册表成功将用户信息存储到数据库中时遇到了一些困难。如果你能帮助我,我真的很感激。
提前多多感谢。
JSP servlet:
<%@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;
}
}
答案 0 :(得分:1)
您的POJO JavaBean不会神奇地填充数据。它没有与数据库的连接,也无法获取或保存数据。
您需要一个控制器从数据库中提取数据,创建模型对象,并使用数据填充它们。控制器还负责保存bean
您可以自己编写,但通常使用现有的ORM框架(如JPA2),自定义持久性提供程序API(如Hibernate)或MyBatis等更好。如果你真的想要,你可以用直接的JDBC调用来手动控制你的控制器,从环境中注入连接,但这往往会产生大量的样板代码,即使像Spring JDBC这样的东西也可以帮助平滑过程。 / p>
某些IDE,如NetBeans和Eclipse,甚至可以为您自动生成模型和控制器,尽管我对结果从未如此满意(特别是未能使用父类和通用方法以及缺乏任何有用的错误处理)。