diff --git "a/01 \350\213\217\346\270\205\345\215\216/20230517 JDBC.md" "b/01 \350\213\217\346\270\205\345\215\216/20230517 JDBC.md" index 95cf4b8f7a457d885f0867dd7745c8f2dde4a06a..2e6a5cc14932cb5cee6cb55bc19b669734058052 100644 --- "a/01 \350\213\217\346\270\205\345\215\216/20230517 JDBC.md" +++ "b/01 \350\213\217\346\270\205\345\215\216/20230517 JDBC.md" @@ -22,7 +22,7 @@ | 3 | 王五 | 男 | ```mysql - create table student(sid int,sname varchar(5),ssex char(2)); + insert into student values(1,"张三","男"),(2,"李四","女"),(3,"王五","男"); ``` 5. 编写java 4个类,分别实现以下功能 diff --git "a/01 \350\213\217\346\270\205\345\215\216/20230522 tomcat.md" "b/01 \350\213\217\346\270\205\345\215\216/20230522 tomcat.md" new file mode 100644 index 0000000000000000000000000000000000000000..cb21c4ade5e2f134a3700e795df2077fc4511c59 --- /dev/null +++ "b/01 \350\213\217\346\270\205\345\215\216/20230522 tomcat.md" @@ -0,0 +1,195 @@ +```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(""); + out.write(""); + } + out.write("
学号姓名性别
"+rs.getInt("stuId")+""+rs.getString("name")+""+rs.getString("sex")+"
"); + } 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); + } + } +} +``` +