學生管理系統(Web)Sql Server+Eclipse


項目源代碼:下載

一、應用名稱:STD學生管理系統(Javaweb)

二、使用工具:sql server數據庫,Eclipse軟件

三、實現的功能:多表的綜合運用,學生信息的增刪改查、條件查詢、模糊查詢、精確查詢等

四、步驟:

1、新建數據庫:student_message_mis

2、新建表:

①學生表:student(sno,sname,ssex,ssdept,sgrade)

屬性含義:(學號,姓名,性別,所在系,年級)

②宿舍表:home(sno,shome)

屬性含義:(學號,宿舍號)

create table student( sno int primary key, sname varchar(10) not null, ssex varchar(10), ssdept varchar(10), sgrade varchar(10)); create table home( sno int, shome varchar(10) not null, primary key(sno), foreign key(sno) references student(sno));

3、在eclipse新建web工程並導入連接sql server數據庫的jar包:sqljdbc4.jar

 

數據庫連接測試代碼

package com.test;

import java.sql.*;

public class Main {
    public static void main(String [] args)
    {
        String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
        String dbURL="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=student";//test為你的數據庫名
        String userName="sa";//你的數據庫用戶名
        String userPwd="123456";//你的密碼
        try
        {
            Class.forName(driverName);
            System.out.println("加載驅動成功!");
        }catch(Exception e){
            e.printStackTrace();
            System.out.println("加載驅動失敗!");
        }
        try{
            Connection dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
            System.out.println("連接數據庫成功!");
        }catch(Exception e)
        {
            e.printStackTrace();
            System.out.print("SQL Server連接失敗!");
        }        
    }
}
Main.java

 4、新建index.jsp,實現加載學生所有信息,以及提供增加信息和查詢功能

<%@ page language="java" import="java.sql.*" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link href="css/bootstrap.min.css" rel="stylesheet">
<title>學生管理系統</title>
</head>
<script type="text/javascript">
    function add() {
        location.href = "add.jsp";
    }
</script>
<style>
.form-control {
    width: 90%;
}
</style>
<body>
    <table class="table table-hover table-striped table-bordered table-sm"
        id="resultshow">
        <tr>
            <td colspan="7" align="center">
                <h1>STD學生管理系統</h1>
            </td>
        </tr>
        <tr>
            <td colspan="3" align="center">
                <button type="button" class="btn btn-info" onclick="add()">添加信息</button>
            </td>
            <td colspan="4" align="center">
                <form action="select.jsp" method="post">
                    <table >
                        <tr>
                            <td><input type="text" class="form-control"
                                name="content"></td>
                            <td><select name="way" class="form-control"  >
                                    <option value="">--請選擇查詢方式--</option>
                                    <option value="1">學號</option>
                                    <option value="2">性別</option>
                                    <option value="3">所在系</option>
                                    <option value="4">年級</option>
                                    <option value="5">宿舍</option>
                                    <option value="6">姓名</option>
                            </select></td>
                            <td>
                            <button type="submit" class="btn btn-info">查詢</button></td>
                        </tr>
                    </table>
                </form>
            </td>
        </tr>
        <tr>
            <td align="center">學號</td>
            <td align="center">姓名</td>
            <td align="center">性別</td>
            <td align="center">所在系</td>
            <td align="center">年級</td>
            <td align="center">宿舍號</td>
            <td align="center">操作</td>
        </tr>
        <%
            String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加載JDBC驅動  
            String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=student";//連接服務器和數據庫sample   
            String userName = "sa"; //默認用戶名   
            String userPwd = "123456"; //密碼      
            Class.forName(driverName);
            Connection dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
            Statement stmt = dbConn.createStatement();
            String sql = "select student.sno,sname,ssex,ssdept,sgrade,shome from student join home on student.sno=home.sno";
            ResultSet rs = stmt.executeQuery(sql); //執行查詢語句
            //從結果集中讀取各字段並輸出
            while (rs.next()) {
                String id = rs.getString(1);
                out.println("<tr><td align='center'>" + rs.getString(1) + "</td><td align='center'>" + rs.getString(2)
                        + "</td><td align='center'>" + rs.getString(3) + "</td><td align='center'>" + rs.getString(4)
                        + "</td><td align='center'>" + rs.getString(5) + "</td><td align='center'>" + rs.getString(6)
                        + "</td><td align='center'><a href='update.jsp?id=" + id
                        + "'>修改</a>&nbsp;&nbsp;&nbsp;<a href='del.jsp?id=" + id
                        + "' onclick = 'return del()'>刪除</a></td></tr>");
            }
            //關閉操作
            rs.close();
            stmt.close();
            dbConn.close();
        %>
    </table>
    <script>
        //刪除確認
        function del() {
            if (!window.confirm('是否要刪除數據??'))
                return false;
        }
    </script>
