diff --git "a/53 \345\221\250\345\216\232\350\276\260/package Web\350\241\250\345\215\225\344\270\216\346\225\260\346\215\256\345\272\223\350\277\236\346\216\245;import javax.md" "b/53 \345\221\250\345\216\232\350\276\260/20230526 \347\254\254\345\233\233\346\254\241\344\275\234\344\270\232 Update SQL By Web.md" similarity index 52% rename from "53 \345\221\250\345\216\232\350\276\260/package Web\350\241\250\345\215\225\344\270\216\346\225\260\346\215\256\345\272\223\350\277\236\346\216\245;import javax.md" rename to "53 \345\221\250\345\216\232\350\276\260/20230526 \347\254\254\345\233\233\346\254\241\344\275\234\344\270\232 Update SQL By Web.md" index a382190b4782c80b575b87a3c590b644f8269522..3a3fb7a90bb8df32a73e8470827d2fcb344f7de5 100644 --- "a/53 \345\221\250\345\216\232\350\276\260/package Web\350\241\250\345\215\225\344\270\216\346\225\260\346\215\256\345\272\223\350\277\236\346\216\245;import javax.md" +++ "b/53 \345\221\250\345\216\232\350\276\260/20230526 \347\254\254\345\233\233\346\254\241\344\275\234\344\270\232 Update SQL By Web.md" @@ -1,48 +1,34 @@ +# 20230526 第四次作业 + + **通过网页修改数据库** + ```java -package Web表单与数据库连接; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; import java.io.PrintWriter; -import java.sql.ResultSet; -import java.sql.SQLException; -@WebServlet(name = "Query", value = "/Query") -public class Query extends HttpServlet { +@WebServlet(name = "Insert", value = "/Insert") +public class Insert extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); + request.setCharacterEncoding("utf-8"); PrintWriter writer = response.getWriter(); - String id = request.getParameter("qid"); - String sql; - ResultSet rs; - if (id.equals(null)) { - sql = "select * from t1"; - rs = Driver.query(sql); - } else { - sql = "select * from t1 where id like ?"; - rs = Driver.query(sql, id); - } - System.out.println(sql); + String sql = "insert into t1 values(?,?,?)"; + String id = request.getParameter("id"); + String name = request.getParameter("name"); + String sex = request.getParameter("sex"); System.out.println(id); - try { - if (rs.isBeforeFirst()) { - writer.write("数据库中没有任何信息"); - } else { - while (rs.next()) { - String Id = rs.getString(1); - String name = rs.getString(2); - String sex = rs.getString(3); - writer.write("\tID=" + Id + - "\tname=" + name + - "\tsex=" + sex); - } - } - } catch (SQLException e) { - writer.write("查询错误"); + System.out.println(name); + System.out.println(sex); + int i = Driver.update(sql, id, name, sex); + if (i > 0) { + writer.write("插入成功,变化了" + i + "条数据"); + } else { + writer.write("插入失败"); } } @@ -54,111 +40,120 @@ public class Query extends HttpServlet { ``` ```java -package Web表单与数据库连接; - import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; import java.io.PrintWriter; -@WebServlet(name = "Insert", value = "/Insert") -public class Insert extends HttpServlet { +@WebServlet(name = "delete", value = "/delete") +public class delete extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - response.setContentType("text/html;charset=utf-8"); request.setCharacterEncoding("utf-8"); + response.setContentType("text/html;charset=utf-8"); PrintWriter writer = response.getWriter(); - String sql = "insert into t1 values(?,?,?)"; + + String sql = "delete from t1 where id=?"; String id = request.getParameter("id"); - String name = request.getParameter("name"); - String sex = request.getParameter("sex"); - System.out.println(id); - System.out.println(name); - System.out.println(sex); - int i = Driver.update(sql, id, name, sex); + int i = Driver.update(sql, id); if (i > 0) { - writer.write("插入成功,变化了" + i + "条数据"); + writer.write("删除成功"); } else { - writer.write("插入失败"); + writer.write("删除失败"); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - doGet(request, response); + } } + ``` ```java -package Web表单与数据库连接; - -import java.sql.*; +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.io.PrintWriter; -/** - * @author zhc - */ -public class Driver { - private static String Driver = "com.mysql.jdbc.Driver"; - private static String URL = "jdbc:mysql:///test?useSSL=false&unicode=true&characterEncoding=utf8"; - private static String User = "root"; - private static String Paw = "root"; +@WebServlet("/update") +public class Update extends HttpServlet { + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + req.setCharacterEncoding("utf-8"); + resp.setContentType("text/html;charset=utf-8"); + PrintWriter writer = resp.getWriter(); - //注册驱动 - static { - try { - Class.forName(Driver); - } catch (ClassNotFoundException e) { - System.out.println("驱动注册失败"); + String sql = "update t1 set name=?,sex=? where id=?"; + String id = req.getParameter("id"); + String name = req.getParameter("name"); + String sex = req.getParameter("sex"); + int i = Driver.update(sql, name, sex, id); + System.out.println(name); + System.out.println(sex); + System.out.println(id); + if (i > 0) { + writer.write("修改成功"); + } else { + writer.write("修改失败"); } } - //连接数据库 - public static Connection conn() { - System.out.println("连接数据中…"); - Connection conn = null; - try { - conn = DriverManager.getConnection(URL, User, Paw); - } catch (SQLException e) { - System.out.println("数据库连接失败"); - e.printStackTrace(); - } - return conn; + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + super.doPost(req, resp); } +} - //查询 - public static ResultSet query(String sql,String ...keys){ - PreparedStatement pst; - ResultSet rs=null; +``` + +```java +import javax.servlet.*; +import javax.servlet.http.*; +import javax.servlet.annotation.*; +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.ResultSet; +import java.sql.SQLException; + +@WebServlet(name = "Query", value = "/Query") +public class Query extends HttpServlet { + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + request.setCharacterEncoding("utf-8"); + response.setContentType("text/html;charset=utf-8"); + PrintWriter writer = response.getWriter(); + + String id = request.getParameter("qid"); + String sql = "select * from t1 where id like ?"; + ResultSet rs = Driver.query(sql, "%" + id + "%"); + System.out.println(sql); + System.out.println(id); try { - pst = conn().prepareStatement(sql); - System.out.println("查询中..."); - for (int i = 0; i < keys.length; i++) { - pst.setString((i+1),keys[i]); + if (!rs.isBeforeFirst()) { + writer.write("数据库中没有此ID的信息"); + } else { + while (rs.next()) { + String Id = rs.getString(1); + String name = rs.getString(2); + String sex = rs.getString(3); + writer.write("\tID=" + Id + + "\tname=" + name + + "\tsex=" + sex); + writer.write("
"); + } } - rs = pst.executeQuery(); } catch (SQLException e) { - System.out.println("查询错误"); - e.printStackTrace(); + writer.write("查询错误"); } - return rs; } - //更新 - public static int update(String sql,String ...keys ){ - int i = 0; - try { - PreparedStatement pst = conn().prepareStatement(sql); - for (int j = 0; j < keys.length; j++) { - pst.setString((j+1),keys[j]); - } - i = pst.executeUpdate(); - } catch (SQLException e) { - System.out.println("更新失败"); - e.printStackTrace(); - } - return i; + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + doGet(request, response); } } ``` @@ -168,12 +163,12 @@ public class Driver { - 插入 + test

