修改思维逻辑:
两步:1.数据的回显;2.数据的更新
1.点击修改跳转到servlet,后端根据id查询到该商品的信息;
2.把商品信息添加到request作用域中请求转发到信息展示页面;
3.用户根据需求修改表单中的字段,重新提交表单;
4.编写后端servlet获取用户最新修订的商品信息,执行数据库的修改操作;
5.重新请求查询所有商品,跳转到商品信息主页;
zhuye.jsp页面:添加修改a标签
showGoods.jsp页面:编写商品修改页面
<html>
<head>
<title>商品信息修改</title>
</head>
<body>
<h2>商品信息修改</h2>
<form action="updateGoods" method="post">
商品编号:<input type="text" name="gid" value="${goods.gid}" readonly="readonly" placeholder="商品编号"><br/>
商品名称:<input type="text" name="gname" value="${goods.gname}" placeholder="商品名称"><br/>
商品价格:<input type="number" name="price" step="0.01" value="${goods.price}" placeholder="商品价格"><br/>
商品说明:<input type="text" name="mark" value="${goods.mark}" placeholder="商品说明"><br/>
<input type="submit" value="修改">
</form>
</body>
</html>
GoodsDao.java页面:1.添加selectById()方法执行JDBC查询操作
public Goods selectById(int gid) {
Goods goods = null;
try {
//加载驱动
Class.forName(driver);
//获取连接
con = DriverManager.getConnection(url, user, password);
//编写sql语句
String sql = "select * from t_goods where gid = ?";
ps = con.prepareStatement(sql);
ps.setObject(1,gid);
rs = ps.executeQuery();
if (rs.next()) {
goods = new Goods();
goods.setGid(rs.getInt("gid"));
goods.setGname(rs.getString("gname"));
goods.setPrice(rs.getDouble("price"));
goods.setMark(rs.getString("mark"));
}
} catch (E