日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

修改记录功能--jsp,servlet

發(fā)布時間:2024/9/21 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 修改记录功能--jsp,servlet 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

>>>接上篇:https://blog.csdn.net/hgnuxc_1993/article/details/123108586

一.分析

原理分析:

1.前端jsp頁面綁定該條需修改記錄的id,id值為${user.id},提交到查詢用戶的QueryUpdate中處理。

????????<a class="btn btn-default btn-sm" href="${pageContext.request.contextPath }/queryupdate?id=${user.id}">修改</a>

2.在findUserServlet中:

????????①獲取傳過來的id

? ? ? ? ②根據(jù)id來查詢用戶信息

? ? ? ? ③封裝用戶信息,并將該對象存到request域中

? ? ? ? ④跳轉(zhuǎn)update.jsp頁面,并把查詢的對應(yīng)的值寫入jsp頁面,使之顯示

? ? ? ? ⑤在update.jsp中,表單提交已經(jīng)修改后的用戶信息至UpdateUserServlet處理

(注意這里update.jsp頁面上,沒有輸入用戶的id信息,需要自己創(chuàng)建一個隱藏的input來傳遞用戶id值)

?3.在UpdateUserServlet中:

? ? ? ?①設(shè)置編碼

???????②獲取表單信息,并封裝成user對象(注意提交的input中所有name值需要與用戶的屬性名字對應(yīng)一致)

? ? ? ?③調(diào)用service層完成修改

? ? ? ?④修改后跳轉(zhuǎn)到UserListServlet中,重新查詢用戶信息