插入

- ID:
+ 编号:
姓名:
性别:
@@ -184,6 +179,18 @@ public class Driver { 请输入要查询的ID:
+

修改

+
+ 请输入要修改的ID:
+ 姓名:
+ 性别:
+ +
+

删除

+
+ 请输入要删除的ID:
+ +
``` \ No newline at end of file diff --git "a/53 \345\221\250\345\216\232\350\276\260/20230604 \347\254\254\344\272\224\346\254\241\344\275\234\344\270\232 Car\350\257\225\345\215\267.md" "b/53 \345\221\250\345\216\232\350\276\260/20230604 \347\254\254\344\272\224\346\254\241\344\275\234\344\270\232 Car\350\257\225\345\215\267.md" new file mode 100644 index 0000000000000000000000000000000000000000..2334ab946572bf2f22d8cbd8037ff33ab13fb829 --- /dev/null +++ "b/53 \345\221\250\345\216\232\350\276\260/20230604 \347\254\254\344\272\224\346\254\241\344\275\234\344\270\232 Car\350\257\225\345\215\267.md" @@ -0,0 +1,501 @@ +# 20230604 第五次作业 Car试卷 + +## bean包 + +### Brand类 + +```java +package Bean; + +public class brandList { + private String cid, brandName; + + public brandList(String cid, String brandName) { + this.cid = cid; + this.brandName = brandName; + } + + public String getCid() { + return cid; + } + + public void setCid(String cid) { + this.cid = cid; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } +} + +``` + +### CarDetail类 + +```java +package Bean; + +/** + * @author 榨菜 + */ +public class list { + private String cId, cname, content, ltime, place, brandId, brandName; + + public list() { + } + + public list(String cId, String cname, String content, String ltime, String place, String brandId, String brandName) { + this.cId = cId; + this.cname = cname; + this.content = content; + this.ltime = ltime; + this.place = place; + this.brandId = brandId; + this.brandName = brandName; + } + + @Override + public String toString() { + return "list{" + + "cId='" + cId + '\'' + + ", cname='" + cname + '\'' + + ", content='" + content + '\'' + + ", ltime='" + ltime + '\'' + + ", place='" + place + '\'' + + ", brandId='" + brandId + '\'' + + ", brandName='" + brandName + '\'' + + '}'; + } + + public String getcId() { + return cId; + } + + public void setcId(String cId) { + this.cId = cId; + } + + public String getCname() { + return cname; + } + + public void setCname(String cname) { + this.cname = cname; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getLtime() { + return ltime; + } + + public void setLtime(String ltime) { + this.ltime = ltime; + } + + public String getPlace() { + return place; + } + + public void setPlace(String place) { + this.place = place; + } + + public String getBrandId() { + return brandId; + } + + public void setBrandId(String brandId) { + this.brandId = brandId; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } +} + +``` + +## utils包 + +### DBUtil类 + +```java +package Utils; + +import java.sql.*; + +public class DBUtil { + private static final String Driver = "com.mysql.jdbc.Driver"; + private static final String URL = "jdbc:mysql:///car?useSSL=false&unicode=true&characterEncoding=utf-8"; + private static final String Username = "root"; + private static final String Paw = "root"; + + static { + try { + Class.forName(Driver); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + System.out.println("注册驱动失败"); + } + } + + public static Connection conn() { + Connection con = null; + try { + con = DriverManager.getConnection(URL, Username, Paw); + } catch (SQLException e) { + e.printStackTrace(); + System.out.println("连接失败"); + } + return con; + } + + public static ResultSet query(String sql, String... keys) { + ResultSet rs = null; + try { + PreparedStatement pst = conn().prepareStatement(sql); + for (int i = 0; i < keys.length; i++) { + pst.setString((i + 1), keys[i]); + } + rs = pst.executeQuery(); + System.out.println("查询成功"); + } catch (SQLException e) { + System.out.println("查询失败"); + e.printStackTrace(); + } + return rs; + } + + public static int update(String sql, String... keys) { + int j = 0; + try { + PreparedStatement pst = conn().prepareStatement(sql); + for (int i = 0; i < keys.length; i++) { + pst.setString((i + 1), keys[i]); + } + j = pst.executeUpdate(); + System.out.println("更新成功"); + } catch (SQLException e) { + System.out.println("更新失败"); + e.printStackTrace(); + } + return j; + } +} + +``` + +## dao包 + +### CarDao类 + +```java +package Dao; + +import Bean.brandList; +import Bean.list; +import Utils.DBUtil; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; + +/** + * @author 榨菜 + */ +public class carDao { + private static String sql = null; + + public static ArrayList getAllCar() { + ArrayList list = new ArrayList<>(); + sql = "select * from brand b,carDetail d where d.brandId=b.brandId"; + ResultSet rs = DBUtil.query(sql); + try { + while (rs.next()) { + String CID = rs.getString("cid"); + String Cname = rs.getString("cname"); + String Content = rs.getString("content"); + String ltime = rs.getString("ltime"); + String price = rs.getString("price"); + String BrandID = rs.getString("brandId"); + String BrandName = rs.getString("brandName"); + + list.add(new Bean.list(CID, Cname, Content, ltime, price, BrandID, BrandName)); + } + } catch (SQLException e) { + System.out.println("打印失败"); + e.printStackTrace(); + } + return list; + } + + public static ArrayList getAllBrand() { + ArrayList list = new ArrayList<>(); + sql = "select * from brand"; + ResultSet rs = DBUtil.query(sql); + try { + while (rs.next()) { + String cid = rs.getString("brandid"); + String brandName = rs.getString("brandName"); + list.add(new brandList(cid, brandName)); + } + } catch (SQLException e) { + System.out.println("打印失败"); + e.printStackTrace(); + + } + return list; + } + + public static int add(String... keys) { + sql = "insert into cardetail(cname,brandid,content,price,ltime) values(?,?,?,?,?)"; + int i = DBUtil.update(sql, keys); + return i; + } +} + +``` + +## servlet包 + +### CarController类 + +```java +package Servlet; + +import Bean.list; +import Dao.carDao; +import Utils.DBUtil; + +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.io.PrintWriter; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; + +@WebServlet("/car/*") +public class servlet extends HttpServlet { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + req.setCharacterEncoding("utf-8"); + resp.setContentType("text/html"); + resp.setCharacterEncoding("utf-8"); + PrintWriter out = resp.getWriter(); + String path = req.getPathInfo(); + + if (path.equals("/query")) { + System.out.println(path); + req.setAttribute("list", carDao.getAllCar()); + req.getRequestDispatcher("/WEB-INF/query.jsp").forward(req, resp); + System.out.println("传值成功"); + } + if (path.equals("/add")) { + System.out.println(path); + req.setAttribute("list", carDao.getAllBrand()); + req.getRequestDispatcher("/WEB-INF/add.jsp").forward(req, resp); + System.out.println("传值成功"); + } + if (path.equals("/save")) { + System.out.println(path); + String name = req.getParameter("name"); + String brand = req.getParameter("brand"); + String content = req.getParameter("content"); + String price = req.getParameter("price"); + String date = req.getParameter("date"); + int i = carDao.add(name, brand, content, price, date); + if (i > 0) { + out.printf("添加成功"); + resp.sendRedirect("/car/query"); + } else { + out.printf("添加失败"); + } + System.out.println("传值成功"); + } + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + super.doPost(req, resp); + } +} + +``` + +## 网页 + +### 显示页面carList + +```jsp +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%-- + Created by IntelliJ IDEA. + User: 榨菜 + Date: 2023/6/3 + Time: 23:09 + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + 查询 + + + +
+ + + +
+ +

查询

+ + + + + + + + + + + + + + + + + + + + + +
序号车辆名称所属品牌车辆简介价格录入时间
${car.cId}${car.cname}${car.brandName}${car.content}${car.place}${car.ltime}
+ + + +``` + +### 添加页面add + +```jsp +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%-- + Created by IntelliJ IDEA. + User: 榨菜 + Date: 2023/6/4 + Time: 16:06 + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + 添加 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
车辆名称 + +
所属品牌 + +
车辆简介 + +
价格 + +
录入时间 + +
+ +
+
+ + + +``` +