9. 用户基本信息自定义功能实现:用户可以在自己的个人资料页面上修改自己的基本信息,包括用户名、性别、年龄、联系方式等。Javaweb代码
时间: 2023-12-17 08:03:01 浏览: 25
这个功能需要用到数据库来存储用户的基本信息,下面是一个简单的Javaweb代码实现:
1. 在数据库中创建一个用户表,表结构如下:
```sql
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
`gender` varchar(10) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`contact` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
2. 在JSP页面上展示用户的基本信息,例如:
```html
<form action="updateUser.jsp" method="post">
<label>用户名:</label>
<input type="text" name="username" value="<%= request.getAttribute("username") %>"><br>
<label>密码:</label>
<input type="password" name="password" value="<%= request.getAttribute("password") %>"><br>
<label>性别:</label>
<input type="radio" name="gender" value="男" <% if("男".equals(request.getAttribute("gender"))) { %>checked<% } %>>男
<input type="radio" name="gender" value="女" <% if("女".equals(request.getAttribute("gender"))) { %>checked<% } %>>女<br>
<label>年龄:</label>
<input type="text" name="age" value="<%= request.getAttribute("age") %>"><br>
<label>联系方式:</label>
<input type="text" name="contact" value="<%= request.getAttribute("contact") %>"><br>
<input type="submit" value="保存">
</form>
```
3. 在updateUser.jsp页面中处理用户提交的基本信息,并将其更新到数据库中,例如:
```java
String username = request.getParameter("username");
String password = request.getParameter("password");
String gender = request.getParameter("gender");
int age = Integer.parseInt(request.getParameter("age"));
String contact = request.getParameter("contact");
Connection con = null;
PreparedStatement ps = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
String sql = "UPDATE user SET password=?, gender=?, age=?, contact=? WHERE username=?";
ps = con.prepareStatement(sql);
ps.setString(1, password);
ps.setString(2, gender);
ps.setInt(3, age);
ps.setString(4, contact);
ps.setString(5, username);
int result = ps.executeUpdate();
if(result > 0) {
response.sendRedirect("profile.jsp");
} else {
response.sendRedirect("error.jsp");
}
} catch(Exception e) {
e.printStackTrace();
} finally {
try {
if(ps != null) {
ps.close();
}
if(con != null) {
con.close();
}
} catch(Exception e) {
e.printStackTrace();
}
}
```
在这个例子中,我们使用了JDBC来连接数据库并执行SQL语句,当更新成功时,将用户重定向到个人资料页面;否则,将用户重定向到错误页面。