页面代码:
然后布局代码:
请求代码
@WebServlet("/addGoods")
public class AddGoods extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
Goods goods=new Goods();
goods.setGname(request.getParameter("gname"));
goods.setPrice(Double.parseDouble(request.getParameter("price")));
goods.setMark(request.getParameter("mark"));
GoogsDao goods1=new GoogsDao();
int row=goods1.AddGoods(goods);
if (row>0){
request.getRequestDispatcher("selectAllGoods").forward(request,response);
}else{
request.setAttribute("error_msg","添加商品信息失败");
request.getRequestDispatcher("error.jsp").forward(request,response);
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
受影响的行数有数据后会再次发送查询请求(刷新)
@WebServlet("/selectAllGoods")
public class SelectAllGoods extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
System.out.println("SelectAllGoods....oPost");
//去查询数据库中商品信息表的数据
GoogsDao goods=new GoogsDao();
List<Goods> goodslist = goods.selectAll();
System.out.println(goodslist);
//如果把商品信息传输到页面中进行展示---此处借助Httpsession 传输数据
HttpSession session=request.getSession();//获HttpSession对
//把查询到商品信息集合储在到session 对象中,怎名w/daoodslist
session.setAttribute("goodsList",goodslist);
response.sendRedirect("zhuye.jsp");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
点击删除,会直接发送请求地址
@WebServlet("/del")
public class DelGoods extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int gid=Integer.parseInt(req.getParameter("gid"));
GoogsDao goods1=new GoogsDao();
int row=goods1.DelGoods(gid);
if (row>0){
req.getRequestDispatcher("selectAllGoods").forward(req,resp);
}else{
req.setAttribute("error_msg","添加商品信息失败");
req.getRequestDispatcher("error.jsp").forward(req,resp);
}
}
}
GoodsDao中的数据库代码
package com.chen.dao.impl;
import com.chen.bean.Goods;
import com.chen.util.JDBCUtil;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class GoogsDao {
private static String driver = "com.mysql.cj.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC";
private static String user = "root";
private static String password = "root";
private Connection con = null;//数据库链接对象
private PreparedStatement pstm = null;//预处理对象
private ResultSet rs = null;//结果集对象
private int row = 0;//增删改受影响的行为
public List<Goods> selectAll() {
List<Goods> goodsList = new ArrayList<>();
try {
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
String sql = "select*from t_goods";
pstm = con.prepareStatement(sql);
rs = pstm.executeQuery();
while (rs.next()) {
Goods goods = new Goods();
goods.setGid(rs.getInt("gid"));
goods.setGname(rs.getString("gname"));
goods.setPrice(rs.getDouble("price"));
goods.setMark(rs.getString("mark"));
goodsList.add(goods);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtil.close(rs,pstm,con);
}
return goodsList;
}
public int AddGoods(Goods goods){
int n=0;
try{
//加载驱动包
con = JDBCUtil.getCon();
//编写sql语句
String sql="insert into t_goods(gname,price,mark) values(?,?,?)";
//获取预处理对象
pstm = con.prepareStatement(sql);
//传参
pstm.setObject(1,goods.getGname());
pstm.setObject(2,goods.getPrice());
pstm.setObject(3,goods.getMark());
//执行sql语句
n= pstm.executeUpdate();
}catch (Exception e){
e.printStackTrace();
}finally {
JDBCUtil.close(pstm, con);
}
return n;
}
public int DelGoods(int gid){
int n=0;
try{
//加载驱动包
con = JDBCUtil.getCon();
//编写sql语句
String sql="delete from t_goods where gid=?";
//获取预处理对象
pstm = con.prepareStatement(sql);
//传参
pstm.setObject(1,gid);
//执行sql语句
n= pstm.executeUpdate();
}catch (Exception e){
e.printStackTrace();
}finally {
JDBCUtil.close(pstm, con);
}
return n;
}
}
最后成果:
添加成功: