Complete JDBC login and registration operations

1. First connect to the database, build a database in the database, and build a table.

#判断存在即删除数据库
drop database if exists mydb;
#创建数据库
create database mydb;
#使用数据库
use mydb;


#创建表
create table t_user
(
    uid int primary key auto_increment,
    username varchar(20),
    password varchar(20),
    phone varchar(11),
    address varchar(50)
);


insert into t_user(username,password,phone,address) values('张三','666','18965423548','南阳');
insert into t_user(username,password,phone,address) values('李四','333','18754263548','许昌');
insert into t_user(username,password,phone,address) values('小美','123','18565234759','信阳');

select * from t_user where username=? and password=?
select * from t_user;


create table t_goods
(
    gid int primary key auto_increment,
    gname varchar(20),
    price double,
    mark varchar(100)
);

insert into t_goods(gname,price,mark) values('泡面',4.5,'够香够辣就是这个味!');
insert into t_goods(gname,price,mark) values('火腿',8.5,'肉质细腻Q弹!');
insert into t_goods(gname,price,mark) values('雪碧',3.5,'清爽冰凉随心爽!');

select * from t_goods;

2. Create entity classes of two tables in IDEA

package bean;

public class Goods {
    private String gid;
    private String gname;
    private Double price;
    private String mark;

    public String getgid() {
        return gid;
    }

    public void setGid(String gid) {
        this.gid = gid;
    }

    public String getgname() {
        return gname;
    }

    public void setGname(String gname) {
        this.gname = gname;
    }

    public Double price() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public String getmark() {
        return mark;
    }

    public void setMark(String mark) {
        this.mark = mark;
    }

    @Override
    public String toString() {
        return "Goods{" +
                "gid='" + gid + '\'' +
                ", gname='" + gname + '\'' +
                ", price='" + price + '\'' +
                ", mark='" + mark + '\'' +
                '}';
    }
}
package bean;

public class User {
    private Integer uid;
    private String username;
    private String password;
    private String phone;
    private String address;

    public Integer uid() {
        return uid;
    }

    public void setUid(Integer uid) {
        this.uid = uid;
    }

    public String getusername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getpassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getphone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getaddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "User{" +
                "uid=" + uid +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", phone='" + phone + '\'' +
                ", address='" + address + '\'' +
                '}';
    }
}

3. Create to log in, go to the registration page

<html>
  <head>
    <title>欢迎访问web网页</title>
  </head>
  <body>
  <h>欢迎访问web网页</h>
  <a href="login.jsp">去登录</a><br>
  <a href="zhuce.jsp">去注册</a><br>
  </body>
</html>

4. Establish a registration and login mapping in web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <!--    配置servlet类;-->
    <servlet>
        <!--        起别名-->
        <servlet-name>login</servlet-name>
        <!--        servlet类所在位置-->
        <servlet-class>bean.Login</servlet-class>
    </servlet>
    <!--    servlet类的映射-->
    <servlet-mapping>
        <servlet-name>login</servlet-name>
        <url-pattern>/Login</url-pattern>
    </servlet-mapping>
    <!--    配置servlet类;-->
    <servlet>
        <!--        起别名-->
        <servlet-name>zhuce</servlet-name>
        <!--        servlet类所在位置-->
        <servlet-class>bean.ZhuCe</servlet-class>
    </servlet>
    <!--    servlet类的映射-->
    <servlet-mapping>
        <servlet-name>zhuce</servlet-name>
        <url-pattern>/zhuce</url-pattern>

    </servlet-mapping>

</web-app>

5. Build a login page and registration page

login page:

<%--
  Created by IntelliJ IDEA.
  User: Lenovo
  Date: 2023/2/14
  Time: 11:00
  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="Login" method="post">
    账号:<input type="text" name="username" value=""><br>
    密码:<input type="password" name="password" value=""><br>
    <input type="submit" value="登录">
</form>
</body>
</html>

registration page:

<%--
  Created by IntelliJ IDEA.
  User: Lenovo
  Date: 2023/2/14
  Time: 11:05
  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="zhuce" method="post">
    账号:<input type="text" name="username" value=""><br>
    密码:<input type="password" name="password" value=""><br>
    电话:<input type="text" name="phone"><br>
    地址:<input type="text" name="address">
    <input type="submit" value="注册">
</form>
</body>
</html>

6. Create a page with successful login and failed login

login successful:

<%@ page import="java.util.List" %>
<%@ page import="bean.Goods" %><%--
  Created by IntelliJ IDEA.
  User: Lenovo
  Date: 2023/2/16
  Time: 11:00
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登陆成功</title>
</head>
<body>
<h1>登录成功</h1>
<h2>欢迎来到javaweb项目</h2>
<table>
    <thead>
    <tr>
        <th>编号</th>
        <th>名称</th>
        <th>价格</th>
        <th>说明</th>
    </tr>
    </thead>
    <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.getmark()%></td>
        <td><%=goods.getprice()%></td>
    </tr>
    <%
    }
    %>
</body>
</html>

Login failed:

<%--
  Created by IntelliJ IDEA.
  User: Lenovo
  Date: 2023/2/16
  Time: 10:58
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登录失败</title>
</head>
<body>
<h1>登录失败</h1>
<a href="login.jsp">返回登录</a>
</body>
</html>

7. Complete the login and operation interface

package dao;

import bean.User;

public interface UserDao {
    public int register(User user);

    public User login(String username,String password);
}

Eight. Complete the login in UserDaompl.java, and register the connection with the database

package dao.impl;

import bean.User;
import dao.UserDao;

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


public class UserDaompl implements UserDao {
    Connection connection=null;
    PreparedStatement pstm=null;
    ResultSet rs=null;
    User aa=null;
    int row=0;
    public int register(User user) {

        try {
            //1.获取数据库连接
            Class.forName("com.mysql.cj.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC", "root", "root");
            String sql="insert into t_user(username,password,phone,address) values(?,?,?,?)";
            pstm=connection.prepareStatement(sql);
            pstm.setObject(1,user.getusername());
            pstm.setObject(2,user.getpassword());
            pstm.setObject(3,user.getphone());
            pstm.setObject(4,user.getaddress());
            row=pstm.executeUpdate();

        }catch (Exception e){
            e.printStackTrace();
        } finally {
            try {
                if (row>0){
                    if (pstm !=null){
                        pstm.close();
                    }
                    if (connection!=null){
                        connection.close();
                    }
                }
            }catch (Exception e){
                e.printStackTrace();
            }

        }

        return row;
    }