</body>
</html>
index.jsp

5、add.jsp以及addsave.jsp用來保存學生基本信息

<%@ page contentType="text/html; charset=utf-8" import="java.sql.*"%>
<html>
<head>
<meta charset="UTF-8">
<title>添加學生信息</title>
</head>
<link rel="stylesheet"
    href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
<style>
.container {
    width: 100%;
    height: 700px;
    position: relative;
    background: url("img/2.png") no-repeat center/cover;
}

.login {
    width: 500px;
    height: auto;
    background-color: white;
    position: absolute;
    top: 100px;
    left: 350px;
    border-radius: 8px;
}

label {
    float: left;
    width: 100px;
    margin-top: 7px;
    margin-right: 5px;
}

.form-control {
    width: 60%;
}

.logtip {
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 2px solid red;
    text-align: center;
}

.form-group {
    margin-left: 40px;
    margin-top: 20px;
}

.btn {
    height: 50px;
    width: 100px;
    float: left;
    border-radius: 10px;
}

.btnbag {
    margin-left: 200px;
    margin-right: 200px;
    height: 50px;
    overflow: hidden;
    margin-top: 30px;
    margin-bottom: 40px;
}
</style>
<body>
    <div class="container">
        <div class="login">
            <h2 class="logtip">學生信息</h2>
            <form action="addsave.jsp" method="post" onsubmit="return check()">
                <div class="form-group">
                    <label for="sno">學號</label> <input type="text"
                        class="form-control" id="sno" name="sno">
                </div>
                <div class="form-group">
                    <label for="sname">姓名</label> <input type="text"
                        class="form-control" id="sname" name="sname">
                </div>
                <div class="form-group">
                    <label for="ssex">性別</label> <select name="ssex" id="ssex"  class="form-control" >   
                          <option value="">--請選擇--</option>   
                          <option value="男"></option>   
                          <option value="女"></option>   
                      </select>
                </div>
                <div class="form-group">
                    <label for="ssdept">所在系</label> <input type="text"
                        class="form-control" id="ssdept" name="ssdept">
                </div>
                <div class="form-group">
                    <label for="sgrade">年級</label> <select name="sgrade" id="sgrade"  class="form-control" >   
                          <option value="">--請選擇--</option>   
                          <option value="2017級">2017級</option>   
                          <option value="2018級">2018級</option>   
                          <option value="2019級">2019級</option> 
                          <option value="2020級">2020級</option>     
                      </select>
                </div>
                <div class="btnbag">
                    <input type="submit" class="btn btn-primary logbtn" value="確定">
                </div>
            </form>
        </div>
    </div>
</body>
<script type="text/javascript">
    function check() {
        var sno = document.getElementById("sno").value;
        var sname = document.getElementById("sname").value;
        if ((sno == "") || (sname == "")) {
            alert("學號/姓名必填!");
            return false;
        }
        return true;
    }
</script>
</html>
add.jsp
<%@ page language="java" import="java.sql.*" pageEncoding="utf-8"%>
<html>
<head>
<title>添加學生信息</title>
</head>
<body>
    <%
        request.setCharacterEncoding("utf-8");
        String sno = request.getParameter("sno");
        session.setAttribute("sno", sno);
        String sname = request.getParameter("sname");
        String ssex = request.getParameter("ssex");
        String ssdept = request.getParameter("ssdept");
        String sgrade = request.getParameter("sgrade");
        String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加載JDBC驅動  
        String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=student";//連接服務器和數據庫sample   
        String userName = "sa"; //默認用戶名   
        String userPwd = "123456"; //密碼      
        Class.forName(driverName);
        Connection dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
        String sql = "insert into student(sno,sname,ssex,ssdept,sgrade) values(?,?,?,?,?)";
        PreparedStatement stmt = dbConn.prepareStatement(sql);
        stmt.setString(1, sno);
        stmt.setString(2, sname);
        stmt.setString(3, ssex);
        stmt.setString(4, ssdept);
        stmt.setString(5, sgrade);
        int i = stmt.executeUpdate();
        if (i == 1) {
            out.println("<script>location.href = 'addhome.jsp';</script>");

        } else {
            out.println("<script>alert('添加失敗');location.href = 'add.jsp';</script>");
        }
        stmt.close();
        dbConn.close();
    %>
