From b0058ce0b1ef038e9ab3ecf9d91dbbb3fb2df14c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E5=8E=9A=E8=BE=B0?= Date: Wed, 24 May 2023 20:23:16 +0800 Subject: [PATCH] third --- ...241\344\275\234\344\270\232 SQL To Web.md" | 248 ++++++++++++++++++ 1 file changed, 248 insertions(+) create mode 100644 "53 \345\221\250\345\216\232\350\276\260/20230524 \347\254\254\344\270\211\346\254\241\344\275\234\344\270\232 SQL To Web.md" diff --git "a/53 \345\221\250\345\216\232\350\276\260/20230524 \347\254\254\344\270\211\346\254\241\344\275\234\344\270\232 SQL To Web.md" "b/53 \345\221\250\345\216\232\350\276\260/20230524 \347\254\254\344\270\211\346\254\241\344\275\234\344\270\232 SQL To Web.md" new file mode 100644 index 0000000..090e43e --- /dev/null +++ "b/53 \345\221\250\345\216\232\350\276\260/20230524 \347\254\254\344\270\211\346\254\241\344\275\234\344\270\232 SQL To Web.md" @@ -0,0 +1,248 @@ +# 20230524 第三次作业 SQL To Web + +```markdown +# 作业, + * 1 数据库相关的操作,使用封装的工具类 + * 2 编写四个servlet,使用注解指定相关的访问路径,分别对应查询,修改,删除,添加的操作 + * 3 从浏览器中,访问这中个路径,显示响应的信息,查询显示结果,其它的显示成功或是失败 + * 4 预习题:如何通过浏览器传送请求参数给servlet,servlet如何接收这些参数,并使用这些参数,去影响数据库的操作? + +``` + +## 答案 + +```java +package 数据库与网页的连接; + +import javax.servlet.*; +import javax.servlet.annotation.*; +import javax.servlet.http.*; +import java.io.*; + +@WebServlet("/insert") +public class Insert extends HttpServlet { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + resp.setContentType("text/html;charset=utf-8"); + resp.setCharacterEncoding("utf-8"); + String sql = "insert into t1 VALUES\n" + + "(\"s2501\",\"张秋利\",\"男\"),\n" + + "(\"s2502\",\"李斯文\",\"女\"),\n" + + "(\"s2503\",\"马文才\",\"男\"),\n" + + "(\"s2504\",\"欧阳俊雄\",\"女\"),\n" + + "(\"s2505\",\"梅超风\",\"男\"),\n" + + "(\"s2506\",\"陈旋风\",\"男\")"; + PrintWriter writer = resp.getWriter(); + int i = Driver.update(sql); + if (i > 0) { + writer.write("插入成功," + "变化了" + i + "条数据"); + } else { + writer.write("插入失败"); + } + writer.write("
"); + + writer.write("\"点击跳转到插入数据页面\"
"); + writer.write("\"点击跳转到修改数据页面\"
"); + writer.write("\"点击跳转到删除数据页面\"
"); + writer.write("\"点击跳转到查询数据页面\""); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + super.doPost(req, resp); + } +} + +``` + +```java +package 数据库与网页的连接; + +import javax.servlet.*; +import javax.servlet.annotation.*; +import javax.servlet.http.*; +import java.io.*; + +@WebServlet("/update") +public class update extends HttpServlet { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + resp.setContentType("text/html;charset=utf-8"); + resp.setCharacterEncoding("utf-8"); + String sql = "UPDATE t1 set id='6666'"; + int i = Driver.update(sql); + Driver.update(sql); + PrintWriter writer = resp.getWriter(); + if (i > 0) { + writer.write("更新成功," + "变化了" + i + "条数据"); + } else { + writer.write("更新失败"); + } + writer.write("
"); + + writer.write("\"点击跳转到插入数据页面\"
"); + writer.write("\"点击跳转到修改数据页面\"
"); + writer.write("\"点击跳转到删除数据页面\"
"); + writer.write("\"点击跳转到查询数据页面\""); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + super.doPost(req, resp); + } +} + +``` + +```java +package 数据库与网页的连接; + +import javax.servlet.*; +import javax.servlet.annotation.*; +import javax.servlet.http.*; +import java.io.*; + +@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"); + resp.setCharacterEncoding("utf-8"); + PrintWriter writer = resp.getWriter(); + String sql = "delete from t1"; + int i = Driver.update(sql); + if (i > 0) { + writer.write("删除成功," + "变化了" + i + "条数据"); + } else { + writer.write("删除失败"); + } + writer.write("
"); + + writer.write("\"点击跳转到插入数据页面\"
"); + writer.write("\"点击跳转到修改数据页面\"
"); + writer.write("\"点击跳转到删除数据页面\"
"); + writer.write("\"点击跳转到查询数据页面\""); + + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + super.doPost(req, resp); + } +} + +``` + +```java +package 数据库与网页的连接; + +import javax.servlet.*; +import javax.servlet.annotation.*; +import javax.servlet.http.*; +import java.io.*; +import java.sql.*; + +@WebServlet("/query") +public class Query extends HttpServlet { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + resp.setContentType("text/html;charset=utf-8");// 设置网页的格式 + resp.setCharacterEncoding("utf-8");// 设置网页的编码 + ResultSet rs = Driver.query("select * from t1"); + PrintWriter writer = resp.getWriter(); + resp.getWriter().write("

以下是查询结果

"); + resp.getWriter().write("" + "" + "" + "" + "" + ""); + try { + while (rs.next()) { + String ID = rs.getString(1); + String Dep = rs.getString(2); + String Des = rs.getString(3); + writer = resp.getWriter(); + writer.write(""); + writer.write(""); + writer.write(""); + writer.write(""); + writer.write("/"); + + } + } catch (SQLException e) { + System.out.println("打印失败"); + } + writer.write("
ID部门描述
" + ID + "" + Dep + "" + Des + "
"); + writer.write("
"); + writer.write("\"点击跳转到插入数据页面\"
"); + writer.write("\"点击跳转到修改数据页面\"
"); + writer.write("\"点击跳转到删除数据页面\"
"); + writer.write("\"点击跳转到查询数据页面\""); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + super.doPost(req, resp); + } +} + +``` + +```java +package 数据库与网页的连接; + +import java.sql.*; + +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"; + + //注册驱动 + static { + try { + Class.forName(Driver); + } catch (ClassNotFoundException e) { + System.out.println("驱动注册失败"); + } + } + + //连接数据库 + public static Connection conn() { + System.out.println("连接数据中…"); + Connection conn = null; + try { + conn = DriverManager.getConnection(URL, User, Paw); + } catch (SQLException e) { + System.out.println("数据库连接失败"); + } + return conn; + } + + //查询 + public static ResultSet query(String sql,String ...keys){ + PreparedStatement pst; + ResultSet rs; + try { + pst = conn().prepareStatement(sql); + System.out.println("查询中..."); + rs = pst.executeQuery(); + for (int i = 0; i < keys.length; i++) { + pst.setString((i+1),keys[i]); + } + } catch (SQLException e) { + throw new RuntimeException(e); + } + return rs; + } + + //更新 + public static int update(String sql,String ...keys ){ + int i = 0; + try { + PreparedStatement pst = conn().prepareStatement(sql); + i = pst.executeUpdate(); + } catch (SQLException e) { + System.out.println("更新失败"); + } + return i; + } +} +``` \ No newline at end of file -- Gitee