From 29d609dd0b7edd86841c60e6749e521bac66c17a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=96=E5=BF=83=E5=A6=8D?= <2392642810@qq.com> Date: Wed, 24 May 2023 12:38:58 +0800 Subject: [PATCH] =?UTF-8?q?tomcat=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...230523 tomcat \344\275\234\344\270\232.md" | 243 ++++++++++++++++++ 1 file changed, 243 insertions(+) create mode 100644 "03 \350\265\226\345\277\203\345\246\215/20230523 tomcat \344\275\234\344\270\232.md" diff --git "a/03 \350\265\226\345\277\203\345\246\215/20230523 tomcat \344\275\234\344\270\232.md" "b/03 \350\265\226\345\277\203\345\246\215/20230523 tomcat \344\275\234\344\270\232.md" new file mode 100644 index 0000000..43e7690 --- /dev/null +++ "b/03 \350\265\226\345\277\203\345\246\215/20230523 tomcat \344\275\234\344\270\232.md" @@ -0,0 +1,243 @@ +```markdown +# 作业, + * 1 数据库相关的操作,使用封装的工具类 + * 2 编写四个servlet,使用注解指定相关的访问路径,分别对应查询,修改,删除,添加的操作 + * 3 从浏览器中,访问这中个路径,显示响应的信息,查询显示结果,其它的显示成功或是失败 + * 4 预习题:如何通过浏览器传送请求参数给servlet,servlet如何接收这些参数,并使用这些参数,去影响数据库的操作? + +``` + +DBUtil类 + +```javascript +package servlet; + +import java.sql.*; + +public class DBUtil { + private static final String url = "jdbc:mysql:///student_db?useSSL=false&useUnicode=true&characterEncoding=utf8"; + private static final String user = "root"; + private static final String password = "root"; + + static { + try { + Class.forName("com.mysql.jdbc.Driver"); + } catch (ClassNotFoundException e) { + System.out.println("驱动注册异常"); + e.printStackTrace(); + } + } + + public static Connection getConn() { + Connection conn = null; + try { + conn = DriverManager.getConnection(url, user, password); + } catch (SQLException e) { + System.out.println("获取连接对象失败"); + e.printStackTrace(); + } + return conn; + } + + public static ResultSet query(String sql, String... keys) { + ResultSet rs = null; + try { + Connection conn = getConn(); + PreparedStatement pst = conn.prepareStatement(sql); + for (int i = 0; i < keys.length; i++) { + pst.setString((i + 1), keys[i]); + } + rs = pst.executeQuery(); + } catch (SQLException e) { + System.out.println("执行查询异常"); + e.printStackTrace(); + } + return rs; + } +} + +``` + +增加类 + +```javascript +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 StudentInsertServlet 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 out = resp.getWriter(); + Connection conn = DBUtil.getConn(); + try { + PreparedStatement pst = conn.prepareStatement("insert into student values (5,'NANA','N')"); + int i = pst.executeUpdate(); + if(i>0){ + out.write("插入成功,插入"+i+"行"); + }else{ + out.write("插入失败,插入"+i+"行"); + } + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + super.doPost(req, resp); + } +} +``` + +删除类 + +```javascript +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 StudentDeleteServlet 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 out = resp.getWriter(); + Connection conn = DBUtil.getConn(); + try { + PreparedStatement pst = conn.prepareStatement("delete from student where id=4"); + int i = pst.executeUpdate(); + if(i>0){ + out.write("删除成功,删除"+i+"行"); + }else { + out.write("删除失败,删除"+i+"行"); + } + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + super.doPost(req, resp); + } +} +``` + +修改类 + +```javascript +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 StudentUpdateServlet 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 out = resp.getWriter(); + Connection conn = DBUtil.getConn(); + try { + PreparedStatement pst = conn.prepareStatement("update student set name='Know' where id=2"); + int i =pst.executeUpdate(); + if(i>0){ + out.write("修改成功,修改"+i+"行"); + }else { + out.write("修改失败,修改"+i+"行"); + } + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + super.doPost(req, resp); + } +} +``` + +查询类 + +```javascript +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.ResultSet; +import java.sql.SQLException; + +@WebServlet("/select") +public class StudentSelectServlet 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 out = resp.getWriter(); + ResultSet rst=DBUtil.query("select * from student"); + out.write("
| 编号 | 姓名 | 性别 | " + + "
|---|---|---|
| "+id+" | "+name+" | "+sex+" |