</body>
</html>
addsave.jsp

6、addhome.jsp以及addhomesave.jsp用來保存學生宿舍信息

<%@ page contentType="text/html; charset=utf-8" import="java.sql.*"%>
<html>
<head>
<meta charset="UTF-8">
<title>添加學生信息</title>
</head>
<link rel="stylesheet"
    href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
<style>
.container {
    width: 100%;
    height: 700px;
    position: relative;
    background: url("img/2.png") no-repeat center/cover;
}

.login {
    width: 500px;
    height: auto;
    background-color: white;
    position: absolute;
    top: 100px;
    left: 350px;
    border-radius: 8px;
}

label {
    float: left;
    width: 100px;
    margin-top: 7px;
    margin-right: 5px;
}

.form-control {
    width: 60%;
}

.logtip {
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 2px solid red;
    text-align: center;
}

.form-group {
    margin-left: 40px;
    margin-top: 20px;
}

.btn {
    height: 50px;
    width: 100px;
    float: left;
    border-radius: 10px;
}

.btnbag {
    margin-left: 200px;
    margin-right: 200px;
    height: 50px;
    overflow: hidden;
    margin-top: 30px;
    margin-bottom: 40px;
}
</style>
<body>
    <div class="container">
        <div class="login">
            <h2 class="logtip">宿舍</h2>
            <form action="addhomesave.jsp" method="post" onsubmit="return check()">
                <div class="form-group">
                    <label for="sno">學號</label> <input type="text"
                        class="form-control" id="sno" name="sno" value=<%=(String)(session.getAttribute("sno"))%> readonly="readonly">
                </div>
                    <div class="form-group">
                    <label for="shome">宿舍</label> <input type="text"
                        class="form-control" id="shome" name="shome" placeholder="1棟001">
                </div>
                <div class="btnbag">
                    <input type="submit" class="btn btn-primary logbtn" value="確定">
                </div>
            </form>
        </div>
    </div>
</body>
<script type="text/javascript">
    function check() {
        var shome = document.getElementById("shome").value;
        if (shome == "") {
            alert("宿舍必填!");
            return false;
        }
        return true;
    }
</script>
</html>
addhome.jsp
<%@ page language="java" import="java.sql.*" pageEncoding="utf-8"%>
<html>
<head>
<title>添加學生信息</title>
</head>
<body>
    <%
        request.setCharacterEncoding("utf-8");
        String sno = request.getParameter("sno");
        String shome = request.getParameter("shome");
        String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加載JDBC驅動  
        String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=student";//連接服務器和數據庫sample   
        String userName = "sa"; //默認用戶名   
        String userPwd = "123456"; //密碼      
        Class.forName(driverName);
        Connection dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
        String sql = "insert into home(sno,shome) values(?,?)";
        PreparedStatement stmt = dbConn.prepareStatement(sql);
        stmt.setString(1, sno);
        stmt.setString(2, shome);
        int i = stmt.executeUpdate();
        if (i == 1) {
            out.println("<script>alert('添加成功');location.href = 'index.jsp';</script>");

        } else {
            out.println("<script>alert('添加失敗');location.href = 'add.jsp';</script>");
        }
        stmt.close();
        dbConn.close();
    %>
</body>
</html>
addhomesave.jsp

7、update.jsp以及updatesave.jsp實現信息的修改

<%@ page language="java" import="java.sql.*" pageEncoding="utf-8"%>
<html>
<head>
<meta charset="UTF-8">
<title>修改學生信息</title>
</head>
<link rel="stylesheet"
    href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
<style>
.container {
    width: 100%;
    height: 700px;
    position: relative;
    background: url("img/2.png") no-repeat center/cover;
}

.login {
    width: 500px;
    height: auto;
    background-color: white;
    position: absolute;
    top: 100px;
    left: 350px;
    border-radius: 8px;
}

label {
    float: left;
    width: 100px;
    margin-top: 7px;
    margin-right: 5px;
}

.form-control {
    width: 60%;
}

.logtip {
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 2px solid red;
    text-align: center;
}

.form-group {
    margin-left: 40px;
    margin-top: 20px;
}

.btn {
    height: 50px;
    width: 100px;
    float: left;
    border-radius: 10px;
}

.logbtn {
    margin-right: 20px;
}

