需求:添加商品信息和删除商品信息
添加业务逻辑:
1.在主页加上添加商品的a标签,然后编写录入商品信息的页面,可以跳转;
2.登录成功后,进入主页点击添加商品跳转到商品信息添加页,添加完成后点击提交;
3.然后进入AddGoods类编写,在此之前要在GoodsDao类中编写添加方法
4.servlet服务器操作
删除业务逻辑:
1.删除无需跳转,在主页添加删除的a标签
2.然后进入DelGoods类编写,在此之前要在GoodsDao类中编写删除方法
3.servlet服务器操作
zhuye.jsp页面
<!--在页面导入jstl的核心类库 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title>主页!</title>
</head>
<body>
<h2>欢迎来到主页!</h2>
<a href="addGoods.jsp">添加商品</a>
<table>
<thead>
<tr>
<th>商品编号</th>
<th>商品名称</th>
<th>商品价格</th>
<th>商品说明</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${goodsList}" var="goods">
<tr>
<td>${goods.gid}</td>
<td>${goods.gname}</td>
<td>${goods.price}</td>
<td>${goods.mark}</td>
<td>
<a href="findById?gid=${goods.gid}">修改</a>
<a href="del?gid=${goods.gid}">删除</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</body>
</html>
addGoods.jsp页面
<html>
<head>
<title>商品信息添加</title>
</head>
<body>
<h2>商品信息录入</h2>
<form action="addGoods" method="post">
商品名称:<input type="text" name="gname" value="" placeholder="商品名称"><br/>
商品价格:<input type="number" name="price" step="0.01" value="" placeholder="商品价格"><br/>
商品说明:<input type="text" name="mark" value="" placeholder="商品说明"><br/>
<input type="submit" value="提交">
</form>
</body>
</html>
GoodsDao.java页面
编写JDBC新增操作的add方法
public int add(Goods goods) {
try {
Class.forName(driver);
con= DriverManager.getConnection(url,user,password);
String sql="insert into t_goods (gname,price,mark) values(?,?,?)";
ps= con.prepareStatement(sql);
ps.setObject(1,goods.getGname());
ps.setObject(2,goods.getPrice());
ps.setObject(3,goods.getMark());
row=ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (ps!=null){
ps.close();
}
if (con!=null){
con.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
return row;
}
编写JDBC删除操作的deleteById方法
public int deleteById(int gid) {
try {
Class.forName(driver);
con= DriverManager.getConnection(url,user,password);
String sql="delete from t_goods where gid=?";
ps=con.prepareStatement(sql);
ps.setObject(1,gid);
row=ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (ps!=null){
ps.close();
}
if (con!=null){
con.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
return row;
}
AddGoods.java页面
设置编码格式;传参;调用方法;请求转发执行查询所有商品信息,跳转到主页面进行信息展示
package com.su.servlet;
import com.su.Bean.Goods;
import com.su.dao.GoodDao;
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("/addGoods")
public class AddGoods extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");//设置响应的编码格式
Goods goods=new Goods();
goods.setGname(req.getParameter("gname"));
goods.setPrice(Double.parseDouble(req.getParameter("price")));
goods.setMark(req.getParameter("mark"));
GoodDao goodsDao=new GoodDao();
int row=goodsDao.add(goods);
if(row>0){
req.getRequestDispatcher("selectAllGoods").forward(req,resp);
}else{
req.setAttribute("error_msg","添加商品信息失败!");
req.getRequestDispatcher("error.jsp").forward(req,resp);
}
}
}
6号商品添加成功
DelGoods.java页面
传参;调用方法;请求转发执行查询所有商品信息,跳转到主页面进行信息展示
package com.su.servlet;
import com.su.dao.GoodDao;
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("/del")
public class DelGoods extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int gid=Integer.parseInt(req.getParameter("gid"));
//根据id执行数据库的删除
GoodDao goodDao=new GoodDao();
int row=goodDao.deleteById(gid);
if (row>0){
req.getRequestDispatcher("selectAllGoods").forward(req,resp);
}else{
req.setAttribute("error_msg","删除出现了问题");
req.getRequestDispatcher("error.jsp").forward(req,resp);
}
}
}
5号商品删除成功