二.list.jsp頁面

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <!-- 網(wǎng)頁使用的語言 --> <html lang="zh-CN"> <head><!-- 指定字符集 --><meta charset="utf-8"><!-- 使用Edge最新的瀏覽器的渲染方式 --><meta http-equiv="X-UA-Compatible" content="IE=edge"><!-- viewport視口:網(wǎng)頁可以根據(jù)設(shè)置的寬度自動進(jìn)行適配,在瀏覽器的內(nèi)部虛擬一個容器,容器的寬度與設(shè)備的寬度相同。width: 默認(rèn)寬度與設(shè)備的寬度相同initial-scale: 初始的縮放比,為1:1 --><meta name="viewport" content="width=device-width, initial-scale=1"><!-- 上述3個meta標(biāo)簽*必須*放在最前面,任何其他內(nèi)容都*必須*跟隨其后! --><title>用戶信息管理系統(tǒng)</title><!-- 1. 導(dǎo)入CSS的全局樣式 --><link href="css/bootstrap.min.css" rel="stylesheet"><!-- 2. jQuery導(dǎo)入,建議使用1.9以上的版本 --><script src="js/jquery-2.1.0.min.js"></script><!-- 3. 導(dǎo)入bootstrap的js文件 --><script src="js/bootstrap.min.js"></script><style type="text/css">td, th {text-align: center;}</style><script type="text/javascript">function deluser(i) {//用戶安全提示if(confirm("您確定需要刪除嗎?")){location.href="${pageContext.request.contextPath }/delUserServlet?id="+i;}}window.onload=function(){//給刪除選中按鈕添加點(diǎn)擊事件document.getElementById("delselcted").onclick=function(){if(confirm("您確定刪除這些選項(xiàng)嗎?")){ //在刪除前給刪除添加保險//判斷選項(xiàng)中是否有被選上的,如果沒有的話不執(zhí)行刪除,否則沒有if會造成空指針異常var flag =false;var cbs=document.getElementsByName("uid"); //獲取所有的選項(xiàng)(包括選的,沒有選的)for(var i=0;i<cbs.length;i++){if(cbs[i].checked){ //一旦有被選的項(xiàng),就停止循環(huán)flag=true;break; }}if(flag){//一旦有被選的項(xiàng),就提交表單document.getElementById("form").submit(); //一旦刪除選中,首先創(chuàng)建一個表單,把所有信息提交給delselectedservlet處理}}}//一鍵全選,一鍵全不選//通過id獲取第一個全選項(xiàng)document.getElementById("firstcb").onclick=function(){var cbs=document.getElementsByName("uid");//遍歷下面所有的選項(xiàng)for(var i=0;i<cbs.length;i++){//設(shè)置cbs[i].checked的狀態(tài)與第一個firstcb.checked相同cbs[i].checked=this.checked;}}; }</script> </head> <body> <div class="container"><h3 style="text-align: center">用戶信息列表</h3><div style="float: left;"><form class="form-inline"><div class="form-group"><label for="exampleInputName2">姓名</label><input type="text" class="form-control" id="exampleInputName2" ></div><div class="form-group"><label for="exampleInputName3">籍貫</label><input type="text" class="form-control" id="exampleInputName3" ></div><div class="form-group"><label for="exampleInputEmail2">郵箱</label><input type="email" class="form-control" id="exampleInputEmail2" ></div><button type="submit" class="btn btn-default">查詢</button></form></div><div style="float: right; margin: 5px;"> <a class="btn btn-primary" href="${pageContext.request.contextPath }/add.jsp">添加聯(lián)系人</a><a class="btn btn-primary" href="javascript:void(0);" id="delselcted">刪除選中</a> </div><%--下面這個form表單是為了提交所有選擇的刪除項(xiàng) 至delselectedservlet至于delselectedservlet怎么獲得那個項(xiàng)被選中,可以首先設(shè)置表單提交,然后將input中checkbox欄,設(shè)name="id"使之該id的value=${user.id},最后通過表單提交給了delselectedservlet--%><form action="${pageContext.request.contextPath }/delselectedservlet" id="form" method="post"><table border="1" class="table table-bordered table-hover"><tr class="success"><th><input type="checkbox" id="firstcb"></th><th>編號</th><th>姓名</th><th>性別</th><th>年齡</th><th>籍貫</th><th>QQ</th><th>郵箱</th><th>操作</th></tr><c:forEach items="${list}" var="user" varStatus="s"><tr><td><input type="checkbox" name="uid" value="${user.id}"></td><td>${s.count}</td><td>${user.name}</td><td>${user.gender }</td><td>${user.age }</td><td>${user.address }</td><td>${user.qq }</td><td>${user.email }</td><td><a class="btn btn-default btn-sm" href="${pageContext.request.contextPath }/queryupdate?id=${user.id}">修改</a>&nbsp;<a class="btn btn-default btn-sm" href="javascript:deluser(${user.id});" >刪除</a></td></tr></c:forEach></table></form><div><nav aria-label="Page navigation"><ul class="pagination"><li><a href="#" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li><li><a href="#">1</a></li><li><a href="#">2</a></li><li><a href="#">3</a></li><li><a href="#">4</a></li><li><a href="#">5</a></li><li><a href="#" aria-label="Next"><span aria-hidden="true">&raquo;</span></a></li><span style="font-size: 25px;margin-left: 5px;">共16條記錄,共4頁</span></ul></nav></div> </div> </body> </html>

三.編寫QueryUpdate類

package web.servlet;import java.io.IOException;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 domain.User; import service.USerService; import service.UserServiceImpl;@WebServlet("/queryupdate") public class QueryUpdate extends HttpServlet{/*** */private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// TODO Auto-generated method stubthis.doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//1.獲取id參數(shù)String idString=req.getParameter("id");//2.通過id來查詢用戶的信息USerService uSerService=new UserServiceImpl();User user=uSerService.findUserById(idString);//3.將查詢的用戶信息,存儲到request域中req.setAttribute("user", user);//4.跳轉(zhuǎn)update.jsp頁面req.getRequestDispatcher("/update.jsp").forward(req, resp);}}

四.在service層中的UserService接口,UserServiceImpl實(shí)現(xiàn)類分別編寫findUserById抽象方法和findUserById具體實(shí)現(xiàn)方法。

package service; //user的業(yè)務(wù)接口import java.util.List;import domain.User;public interface USerService {//定義業(yè)務(wù)查詢抽象方法public List<User> findAll();public void addUser(User user);public void deluser(String id);public User findUserById(String idString);public void updateuser(User user);public void delselecteduser(String[] ids);} package service;import java.util.List;import dao.UserDao; import dao.UserDaoImpl; import domain.User;public class UserServiceImpl implements USerService{UserDao userDao=new UserDaoImpl();@Overridepublic List<User> findAll() {//調(diào)用dao,操作數(shù)據(jù)庫,查詢所有的用戶return userDao.findAll();}public void addUser(User user) {//調(diào)用添加用戶的方法userDao.addUser(user);}public void deluser(String id) {//刪除用戶信息userDao.deluser(Integer.parseInt(id)); //將參數(shù)變?yōu)檎麛?shù)}@Overridepublic User findUserById(String idString) {//通過id來查詢需要修改的用戶信息 return userDao.findUserById(Integer.parseInt(idString)); }@Overridepublic void updateuser(User user) {// 根據(jù)update.jsp中的用戶信息修改數(shù)據(jù)庫的用戶信息userDao.updateuser(user); }@Overridepublic void delselecteduser(String[] ids) {if(ids!=null&&ids.length>0) { //判斷是否有用戶被選中,防止空指針異常//根據(jù)id數(shù)組,刪除選中的用戶for(String id:ids) {//遍歷數(shù)組userDao.deluser(Integer.parseInt(id)); //參數(shù)轉(zhuǎn)換integer}} }}

?五.在Dao層中UserDao接口,UserDaoImpl實(shí)現(xiàn)類分別編寫抽象方findUserById法和findUserById具體實(shí)現(xiàn)方法。

package dao;import java.util.List;import domain.User;public interface UserDao {public List<User> findAll(); //抽象方法public void addUser(User user);public void deluser(int id); //根據(jù)整型的id來刪除用戶public User findUserById(int parseInt);public void updateuser(User user);}

package dao;import java.util.List;import javax.xml.transform.Templates;import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate;import domain.LoginUser; import domain.User; import utils.JDBCUtils;public class UserDaoImpl implements UserDao{JdbcTemplate jdbcTemplate =new JdbcTemplate(JDBCUtils.getDataSource());public List<User> findAll() {// 操作數(shù)據(jù)庫,查詢String sql="select * from user";List<User> users=jdbcTemplate.query(sql,new BeanPropertyRowMapper(User.class));return users;}public LoginUser checkLoginUser( LoginUser loginUser) {//查詢登錄用戶信息String sqlString="select* from loginuser where username=? and password=?";//System.out.println("111"+loginUser);try {LoginUser lu=(LoginUser) jdbcTemplate.queryForObject(sqlString, new BeanPropertyRowMapper<LoginUser>(LoginUser.class),loginUser.getUserName(),loginUser.getPassword());return lu;} catch (Exception e) {// TODO: handle exceptione.printStackTrace();return null;} }public void addUser(User user) {//調(diào)用添加用戶的方法,//使用sql語句String sql="insert into user values(null,?,?,?,?,?,?)";jdbcTemplate.update(sql,user.getName(),user.getGender(),user.getAge(),user.getAddress(),user.getQq(),user.getEmail());}@Overridepublic void deluser(int id) {//刪除用戶信息String sql="delete from user where id=?";jdbcTemplate.update(sql,id);}@Overridepublic User findUserById(int parseInt) {//根據(jù)id查詢用戶的信息String sql="select * from user where id=?";User user=jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper<User>(User.class),parseInt);return user; }@Overridepublic void updateuser(User user) {// 根據(jù)update.jsp中的用戶信息修改數(shù)據(jù)庫的用戶信息String sql="update user set name=?,gender=?,age=?,address=?,qq=?,email=? where id=?";jdbcTemplate.update(sql,user.getName(),user.getGender(),user.getAge(),user.getAddress(),user.getQq(),user.getEmail(),user.getId()); }}

六.根據(jù)id查詢需要修改用戶的信息后封裝該用戶,并存儲該用戶至request域中,然后跳轉(zhuǎn)到update.jsp頁面后,最后在頁面上展示這名需要修改的用戶信息。

(注意:根據(jù)id查詢需要修改用戶的信息后封裝該用戶,并存儲該用戶信息至request域中,然后跳轉(zhuǎn)到update.jsp頁面----是在QueryUpdate類完成的)

update.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <%@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><script language=javascript>//在添加頁面時返回查詢用戶頁面的按鈕window.onload=function(){document.getElementById("return").onclick=function(){location.href="${pageContext.request.contextPath }/userListServlet";}}//驗(yàn)證只能為數(shù)字function checkNumber(obj){var reg = /^[0-9]+$/;if(obj!=""&&!reg.test(obj)){alert('只能輸入數(shù)字!');return false;}}//驗(yàn)證年齡function checkAge(obj){var reg = /^[0-9]+$/;if((obj!=""&&!reg.test(obj))||(obj>120)){alert('只能輸入小于120的數(shù)字!');return false;}}//驗(yàn)證郵箱function checkEmail(obj){//對電子郵件的驗(yàn)證var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;if(!myreg.test(obj)){alert('請輸入有效的郵箱!');return false;}}</script></head><body><div class="container" style="width: 400px;"><h3 style="text-align: center;">修改聯(lián)系人</h3><form action="${pageContext.request.contextPath }/updateUserServlet" method="post"><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="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="checked"/>女</c:if></div><div class="form-group"><label for="age">年齡:</label><input type="text" class="form-control" id="age" name="age" value="${user.age }" onkeypress="checkAge(this.value)" placeholder="請輸入年齡"></div><div class="form-group"><label for="address">籍貫:</label><select name="address" class="form-control" id="jiguan"><c:if test="${user.address =='廣東' }"><option value="廣東" selected="selected">廣東</option><option value="廣西">廣西</option><option value="湖南">湖南</option><option value="北京">北京</option><option value="湖北">湖北</option><option value="江西">江西</option><option value="遼寧">遼寧</option><option value="吉林">吉林</option><option value="黑龍江">黑龍江</option><option value="河南">河南</option><option value="河北">河北</option><option value="新疆">新疆</option><option value="內(nèi)蒙古">內(nèi)蒙古</option><option value="西藏">西藏</option><option value="浙江">浙江</option><option value="江蘇">江蘇</option></c:if><c:if test="${user.address =='廣西' }"><option value="廣東" >廣東</option><option value="廣西" selected="selected">廣西</option><option value="湖南">湖南</option><option value="北京">北京</option><option value="湖北">湖北</option><option value="江西">江西</option><option value="遼寧">遼寧</option><option value="吉林">吉林</option><option value="黑龍江">黑龍江</option><option value="河南">河南</option><option value="河北">河北</option><option value="新疆">新疆</option><option value="內(nèi)蒙古">內(nèi)蒙古</option><option value="西藏">西藏</option><option value="浙江">浙江</option><option value="江蘇">江蘇</option></c:if><c:if test="${user.address =='湖北' }"><option value="廣東" >廣東</option><option value="廣西" selected="selected">廣西</option><option value="湖南">湖南</option><option value="北京">北京</option><option value="湖北" selected="selected">湖北</option><option value="江西">江西</option><option value="遼寧">遼寧</option><option value="吉林">吉林</option><option value="黑龍江">黑龍江</option><option value="河南">河南</option><option value="河北">河北</option><option value="新疆">新疆</option><option value="內(nèi)蒙古">內(nèi)蒙古</option><option value="西藏">西藏</option><option value="浙江">浙江</option><option value="江蘇">江蘇</option></c:if></select></div><div class="form-group"><label for="qq">QQ:</label><input type="text" class="form-control" name="qq" id="qq" value="${user.qq }" onkeyup="checkNumber(this.value)" placeholder="請輸入QQ號碼"/></div><div class="form-group"><label for="email">Email:</label><input type="text" class="form-control" name="email" id="email" value="${user.email }" onblur="checkEmail(this.value)" 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="返回" id="return" /></div></form></div></body> </html>

?七.展示需要修改的用戶信息后,將修改后的用戶信息提交給UpdateUserServlet處理

(注意:展示頁面中沒有用戶id的值,我們需要添加一個隱藏input ,id=${user.id}來傳遞給UpdateUserServlet,構(gòu)成一個完整的用戶信息)

package web.servlet;import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.util.Map;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 org.apache.commons.beanutils.BeanUtils;import domain.User; import service.USerService; import service.UserServiceImpl; @WebServlet("/updateUserServlet") public class UpdateUserServlet extends HttpServlet {/*** */private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// TODO Auto-generated method stubthis.doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//1.設(shè)置編碼req.setCharacterEncoding("utf-8");//2.獲取前端的用戶信息User user=new User();Map<String , String[]> pMap=req.getParameterMap();//3.封裝對象try {BeanUtils.populate(user, pMap);} catch (IllegalAccessException | InvocationTargetException e) {// TODO Auto-generated catch blocke.printStackTrace();}//4.調(diào)用service函數(shù)USerService uSerService=new UserServiceImpl();uSerService.updateuser(user);//5.跳轉(zhuǎn)所有的查詢的updateListServlet中resp.sendRedirect(req.getContextPath()+"/userListServlet");}}

? ?八.在service層中的UserService接口,UserServiceImpl實(shí)現(xiàn)類分別編寫updateuser抽象方法和updateuser具體實(shí)現(xiàn)方法。

package service; //user的業(yè)務(wù)接口import java.util.List;import domain.User;public interface USerService {//定義業(yè)務(wù)查詢抽象方法public List<User> findAll();public void addUser(User user);public void deluser(String id);public User findUserById(String idString);public void updateuser(User user);public void delselecteduser(String[] ids);} package service;import java.util.List;import dao.UserDao; import dao.UserDaoImpl; import domain.User;public class UserServiceImpl implements USerService{UserDao userDao=new UserDaoImpl();@Overridepublic List<User> findAll() {//調(diào)用dao,操作數(shù)據(jù)庫,查詢所有的用戶return userDao.findAll();}public void addUser(User user) {//調(diào)用添加用戶的方法userDao.addUser(user);}public void deluser(String id) {//刪除用戶信息userDao.deluser(Integer.parseInt(id)); //將參數(shù)變?yōu)檎麛?shù)}@Overridepublic User findUserById(String idString) {//通過id來查詢需要修改的用戶信息 return userDao.findUserById(Integer.parseInt(idString)); }@Overridepublic void updateuser(User user) {// 根據(jù)update.jsp中的用戶信息修改數(shù)據(jù)庫的用戶信息userDao.updateuser(user); }@Overridepublic void delselecteduser(String[] ids) {if(ids!=null&&ids.length>0) { //判斷是否有用戶被選中,防止空指針異常//根據(jù)id數(shù)組,刪除選中的用戶for(String id:ids) {//遍歷數(shù)組userDao.deluser(Integer.parseInt(id)); //參數(shù)轉(zhuǎn)換integer}} }}

九.在Dao層中UserDao接口,UserDaoImpl實(shí)現(xiàn)類分別編寫updateuser抽象方法和updateuser具體實(shí)現(xiàn)方法。

package dao;import java.util.List;import domain.User;public interface UserDao {public List<User> findAll(); //抽象方法public void addUser(User user);public void deluser(int id); //根據(jù)整型的id來刪除用戶public User findUserById(int parseInt);public void updateuser(User user);} package dao;import java.util.List;import javax.xml.transform.Templates;import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate;import domain.LoginUser; import domain.User; import utils.JDBCUtils;public class UserDaoImpl implements UserDao{JdbcTemplate jdbcTemplate =new JdbcTemplate(JDBCUtils.getDataSource());public List<User> findAll() {// 操作數(shù)據(jù)庫,查詢String sql="select * from user";List<User> users=jdbcTemplate.query(sql,new BeanPropertyRowMapper(User.class));return users;}public LoginUser checkLoginUser( LoginUser loginUser) {//查詢登錄用戶信息String sqlString="select* from loginuser where username=? and password=?";//System.out.println("111"+loginUser);try {LoginUser lu=(LoginUser) jdbcTemplate.queryForObject(sqlString, new BeanPropertyRowMapper<LoginUser>(LoginUser.class),loginUser.getUserName(),loginUser.getPassword());return lu;} catch (Exception e) {// TODO: handle exceptione.printStackTrace();return null;} }public void addUser(User user) {//調(diào)用添加用戶的方法,//使用sql語句String sql="insert into user values(null,?,?,?,?,?,?)";jdbcTemplate.update(sql,user.getName(),user.getGender(),user.getAge(),user.getAddress(),user.getQq(),user.getEmail());}@Overridepublic void deluser(int id) {//刪除用戶信息String sql="delete from user where id=?";jdbcTemplate.update(sql,id);}@Overridepublic User findUserById(int parseInt) {//根據(jù)id查詢用戶的信息String sql="select * from user where id=?";User user=jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper<User>(User.class),parseInt);return user; }@Overridepublic void updateuser(User user) {// 根據(jù)update.jsp中的用戶信息修改數(shù)據(jù)庫的用戶信息String sql="update user set name=?,gender=?,age=?,address=?,qq=?,email=? where id=?";jdbcTemplate.update(sql,user.getName(),user.getGender(),user.getAge(),user.getAddress(),user.getQq(),user.getEmail(),user.getId()); }}

十.修改成功后,重新跳轉(zhuǎn)到查詢所有用戶的頁面

? ? ?resp.sendRedirect(req.getContextPath()+"/userListServlet");? (在步驟7中最后重新跳回到查詢所有的servlet)】

其他:

*修改某條記錄時,客戶端需要綁定該記錄的id,

*然后根據(jù)該id,查找到該條記錄詳細(xì)信息,

*封裝該記錄后存儲到request域后

*跳轉(zhuǎn)顯示該條需要修改的信息

*提交已修改的信息

*與數(shù)據(jù)庫進(jìn)行操作,在數(shù)據(jù)中通過用戶id,修改該用戶信息

*重新跳轉(zhuǎn)查詢所有的用戶信息

總結(jié)

以上是生活随笔為你收集整理的修改记录功能--jsp,servlet的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。