.btnbag {
    margin-left: 140px;
    margin-right: 140px;
    height: 50px;
    overflow: hidden;
    margin-top: 30px;
    margin-bottom: 40px;
}
</style>

<body>
    <%
        String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加載JDBC驅動  
        String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=student";//連接服務器和數據庫sample   
        String userName = "sa"; //默認用戶名   
        String userPwd = "123456"; //密碼      
        Class.forName(driverName);
        Connection dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
        Statement stmt = dbConn.createStatement();
        String sql = "select student.sno,sname,ssdept,shome from student join home on student.sno=home.sno";
        ResultSet rs = stmt.executeQuery(sql); //執行查詢語句
        rs.next();
    %>
    <div class="container">
        <div class="login">
            <h2 class="logtip">修改信息</h2>
            <form action="updatesave.jsp" method="post" onsubmit="return check()">
                <div class="form-group">
                    <label for="sno">學號</label> <input type="text" class="form-control"
                        id="sno" name="sno" value="<%=rs.getString(1)%>" readonly="readonly">
                </div>
                <div class="form-group">
                    <label for="sname">姓名</label> <input type="text"
                        class="form-control" id="sname" name="sname" value="<%=rs.getString(2)%>">
                </div>
                <div class="form-group">
                    <label for="ssex">性別</label> <select name="ssex" id="ssex"
                        class="form-control">
                        <option value="">--請選擇--</option>
                        <option value="男"></option>
                        <option value="女"></option>
                    </select>
                </div>
                <div class="form-group">
                    <label for="ssdept">所在系</label> <input type="text"
                        class="form-control" id="ssdept" name="ssdept" value="<%=rs.getString(3)%>">
                </div>
                <div class="form-group">
                    <label for="sgrade">年級</label> <select name="sgrade" id="sgrade"
                        class="form-control">
                        <option value="">--請選擇--</option>
                        <option value="2017級">2017級</option>
                        <option value="2018級">2018級</option>
                        <option value="2019級">2019級</option>
                        <option value="2020級">2020級</option>
                    </select>
                </div>
                <div class="form-group">
                    <label for="shome">宿舍</label> <input type="text"
                        class="form-control" id="shome" name="shome"  value="<%=rs.getString(4)%>" readonly="readonly">
                </div>
                <div class="btnbag">
                    <input type="submit" class="btn btn-primary logbtn" value="確定">
                    <input type="reset" class="btn btn-primary mangbtn" value="重置">
                </div>
            </form>
        </div>
    </div>
</body>
<script type="text/javascript">
    function check() {
        var sno = document.getElementById("sno").value;
        var sname = document.getElementById("sname").value;
        if ((sno == "") || (sname == "")) {
            alert("學號/姓名必填!");
            return false;
        }
        return true;
    }
</script>
</html>
update.jsp
<%@ page language="java" import="java.sql.*" pageEncoding="utf-8"%>
<html>
<head>
<title>修改完成</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
    <%
    request.setCharacterEncoding("utf-8");
    String sno = request.getParameter("sno");
    String sname = request.getParameter("sname");
    String ssex = request.getParameter("ssex");
    String ssdept = request.getParameter("ssdept");
    String sgrade = request.getParameter("sgrade");
    String shome = request.getParameter("shome");
    String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加載JDBC驅動  
    String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=student";//連接服務器和數據庫sample   
    String userName = "sa"; //默認用戶名   
    String userPwd = "123456"; //密碼      
    Class.forName(driverName);
    Connection dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
        String sql = "update student set sname='" + sname + "',ssex='" + ssex + "',ssdept='" + ssdept + "',sgrade='" + sgrade
                + "' where sno=" + sno;
        PreparedStatement stmt = dbConn.prepareStatement(sql);
        int i = stmt.executeUpdate();
        if (i == 1) {
            out.println("<script>alert('修改成功');location.href = 'index.jsp';</script>");
        } else {
            out.println("<script>alert('修改失敗');location.href = 'update.jsp?id='"+sno+";</script>");
        }
        stmt.close();
        dbConn.close();
    %>
</body>
</html>
updatesave.jsp

8、del.jsp實現刪除功能

<%@ page contentType="text/html; charset=utf-8" language="java"
    import="java.sql.*" pageEncoding="utf-8"%>
<html>
<head>
<title>刪除學生信息</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
    <%
        request.setCharacterEncoding("utf-8");
        String id = request.getParameter("id");
        String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加載JDBC驅動  
        String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=student";//連接服務器和數據庫sample   
        String userName = "sa"; //默認用戶名   
        String userPwd = "123456"; //密碼
        Class.forName(driverName);
        Connection dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
        String sql = "delete from home from home JOIN student on home.sno=student.sno where home.sno="+id;