    @Override
    public User login(String username, String password) {

        try{
            Class.forName("com.mysql.cj.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC", "root", "root");
            String sql="select * from t_user where username=? and password=?";
            pstm=connection.prepareStatement(sql);
            pstm.setObject(1,username);
            pstm.setObject(2,password);
            rs=pstm.executeQuery();
            if (rs.next()){
                aa=new User();
                aa.setUid(rs.getInt("uid"));
                aa.setUsername(rs.getString("username"));
                aa.setPassword(rs.getString("password"));
                aa.setPhone(rs.getString("phone"));
                aa.setAddress(rs.getString("address"));
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            try {

                    if (pstm !=null){
                        pstm.close();
                    }
                    if (connection!=null){
                        connection.close();
                    }

            }catch (Exception e){
                e.printStackTrace();
            }

        }
        return aa;
    }


}

Nine. Create a GoodsDao.java

package dao.impl;

import bean.Goods;

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 GoodsDao {
    Connection connection=null;
    PreparedStatement pstm=null;
    ResultSet rs=null;
    int row=0;
    public List<Goods> selectAll(){
        List<Goods>  goodsList=new ArrayList<>();
    try {
        Class.forName("com.mysql.cj.jdbc.Driver");
        connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC", "root", "root");
        String sql="select * from t_goods";
        pstm=connection.prepareStatement(sql);
        rs=pstm.executeQuery();
        while (rs.next()){
            Goods goods=new Goods();
            goods.setGid(rs.getString("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 {
        try {
            if (row>0){
                if (pstm !=null){
                    pstm.close();
                }
                if (connection!=null){
                    connection.close();
                }
                if (rs !=null){
                    rs.close();
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
        return goodsList;
    }
}

10. The last step is to complete the verification of login and registration

package serviet;

import bean.User;
import dao.UserDao;
import dao.impl.UserDaompl;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;


public class Login extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("Login-get...");
            doPost(req, resp);
        }

        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            req.setCharacterEncoding("utf-8");
            resp.setCharacterEncoding("utf-8");
            resp.setContentType("text/html;charest=UTF-8");
            String username = req.getParameter("username");
            String password = req.getParameter("password");

            UserDao userDao = new UserDaompl();
            User aa=userDao.login(username,password);


            if (aa !=null){
                resp.sendRedirect("goods.jsp");
            } else {
                resp.sendRedirect("user.jsp");
            }

        }
    }


package serviet;

import bean.User;
import dao.UserDao;
import dao.impl.UserDaompl;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class Register 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");
        //2.获取请求参数
        String username=req.getParameter("username");
        String password=req.getParameter("password");
        String phone=req.getParameter("phone");
        String address=req.getParameter("address");
        //3.封装:把上面所有的变量装载到User对象中
        User user=new User();
        user.setUsername(username);
        user.setPassword(password);
        user.setPhone(phone);
        user.setAddress(address);
        //4.执行业务处理
        UserDao userDao= new UserDaompl();
        int row=userDao.register(user);
        //5.做出响应
        if(row>0){
            resp.sendRedirect("login.jsp");
        }else {
            resp.sendRedirect("zhuce.jsp");
        }
    }
}
package serviet;

import bean.Goods;
import dao.impl.GoodsDao;

import javax.jws.WebService;
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 javax.servlet.http.HttpSession;
import java.awt.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

@WebServlet("/selectAllGoods")
public class selectAllGoods 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 {
        GoodsDao goodsDao=new GoodsDao();
        List<Goods> goodsList=goodsDao.selectAll();
        System.out.println(goodsList);
        HttpSession session=req.getSession();
        session.setAttribute("goodsList",goodsList);
        resp.sendRedirect("goods.jsp");
    }
}

11. After completing the login, realize the addition of the product table

  1. Create and add products on the home page, as well as delete and modify products

<%@ page import="java.util.List" %>
<%@ page import="bean.Goods" %><%--
  Created by IntelliJ IDEA.
  User: Lenovo
  Date: 2023/2/16
  Time: 11:00
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>登陆成功</title>
</head>
<body>
<h1>登录成功</h1>
<h2>欢迎来自${user.address}的${user.username}来到javaweb项目</h2>
<table>
    <thead>
    <tr>
        <th>编号</th>
        <th>名称</th>
        <th>价格</th>
        <th>说明</th>
    </tr>
    </thead>
    <a href="increase.jsp">添加数据</a>
    <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="#">修改</a></td>
            <td><a href="del?gid=${goods.gid}">删除</a></td>
        </tr>
    </c:forEach>
 </body>
</html>
  1. Create a form to add items

<%--
  Created by IntelliJ IDEA.
  User: Lenovo
  Date: 2023/2/24
  Time: 8:41
  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="increase" method="post">
  请输入商品名称:<input type="text" name="gname" placeholder="商品名称"><br>
  请输入商品价格:<input type="number" name="price" step="0.01" placeholder="商品价格"><br>
  请输入商品介绍:<input type="text" name="mark" placeholder="商品介绍"><br>
  <input type="submit" value="添加">
</form>
</body>
</html>
  1. Realize the connection between adding commodities and database

public int increase(Goods goods){
        try {
            //1.获取数据库连接
            Class.forName("com.mysql.cj.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC", "root", "root");
            String sql="insert into t_goods(gname,price,mark) values(?,?,?)";
            pstm=connection.prepareStatement(sql);

            pstm.setObject(1,goods.getgname());
            pstm.setObject(2,goods.getprice());
            pstm.setObject(3,goods.getmark());
            bb=pstm.executeUpdate();
        }catch (Exception e){
            e.printStackTrace();
        } finally {
            try {
                if (bb>0){
                    if (pstm !=null){
                        pstm.close();
                    }
                    if (connection!=null){
                        connection.close();
                    }
                }
            }catch (Exception e){
                e.printStackTrace();
            }
        }

        return bb;
    }
  1. Realize the addition of products

package serviet;

import bean.Goods;
import dao.impl.GoodsDao;

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("/increase")
public class increase 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");
        resp.setContentType("text/html;charest=UTF-8");
        Goods goods=new Goods();
        goods.setGid(req.getParameter("gid"));
        goods.setGname(req.getParameter("gname"));
        goods.setPrice(Double.parseDouble(req.getParameter("price")));
        goods.setMark(req.getParameter("mark"));
        GoodsDao goodsDao=new GoodsDao();
        int bb=goodsDao.increase(goods);
        if (bb>0){
            req.getRequestDispatcher("selectAllGoods").forward(req,resp);
        }else {
            req.setAttribute("error_msg","添加商品出错了");
            req.getRequestDispatcher("user.jsp").forward(req,resp);
        }
    }
}

12. Realize the deletion of the commodity table after the login is completed

  1. Realize the connection between delete product table and database

