一、后端Servlet
1.1、在UserDAO中添加根据id获取用户信息的方法
public User selectById(int id) {
String sql = "select * from t_user where id="+id;
ResultSet rs = this.executeQuery(sql);
User user = new User();
try {
if(rs.next()){
user.setId(rs.getInt("id"));
user.setUserName(rs.getString("user_name"));
user.setPasswd(rs.getString("passwd"));
user.setNickName(rs.getString("nick_name"));
user.setSex(rs.getInt("sex"));
user.setPhone(rs.getString("phone"));
user.setImg(rs.getString("img"));
user.setBirth(rs.getString("birth"));
}
this.closeAll();//释放资源
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return user;
1.2、创建UserGetServlet
查询dao根据id获取用户信息
UserGetServlet源代码
package controller;
import com.alibaba.fastjson.JSON;
import dao.UserDAO;
import dao.UserDAOImpl;
import entity.User;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet("/user_info")
public class UserGetServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置编码集,解决中文乱码问题
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
resp.setContentType("application/json;charset=utf8");
//获取打印输出流,向网页输出内容
PrintWriter writer = resp.getWriter();
//获取请求传递的参数值
int id = Integer.parseInt(req.getParameter("id"));
//查询dao根据id获取用户信息
UserDAO dao = new UserDAOImpl();
User user = dao.selectById(id);
//
String json = JSON.toJSONString(user);
//
writer.print(json);
//释放资源
writer.close();
}
}
二、前端HTML
2.1、给table中的修改按钮绑定点击事件
重点:在用户管理HTML里的修改按钮;注意:(u.id)必须要写
2.2、新增user_update.html页面
注意:直接复制添加用户的HTML页面过来就行
需要更改几个点,具体看下图
2.3、在绑定的修改函数中,跳转到user_update.html
跳转页面时将用户id传递到user_update.html中 注意:此操作在用户管理HTML内写
2.4、在user_update.html中通过axios根据id回显用户信息