为list界面添加一个修改按钮的功能
分析:
1. 点击修改按钮,跳转到FindUserServlet,首先获取其id
2. 根据其id调用service层的findUserById方法,并且将获取到的user对象存入request,并且将request转发给update.jsp页面
3. service调用dao层的findUserById方法,方法内部查找id值对应的记录,调用方法查找数据库中值,返回user对象
代码:
servlet层
FindUserServlet
package zr.web.userlist.web.Servlet;
import zr.web.userlist.domain.User;
import zr.web.userlist.service.UserService;
import zr.web.userlist.service.impl.UserServiceImpl;
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;
@WebServlet("/findUserServlet")
public class FindUserServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1. 获取id
String id = request.getParameter("id");
//2. Service实现类查询
UserService service=new UserServiceImpl();
User user=service.findUserById(id);
//3. 将user存入request
request.setAttribute("user",user);
//4. 转发到update.jsp
request.getRequestDispatcher("/update.jsp").forward(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
service层
UserService接口添加下面方法
/**
* 根据id查询用户
* @return
* @param id
*/
User findUserById(String id);
UserServiceImpl实现方法
@Override
public User findUserById(String id) {
return dao.findUserById(Integer.parseInt(id));
}
dao层
UserDao接口
/**
* 根据id来查询user
* @param parseInt
* @return
*/
User findUserById(int parseInt);
UserDaoImpl
@Override
public User findUserById(int id) {
String sql="select * from user where id=?";
return template.queryForObject(sql,new BeanPropertyRowMapper<User>(User.class),id);
}