public int deleteById(int gid) {
        try {
            //1.获取数据库连接
            Class.forName("com.mysql.cj.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC", "root", "root");
            String sql="delete from t_goods where gid=?";
            pstm=connection.prepareStatement(sql);
            pstm.setObject(1,gid);
            row=pstm.executeUpdate();
        }catch (Exception e){
            e.printStackTrace();
        } finally {
            try {
                    if (pstm !=null){
                        pstm.close();
                    }
                    if (connection!=null){
                        connection.close();
                    }
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        return row;
    }
  1. Realize the deletion of goods

package serviet;

import dao.impl.GoodsDao;

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"));
        GoodsDao goodsDao=new GoodsDao();
        int row= goodsDao.deleteById(gid);
        if (row>0){
            req.getRequestDispatcher("selectAllGoods").forward(req,resp);
        }else {
            req.setAttribute("error_msg","删除失败了");
            req.getRequestDispatcher("user.jsp").forward(req,resp);
        }
    }
}

Thirteen. After completing the login, realize the modification of the product table

  1. Add a form to modify the product table

<%--
  Created by IntelliJ IDEA.
  User: Lenovo
  Date: 2023/2/25
  Time: 15:08
  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="updateGoods" method="post">
  商品编号:<input type="number" name="gid" placeholder="商品编号" value="${goods.gid}" readonly="readonly"><br>
  请修改商品名称:<input type="text" name="gname" value="${goods.gname}" placeholder="商品名称"><br>
  请修改商品价格:<input type="number" name="price" value="${goods.price}" step="0.01" placeholder="商品价格"><br>
  请修改商品介绍:<input type="text" name="mark" value="${goods.mark}" placeholder="商品介绍"><br>
  <input type="submit" value="修改">
</form>
</body>
</html>
  1. Realize querying product information by id

 public Goods selectByID(int gid){
        Goods goods=null;
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC", "root", "root");
            String sql="select * from t_goods where gid=?";
            pstm=connection.prepareStatement(sql);
           pstm.setObject(1,gid);
           rs=pstm.executeQuery();
           if (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"));
           }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            try {
                    if (pstm !=null){
                        pstm.close();
                    }
                    if (connection!=null){
                        connection.close();
                    }
                    if (rs !=null){
                        rs.close();
                    }
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        return goods;
    }
  1. Complete the servlet class that queries product information based on id

package serviet;

import bean.Goods;
import dao.impl.GoodsDao;

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("/findByID")
public class FindGoodsByid 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查询该商品信息
        GoodsDao goodsDao=new GoodsDao();
        Goods goods=goodsDao.selectByID(gid);
        if (goods!=null){
            //把数据存储到request域对象中,然后请求转发到页面
            req.setAttribute("goods",goods);
            req.getRequestDispatcher("showGoods.jsp").forward(req,resp);
        }else {
            req.setAttribute("error_msg","修改商品出错了");
            req.getRequestDispatcher("user.jsp").forward(req,resp);
        }
    }
}
  1. Realize the connection between modifying the commodity and the database

  public int update(Goods goods){
        int row=0;
        try {
            //1.获取数据库连接
            Class.forName("com.mysql.cj.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC", "root", "root");
            String sql="update t_goods set gname=?,price=?,mark=? where gid=?";
            pstm=connection.prepareStatement(sql);
            pstm.setObject(1,goods.getgname());
            pstm.setObject(2,goods.getprice());
            pstm.setObject(3,goods.getmark());
            pstm.setObject(4,goods.getgid());
            row=pstm.executeUpdate();
        }catch (Exception e){
            e.printStackTrace();
        } finally {
            try {
                if (bb>0){
                    if (pstm !=null){
                        pstm.close();
                    }
                    if (connection!=null){
                        connection.close();
                    }
                }
            }catch (Exception e){
                e.printStackTrace();
            }
        }

        return row;
    }
  1. Realize the modification of the product

package serviet;

import bean.Goods;
import dao.impl.GoodsDao;

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("/updateGoods")
public class UpdateGoods 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 goods=new Goods();
        goods.setGid(Integer.parseInt(req.getParameter("gid")));
        goods.setGname(req.getParameter("gname"));
        goods.setPrice(Double.parseDouble(req.getParameter("price")));
        goods.setMark(req.getParameter("mark"));
        System.out.println(goods);
        GoodsDao goodsDao=new GoodsDao();
        int row=goodsDao.update(goods);
        if (row>0){
            req.getRequestDispatcher("selectAllGoods").forward(req,resp);
        }else {
            req.setAttribute("error_msg","修改商品出错了");
            req.getRequestDispatcher("user.jsp").forward(req,resp);
        }

    }
}

Guess you like

Origin blog.csdn.net/AMYCX/article/details/129096644