商品信息的添加和删除

EL表达式获取作用域对象的顺序是: pageContext(当前页面)、request(请求间)、session(当前会话)、application(应用程序);

pageContext只能当前页面定义数据,当前页面使用;
request后端程序和页面有请求关系,则数据可以共享;
session是当前会话有效(同一个人使用同一个浏览器在任何页面都可以数据共享);l

商品信息的添加

1.编写前端主页信息,使添加商品时跳转到另一个页面
2.在表单中填写添加的信息内容后将表单提交到服务器进行jdbc的查询代码
3.进行服务器的添加操作,调用新增的jdbc操作

规范模板截图

代码如下:

<%@ page import="java.util.List" %>
<%@ page import="com.wang.bean.Goods" %><%--
  Created by IntelliJ IDEA.
  User: 一只理智的龙
  Date: 2023/2/18
  Time: 17:03
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>主页</title>
</head>
<body>
<!-- 在页面导入jstl的核心 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<h2>欢迎来自${user.address}的${user.username}到主页</h2>
<table>
    <a href="addGoods.jsp">添加商品</a>
    <thead>
    <tr>
        <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="del?gid=${goods.gid}">删除</a>
            </td>
            <td>
                <a href="udate?gid=${goods.gid}">修改</a>
            </td>

        </tr>
    </c:forEach>
    </tbody>

<%--<%--%>
<%--    HttpSession session1 = request.getSession();--%>
<%--    List<Goods> goodsList = (List<Goods>) session1.getAttribute("goodsList");--%>
<%--    for (Goods goods : goodsList) {--%>
<%--%>--%>
<%--<tr>--%>
<%--    <td><%=goods.getGid()%>--%>
<%--    </td>--%>
<%--    <td><%=goods.getGname()%>--%>
<%--    </td>--%>
<%--    <td><%=goods.getPrice()%>--%>
<%--    </td>--%>
<%--    <td><%=goods.getMark()%>--%>
<%--    </td>--%>
<%--</tr>--%>
<%--<%--%>
<%--    }--%>
<%--%>--%>
</table>
</body>
</html>
<%--
  Created by IntelliJ IDEA.
  User: 一只理智的龙
  Date: 2023/2/23
  Time: 12:19
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>添加商品</title>
</head>
<body>
<form action="addgoods" method="post">
    商品名称:<input type="text" name="gname" value=""><br/>
    商品价格:<input type="number" step="0.01" name="price" value=""><br/>
    商品信息:<textarea name="mark"></textarea><br/>
    <input type="submit" value="添加商品">
</form>
</body>
</html>

dao代码

package com.wang.dao.impl;
import com.wang.bean.Goods;
import com.wang.bean.User;
import com.wang.util.JDBCUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Insertdao {
    private Connection con = null;
    private PreparedStatement ps=null;
    private ResultSet rs=null;
    public Boolean doInsert(User user) throws  SQLException {
        Boolean bool = null;
        //加载驱动
        con = JDBCUtil.getCon();
        //创建sql语句
        String sql = "insert into t_user(username,password) values(?,?)";
        //获取sql语句
        PreparedStatement ps = con.prepareStatement(sql);
        //传参
        ps.setObject(1, user.getUsername());
        ps.setObject(2, user.getPassword());
        int i = ps.executeUpdate();
        if (i > 0) {
            bool = true;
        } else {
            bool = false;
        }
        //关闭数据
        JDBCUtil.close(ps,con);
        return bool;
    }

    public Boolean addGoods(Goods goods) throws SQLException {
        Boolean bool=null;
        con = JDBCUtil.getCon();
        //创建sql语句
        String sql = "insert into t_goods(gid,gname,price,mark) values(?,?,?,?)";
        //获取sql语句
        ps = con.prepareStatement(sql);
        //传参
        ps.setObject(1, goods.getGid());
        ps.setObject(2, goods.getGname());
        ps.setObject(3, goods.getPrice());
        ps.setObject(4, goods.getMark());
        int i = ps.executeUpdate();
        if (i > 0) {
            bool = true;
        } else {
            bool = false;
        }
        //关闭数据
        JDBCUtil.close(ps,con);
        return bool;
    }
}

servlet中的代码

package com.wang.servlet;

import com.wang.bean.Goods;
import com.wang.dao.impl.Insertdao;

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.sql.SQLException;

@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 IOException, ServletException {
        //1.编写代码的格式
        req.setCharacterEncoding("utf-8");
        resp.setCharacterEncoding("utf-8");
        System.out.println("hhhh");
        //2.获取添加商品的信息
        Goods goods=null;
        goods=new Goods();
        goods.setGname(req.getParameter("gname"));
        goods.setPrice(Double.parseDouble(req.getParameter("price")));
        goods.setMark(req.getParameter("mark"));
        System.out.println(goods);

        //3.请求
        Boolean bool = null;
        //4.调用jdbc新增数据的方法进行操作
        Insertdao insertdao = new Insertdao();
        try {
             bool = insertdao.addGoods(goods);
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (bool!=false){
            req.getRequestDispatcher("GoodsSelectAll").forward(req,resp);
        }else{
            req.setAttribute("error","添加出现了问题");
            req.getRequestDispatcher("error1.jsp").forward(req,resp);
        }
    }
}

二、商品的删除操作

package com.wang.servlet;

import com.wang.bean.Goods;
import com.wang.dao.impl.Deletedao;
import com.wang.dao.impl.Insertdao;
import com.wang.dao.impl.Selectdao;

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 DelectGoods 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 {
        //1.编写代码的格式
        req.setCharacterEncoding("utf-8");
        resp.setCharacterEncoding("utf-8");
        //2.获取添加商品的信息
        int gid = Integer.parseInt(req.getParameter("gid"));
        //3.请求
        Boolean bool = null;
        //4.调用jdbc新增数据的方法进行操作
        Deletedao deletedao = new Deletedao();
        try {
            bool = deletedao.delectGoods(gid);
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (bool != false) {
            req.getRequestDispatcher("GoodsSelectAll").forward(req, resp);
        } else {
            req.setAttribute("error", "添加出现了问题");
            req.getRequestDispatcher("error1.jsp").forward(req, resp);
        }
    }
}
package com.wang.dao.impl;

import com.wang.bean.Goods;
import com.wang.util.JDBCUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Deletedao {
    private Connection con = null;
    private PreparedStatement ps=null;
    private ResultSet rs=null;
    public Boolean delectGoods(int gid) throws SQLException {
        Boolean bool=null;
        con = JDBCUtil.getCon();
        //创建sql语句
        String sql = "delete from t_goods where gid=?";
        //获取sql语句
        ps = con.prepareStatement(sql);
        //传参
        ps.setObject(1,gid);
        int i = ps.executeUpdate();
        if (i > 0) {
            bool = true;
        } else {
            bool = false;
        }
        //关闭数据
        JDBCUtil.close(ps,con);
        return bool;
    }
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值