//         out.println(sql);
        PreparedStatement stmt = dbConn.prepareStatement(sql);
        int i = stmt.executeUpdate();
        if (i == 1) {
            out.println("<script>alert('刪除成功');;location.href = 'index.jsp';</script>");
        } else {
            out.println("<script>alert('刪除成功');;location.href = 'index.jsp';</script>");
        }
        stmt.close();
        dbConn.close();
    %>
</body>
</html>
del.jsp

9、select.jsp

<%@ page language="java" import="java.sql.*" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link href="css/bootstrap.min.css" rel="stylesheet">
<title>學生管理系統</title>
</head>
<script type="text/javascript">
    function add() {
        location.href = "add.jsp";
    }
    function shouye() {
        location.href = "index.jsp";
    }
</script>
<style>
.form-control {
    width: 90%;
}
</style>
<body>
    <table class="table table-hover table-striped table-bordered table-sm"
        id="resultshow">
        <tr>
            <td colspan="7" align="center">
                <h1>學生管理系統</h1>
            </td>
        </tr>
        <tr>
            <td colspan="3" align="center">
                <button type="button" class="btn btn-info" onclick="add()">添加信息</button>
            </td>
            <td colspan="4" align="center">
                <button type="button" class="btn btn-info" onclick="shouye()">返回首頁</button>
            </td>
        </tr>
        <tr>
            <td align="center">學號</td>
            <td align="center">姓名</td>
            <td align="center">性別</td>
            <td align="center">所在系</td>
            <td align="center">年級</td>
            <td align="center">宿舍號</td>
            <td align="center">操作</td>
        </tr>
        <%
            String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加載JDBC驅動  
            String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=student";//連接服務器和數據庫sample   
            String userName = "sa"; //默認用戶名   
            String userPwd = "123456"; //密碼      
            Class.forName(driverName);
            Connection dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
            Statement stmt = dbConn.createStatement();
            request.setCharacterEncoding("utf-8");
            String content = request.getParameter("content");
            
            String way = request.getParameter("way");
            String sql1="select student.sno,sname,ssex,ssdept,sgrade,shome from student join home on student.sno=home.sno";
            if(content!=""&&"1".equals(way)){
                sql1 +=" where student.sno="+content;
            }else if(content!=""&&"2".equals(way)){
                sql1 += " where student.ssex='"+content+"'";
            }else if(content!=""&&"3".equals(way)){
                sql1 += " where student.ssdept like'%" + content + "%'";
            }else if(content!=""&&"4".equals(way)){
                sql1 += " where student.sgrade='"+content+"'";
            }else if(content!=""&&"5".equals(way)){
                sql1 += " where home.shome like '%" + content + "%'";
            }else if(content!=""&&"6".equals(way)){
                sql1 += " where student.sname='"+content+"'";
            }else{
                sql1 ="select student.sno,sname,ssex,ssdept,sgrade,shome from student join home on student.sno=home.sno";
            }
            
            ResultSet rs1 = stmt.executeQuery(sql1); //執行查詢語句
            //從結果集中讀取各字段並輸出
            while (rs1.next()) {
                String id = rs1.getString(1);
                out.println("<tr><td align='center'>" + rs1.getString(1) + "</td><td align='center'>" + rs1.getString(2)
                        + "</td><td align='center'>" + rs1.getString(3) + "</td><td align='center'>" + rs1.getString(4)
                        + "</td><td align='center'>" + rs1.getString(5) + "</td><td align='center'>" + rs1.getString(6)
                        + "</td><td align='center'><a href='update.jsp?id=" + id
                        + "'>修改</a>&nbsp;&nbsp;&nbsp;<a href='del.jsp?id=" + id
                        + "' onclick = 'return del()'>刪除</a></td></tr>");
            }
            //關閉操作
            rs1.close();
            stmt.close();
            dbConn.close();
        %>
    </table>
    <script>
        //刪除確認
        function del() {
            if (!window.confirm('是否要刪除數據??'))
                return false;
        }
    </script>
</body>
</html>
select.jsp

五、運行截圖

添加信息

 

 

 

 

 

查詢通過宿舍號模糊查詢

 修改

 

 

如有轉載,請標明出處:https://www.cnblogs.com/MoooJL/p/12995183.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM