diff --git "a/11 \345\276\220\347\253\213\345\237\216/tomcat \344\275\234\344\270\232.md" "b/11 \345\276\220\347\253\213\345\237\216/tomcat \344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..b755d1786b47d2a3f64c62ee4eb18d696e7f42d9 --- /dev/null +++ "b/11 \345\276\220\347\253\213\345\237\216/tomcat \344\275\234\344\270\232.md" @@ -0,0 +1,199 @@ +# 作业, + * 1 数据库相关的操作,使用封装的工具类 + * 2 编写四个servlet,使用注解指定相关的访问路径,分别对应查询,修改,删除,添加的操作 + * 3 从浏览器中,访问这中个路径,显示响应的信息,查询显示结果,其它的显示成功或是失败 + * 4 预习题:如何通过浏览器传送请求参数给servlet,servlet如何接收这些参数,并使用这些参数,去影响数据库的操作? + +```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.sql.*; + +@WebServlet("/stu") +public class StudentServlet extends HttpServlet{ + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + try { + resp.setContentType("text/html;charset=utf-8");// 设置网页的格式 + resp.setCharacterEncoding("utf-8");// 设置网页的编码 + Class.forName("com.mysql.jdbc.Driver"); + Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student_db?useSSL=false&useUnicode=true&characterEncoding=utf8","root","root"); + String sql= "SELECT * FROM student"; + PreparedStatement pst = conn.prepareStatement(sql); + ResultSet rs = pst.executeQuery(); + while (rs.next()){ + int id =rs.getInt("id"); + String name= rs.getString("name"); + String sex= rs.getString("sex"); + System.out.println(id+name+sex); + resp.getWriter().write(id+name+sex); + } + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } catch (SQLException e) { + throw new RuntimeException(e); + } + } + + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + super.doPost(req, resp); + } +} +``` + +```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.sql.*; + +@WebServlet("/stui") +public class Stu extends HttpServlet { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + try { + resp.setContentType("text/html;charset=utf-8");// 设置网页的格式 + resp.setCharacterEncoding("utf-8");// 设置网页的编码 + Class.forName("com.mysql.jdbc.Driver"); + Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student_db?useSSL=false&useUnicode=true&characterEncoding=utf8","root","root"); + String sql= "INSERT INTO student VALUES(1,'红','男')"; + PreparedStatement pst = conn.prepareStatement(sql); + int i = pst.executeUpdate(); + if(i>0){ + System.out.println("成功"); + + resp.getWriter().write("成功"); + }else { + System.out.println("失败"); + resp.getWriter().write("失败"); + } + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } catch (SQLException e) { + throw new RuntimeException(e); + } + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + super.doPost(req, resp); + } +} +``` + +```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.sql.*; + +@WebServlet("/stui") +public class Stu extends HttpServlet { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + try { + resp.setContentType("text/html;charset=utf-8");// 设置网页的格式 + resp.setCharacterEncoding("utf-8");// 设置网页的编码 + Class.forName("com.mysql.jdbc.Driver"); + Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student_db?useSSL=false&useUnicode=true&characterEncoding=utf8","root","root"); + String sql= "UPDATE student set `name`='大红' WHERE id=1"; + PreparedStatement pst = conn.prepareStatement(sql); + int i = pst.executeUpdate(); + if(i>0){ + System.out.println("成功"); + + resp.getWriter().write("成功"); + }else { + System.out.println("失败"); + resp.getWriter().write("失败"); + } + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } catch (SQLException e) { + throw new RuntimeException(e); + } + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + super.doPost(req, resp); + } +} +``` + +```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.sql.*; + +@WebServlet("/stui") +public class Stu extends HttpServlet { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + try { + resp.setContentType("text/html;charset=utf-8");// 设置网页的格式 + resp.setCharacterEncoding("utf-8");// 设置网页的编码 + Class.forName("com.mysql.jdbc.Driver"); + Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student_db?useSSL=false&useUnicode=true&characterEncoding=utf8","root","root"); + String sql= "DELETE FROM student WHERE id=2"; + PreparedStatement pst = conn.prepareStatement(sql); + int i = pst.executeUpdate(); + if(i>0){ + System.out.println("成功"); + + resp.getWriter().write("成功"); + }else { + System.out.println("失败"); + resp.getWriter().write("失败"); + } + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } catch (SQLException e) { + throw new RuntimeException(e); + } + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + super.doPost(req, resp); + } +} +``` + +```mysql +CREATE DATABASE student_db charset utf8 ; +use student_db; +CREATE TABLE student( +id int , +name VARCHAR(20), +sex VARCHAR(20) +); +insert into student VALUES(1,"张三","男"),(2,"李四","女"),(3,"王五","男"); +SELECT * FROM student; +``` +