diff --git "a/28 \351\273\204\346\242\223\345\242\203/20230523/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt" "b/28 \351\273\204\346\242\223\345\242\203/20230523/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt"
new file mode 100644
index 0000000000000000000000000000000000000000..8bc3ef0cbe1fd8244532000b063b93d56df8c07a
--- /dev/null
+++ "b/28 \351\273\204\346\242\223\345\242\203/20230523/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt"
@@ -0,0 +1,194 @@
+```markdown
+# 作业,
+ * 1 数据库相关的操作,使用封装的工具类
+ * 2 编写四个servlet,使用注解指定相关的访问路径,分别对应查询,修改,删除,添加的操作
+ * 3 从浏览器中,访问这中个路径,显示响应的信息,查询显示结果,其它的显示成功或是失败
+ * 4 预习题:如何通过浏览器传送请求参数给servlet,servlet如何接收这些参数,并使用这些参数,去影响数据库的操作?
+
+```
+
+```java
+//数据库工具类
+import java.sql.*;
+
+public class DBUtil {
+ static{
+ try {
+ Class.forName("com.mysql.jdbc.Driver");
+ } catch (ClassNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ public static Connection getConn() throws SQLException {
+ Connection conn = DriverManager.getConnection("jadc:mysql://localhost:3306/student_db?useSSL=false&charset=utf8", "root", "root");
+ return conn;
+ }
+ public static ResultSet query(String sql,String...keys) throws SQLException {
+ Connection conn = getConn();
+ PreparedStatement pre = conn.prepareStatement(sql);
+ for (int i = 0; i < keys.length; i++) {
+ pre.setString((i+1),keys[i]);
+ }
+ ResultSet res = pre.executeQuery();
+ return res;
+ }
+ public static int update(String sql,String...keys) throws SQLException {
+ Connection conn = getConn();
+ PreparedStatement pre = conn.prepareStatement(sql);
+ for (int i = 0; i < keys.length; i++) {
+ pre.setString((i+1),keys[i]);
+ }
+ int i = pre.executeUpdate();
+ return i;
+ }
+ public static void close(Connection conn,PreparedStatement pre,ResultSet res) throws SQLException {
+ if(res!=null){
+ res.close();
+ }if(pre!=null){
+ pre.close();
+ }if(conn!=null){
+ conn.close();
+ }
+ }
+}
+
+```
+
+```java
+package servlet;
+
+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.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+@WebServlet("/select")
+public class TestTomcat extends HttpServlet {
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ resp.setContentType("text/html;charset=utf-8");
+ PrintWriter out = resp.getWriter();
+ Connection conn = DBUtil.getConn();
+ try {
+ PreparedStatement pst = conn.prepareStatement("select * from student");
+ ResultSet rs = pst.executeQuery();
+ out.write("
");
+ out.write("| 学号 | 姓名 | 性别 |
");
+ while (rs.next()){
+ out.write("");
+ out.write("| "+rs.getInt("stuId")+" | "+rs.getString("name")+" | "+rs.getString("sex")+" | ");
+ out.write("
");
+ }
+ out.write("");
+ } catch (SQLException e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
+package servlet;
+
+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.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+
+@WebServlet("/insert")
+public class Insert extends HttpServlet {
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ Connection conn = DBUtil.getConn();
+ try {
+ PreparedStatement pst = conn.prepareStatement("insert into student values (5,'李泰容的狗','女')");
+ int i = pst.executeUpdate();
+ resp.setContentType("text/html;charset=utf-8");
+ PrintWriter out = resp.getWriter();
+ if (i>0){
+ out.write("添加成功");
+ }else {
+ out.write("添加失败");
+ }
+ } catch (SQLException e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
+package servlet;
+
+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.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+
+@WebServlet("/update")
+public class Set extends HttpServlet {
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ resp.setContentType("text/html;charset=utf-8");
+ Connection conn = DBUtil.getConn();
+ try {
+ PreparedStatement pst = conn.prepareStatement("update student set name = '徐明浩' where stuId = 5");
+ int i = pst.executeUpdate();
+ PrintWriter out = resp.getWriter();
+ if (i>0){
+ out.write("修改成功");
+ }else {
+ out.write("修改失败");
+ }
+ } catch (SQLException e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
+package servlet;
+
+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.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+
+@WebServlet("/delete")
+public class Delete extends HttpServlet {
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ resp.setContentType("text/html;charset=utf-8");
+ PrintWriter out = resp.getWriter();
+ Connection conn = DBUtil.getConn();
+ try {
+ PreparedStatement pst = conn.prepareStatement("delete from student where sex = '男'");
+ int i = pst.executeUpdate();
+ if (i>0){
+ out.write("删除成功");
+ }else {
+ out.write("删除失败");
+ }
+ } catch (SQLException e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
+```
\ No newline at end of file