当前位置: 首页 > article >正文

stuid学生信息

文章目录

  • 前端准备
  • MySQL数据库
  • 封装JDBC 连接工具类 DBUtil
  • 查寻学生

前端准备

结构
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <a href="./list.html">系统启动</a>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 内嵌式 引入  CSS -->
    <style>
        h1{
            text-align: center;
        }
        /* table  是具有块级属性,所以居住 margin */
        table{
            margin: 0 auto;
        }
        td{
            text-align: center;
            /* 居住  td  中的 文字 */
        }




    </style>
</head>
<body>
    <h1>学生信息</h1>
    <table border="1px" width="500px">
        <tr>
            <td width="120px">姓名</td>
            <td width="120px">学号</td>
            <td width="180px">专业</td>
            <td width="200px">操作</td>
        </tr>
        <tr>
            <td>小明</td>
            <td>1001</td>
            <td>计算机应用技术</td>
            <td width="200px">
                <a href="./add.html">新增</a>
                <a href="./modify.html">详情</a>
                <a href="javascript:void(0)" onclick="window.confirm('确认删除吗?')" >删除</a>
            </td>
        </tr>




    </table>
    

</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>更新学生信息</h1>
    <form action="">
        <!-- 原来的信息是来自于数据库的 -->
        姓名(原来): <input type="text">
        <br>
        学号(原来):        <input type="text"> 
        <br>
        专业(原来):        <input type="text">
        <br>
        <!-- 改完后的信息,需要交到  服务器  name -->
        姓名:
        <input type="text" name="username">
        <br>
        学号:
        <input type="text" name="stuid" >
        <br>
        专业:
        <input type="text" name="zhuanye">
        <br><br>
        <input type="submit" value="确认修改" >


    </form>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>添加学生信息</h1>
    <form action="">
       
        <!-- 改完后的信息,需要交到  服务器  name -->
        姓名:
        <input type="text" name="username">
        <br>
        学号:
        <input type="text" name="stuid" >
        <br>
        专业:
        <input type="text" name="zhuanye">
        <br><br>
        <input type="submit" value="确认新增" >


    </form>
</body>
</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MySQL数据库

在这里插入图片描述
在这里插入图片描述

封装JDBC 连接工具类 DBUtil

在这里插入图片描述

package resources;

import java.sql.*;
import java.util.ResourceBundle;

//
public class DBUtil {
    private static ResourceBundle bundle =  ResourceBundle.getBundle("resources\\db");
    private static String driver = bundle.getString("driver");
    private static String url = bundle.getString("url");
    private static String user = bundle.getString("user");
    private static String password = bundle.getString("password");
//   驱动注册
    static{
        try {
            Class.forName(driver);
//            本质上:  在 进行类加载的时候,给我把  com.mysql.cj.jdbc.Driver
//            com.mysql.cj.jdbc.  下面的   Driver这类  com.mysql.cj.jdbc.Driver . class  加载到
//            方法区内存中(元空间)
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
//   方法的设计者角度 设计连接对象的静态方法
    public static Connection getConnection() throws SQLException {
        Connection connection = DriverManager.getConnection(url, user, password);
//        此处的异常不处理,抛出去,谁调用我,谁来处理异常
        return connection;
    }
//    设计关闭流的静态方法   方法设计者
    public static void close(ResultSet rs, Statement st,Connection con){
//                                      Statement 是       PreparedStatement ps 的父接口
//        调用者  用   Statement  PreparedStatement  都支持
//        若第二个参数为 PreparedStatement ps 那么调用者 用 Statement  时会报错,或者要强制类型转换
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
        if (st != null) {
            try {
                st.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
        if (con != null) {
            try {
                con.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }

    }



}

查寻学生

package com.yanyu;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import resources.DBUtil;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

@WebServlet("/list")
public class List extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
//        响应的类型
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        Connection con = null;
        Statement st = null;
        ResultSet rs = null;//查询结果集对象
        try {
            con = DBUtil.getConnection();
            con.setAutoCommit(false);
            String sql = "select * from student";
            st = con.createStatement();
            rs = st.executeQuery(sql);
            out.print("            <!DOCTYPE html>");
            out.print("<html lang='en'>");
            out.print("<head>");
            out.print("    <meta charset='UTF-8'>");
            out.print("    <meta name='viewport' content='width=device-width, initial-scale=1.0'>");
            out.print("    <title>Document</title>");
            out.print("    <!-- 内嵌式 引入  CSS -->");
            out.print("    <style>");
            out.print("                    h1{");
            out.print("                text-align: center;");
            out.print("            }");
            out.print("            /* table  是具有块级属性,所以居住 margin */");
            out.print("            table{");
            out.print("                margin: 0 auto;");
            out.print("            }");
            out.print("            td{");
            out.print("                text-align: center;");
            out.print("                /* 居住  td  中的 文字 */");
            out.print("            }");

            out.print("    </style>");
            out.print("</head>");
            out.print("<body>");
            out.print("    <h1>学生信息</h1>");
            out.print("    <table border='1px' width='500px'>");
            out.print("        <tr>");

            out.print("            <td width='120px'>学号</td>");
            out.print("            <td width='180px'>专业</td>");
            out.print("            <td width='200px'>操作</td>");
            out.print("        </tr>");
            while (rs.next()){
                String name = rs.getString("name");
                String stuid = rs.getString("stuid");
                String zhuanye = rs.getString("zhuanye");



                out.print("        <tr>");
                out.print("            <td>"+name+"</td>");
                out.print("            <td>"+stuid+"</td>");
                out.print("            <td>"+zhuanye+"</td>");
                out.print("            <td width='200px'>");
                out.print("                <a href='./add.html'>新增</a>");
                out.print("                <a href='./modify.html'>详情</a>");
                out.print("                <a href='javascript:void(0)' οnclick='window.confirm('确认删除吗?')' >删除</a>");
                out.print("            </td>");
                out.print("        </tr>");
            }













out.print("    </table>");

out.print("</body>");
out.print("</html>");
out.print("            ");








            con.commit();
        } catch (SQLException throwables) {
//            回滚事务
            if (con != null) {
                try {
                    con.rollback();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            throwables.printStackTrace();
        }


    }
}


http://www.kler.cn/a/380233.html

相关文章:

  • node.js模块化分析
  • 你适合哪种tiktok广告账户类型?
  • 【双指针】【数之和】 LeetCode 633.平方数之和
  • 为什么我们调用 start()方法时会执行 run()方法 ,为什么我们不能 直接调用 run()方法?
  • 【jvm】如何设置新生代和老年代的比例
  • 基于Multisim数控直流稳压电源电路(含仿真和报告)
  • 第十二章 spring Boot+shiro权限管理
  • 【django】django RESTFramework前后端分离框架快速入门
  • 一阶 RC 低通滤波器实验方案
  • MFC图形函数学习05——画椭圆函数
  • 推荐一款高级的安装程序打包工具:Advanced Installer Architect
  • 用Python遍历输出烟感名称和状态
  • 简单说明vuex
  • AIDOVECL数据集:包含超过15000张AI生成的车辆图像数据集,目的解决旨在解决眼水平分类和定位问题。
  • SwiftUI:单个App支持设置多语言
  • 【零基础学习CAPL】——使用CAP测试报文长度DLC
  • 交换机的基本配置
  • MySql创建用户与授权
  • 关于安科瑞电能质量监测和治理产品在分布式光伏电站的应用探讨
  • 又一次安装autoware.universe的过程
  • 苏州金龙新V系客车创新引领旅游出行未来
  • 计算机网络面试题三道之二
  • 【人工智能】自动化机器学习的实现:使用Python与AutoML工具进行模型自动化调参
  • 提升大数据量分页查询性能:深分页优化全解
  • 深度学习基础知识-残差网络ResNet
  • Python 实现图:构建、添加和搜索详解