三,修改信息
查看图片了解业务逻辑
回显
servlet层
package cn. itcast. web. servlet;
import cn. itcast. domain. User;
import cn. itcast. 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 {
String id = request. getParameter ( "id" ) ;
UserServiceImpl service = new UserServiceImpl ( ) ;
User user= service. findbyid ( id) ;
request. setAttribute ( "user" , user) ;
request. getRequestDispatcher ( "/update.jsp" ) . forward ( request, response) ;
}
protected void doGet ( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost ( request, response) ;
}
}
service层
User findbyid ( String id) ;
@Override
public User findbyid ( String id) {
return dao. findById ( Integer. parseInt ( id) ) ;
}
dao层
@Override
public User findById ( int id) {
String sql = "select * from user where id = ?" ;
return template. queryForObject ( sql, new BeanPropertyRowMapper < User> ( User. class ) , id) ;
}
前端回显update.jsp
< % @ page contentType= "text/html;charset=UTF-8" language= "java" % >
< % @taglib prefix= "c" uri= "http://java.sun.com/jsp/jstl/core" % >
< ! DOCTYPE html>
< ! -- 网页使用的语言 -- >
< html lang= "zh-CN" >
< head>
< ! -- 指定字符集 -- >
< meta charset= "utf-8" >
< meta http- equiv= "X-UA-Compatible" content= "IE=edge" >
< meta name= "viewport" content= "width=device-width, initial-scale=1" >
< title> 修改用户< / title>
< link href= "css/bootstrap.min.css" rel= "stylesheet" >
< script src= "js/jquery-2.1.0.min.js" > < / script>
< script src= "js/bootstrap.min.js" > < / script>
< / head>
< body>
< div class = "container" style= "width: 400px;" >
< h3 style= "text-align: center;" > 修改联系人< / h3>
< form action= "${pageContext.request.contextPath}/updateUserServlet" method= "post" >
< ! -- 隐藏域 提交id-- >
< input type= "hidden" name= "id" value= "${user.id}" >
< div class = "form-group" >
< label for = "name" > 姓名:< / label>
< input type= "text" class = "form-control" id= "name" name= "name" value= "${user.name}" readonly= "readonly" placeholder= "请输入姓名" / >
< / div>
< div class = "form-group" >
< label> 性别:< / label>
< c: if test= "${user.gender == '男'}" >
< input type= "radio" name= "gender" value= "男" checked / > 男
< input type= "radio" name= "gender" value= "女" / > 女
< / c: if >
< c: if test= "${user.gender == '女'}" >
< input type= "radio" name= "gender" value= "男" / > 男
< input type= "radio" name= "gender" value= "女" checked / > 女
< / c: if >
< / div>
< div class = "form-group" >
< label for = "age" > 年龄:< / label>
< input type= "text" class = "form-control" value= "${user.age}" id= "age" name= "age" placeholder= "请输入年龄" / >
< / div>
< div class = "form-group" >
< label for = "address" > 籍贯:< / label>
< select name= "address" id= "address" class = "form-control" >
< c: if test= "${user.address == '陕西'}" >
< option value= "陕西" selected> 陕西< / option>
< option value= "北京" > 北京< / option>
< option value= "上海" > 上海< / option>
< / c: if >
< c: if test= "${user.address == '北京'}" >
< option value= "陕西" > 陕西< / option>
< option value= "北京" selected> 北京< / option>
< option value= "上海" > 上海< / option>
< / c: if >
< c: if test= "${user.address == '上海'}" >
< option value= "陕西" > 陕西< / option>
< option value= "北京" > 北京< / option>
< option value= "上海" selected> 上海< / option>
< / c: if >
< / select>
< / div>
< div class = "form-group" >
< label for = "qq" > QQ:< / label>
< input type= "text" id= "qq" class = "form-control" value= "${user.qq}" name= "qq" placeholder= "请输入QQ号码" / >
< / div>
< div class = "form-group" >
< label for = "email" > Email:< / label>
< input type= "text" id= "email" class = "form-control" value= "${user.email}" name= "email" placeholder= "请输入邮箱地址" / >
< / div>
< div class = "form-group" style= "text-align: center" >
< input class = "btn btn-primary" type= "submit" value= "提交" / >
< input class = "btn btn-default" type= "reset" value= "重置" / >
< input class = "btn btn-default" type= "button" value= "返回" / >
< / div>
< / form>
< / div>
< / body>
< / html>
修改
servlet
UpdateUserServlet
package cn. itcast. web. servlet;
import cn. itcast. domain. User;
import cn. itcast. service. UserService;
import cn. itcast. service. impl. UserServiceImpl;
import org. apache. commons. beanutils. BeanUtils;
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. lang. reflect. InvocationTargetException;
import java. util. Map;
@WebServlet ( "/updateUserServlet" )
public class UpdateUserServlet extends HttpServlet {
protected void doPost ( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request. setCharacterEncoding ( "utf-8" ) ;
Map< String, String[ ] > map = request. getParameterMap ( ) ;
User user = new User ( ) ;
try {
BeanUtils. populate ( user, map) ;
} catch ( IllegalAccessException e) {
e. printStackTrace ( ) ;
} catch ( InvocationTargetException e) {
e. printStackTrace ( ) ;
}
UserService service = new UserServiceImpl ( ) ;
service. updateUser ( user) ;
response. sendRedirect ( request. getContextPath ( ) + "/userListServlet" ) ;
}
protected void doGet ( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this . doPost ( request, response) ;
}
}
service
void updateUser ( User user) ;
@Override
public void updateUser ( User user) {
dao. update ( user) ;
}
dao层`
@Override
public void update ( User user) {
String sql = "update user set name = ?,gender = ? ,age = ? , address = ? , qq = ?, email = ? where id = ?" ;
template. update ( sql, user. getName ( ) , user. getGender ( ) , user. getAge ( ) , user. getAddress ( ) , user. getQq ( ) , user. getEmail ( ) , user. getId ( ) ) ;
}