0


Javaweb学生信息管理系统(Mysql+JSP+MVC+CSS)

项目源码及数据库:

链接:https://pan.baidu.com/s/1ktUyxbOI9lljWr-HRTRIiQ?pwd=1024
提取码:1024

一.项目介绍

本系统主要实现对基于Javaweb学生信息管理系统所需的各项基本功能,能够对学生信息进行增删改查等功能,并可以实现用户注册、用户登陆等功能。

数据库:Mysql

开发工具:Eclipse

开发环境:JDK+Tomcat

二.运行效果

1.登录界面

2.主界面(点击学号修改学生信息)

3.增加学生界面

三.项目目录结构

四.代码展示

1.jsp及css代码

①登录界面代码(login.jsp)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<link href="css/login.css" type="text/css" rel="stylesheet">
<meta charset="UTF-8">

<title>学生信息管理系统-登录界面</title>
</head>
<body>
    <form action="CheckLoginServlet" method="post">
        <div class="content">
            <div class="wrap">
                <div class="login-box">
                    <div class="login-frame">
                        <h2>
                            用户登录 <a href="register.jsp"> 立即注册</a>
                        </h2>
                        <div class=item>
                            <input type="text" name="UID" placeholder="用户名">
                        </div>
                        <div class=item>
                            <input type="password" name="upwd" placeholder="密码">
                        </div>
                        <input type="submit" class="login-btn" value="登 录">
                        <div class=item1>
                            <a href="UpdateLoginPwd.jsp"> 修改密码</a> 
                            <a    href="DeleteLoginID.jsp"> 注销用户</a>
                        </div>
                        <%
                            String error = (String) request.getAttribute("error");
                            String error0 = (String) request.getAttribute("error0");
                            String error1 = (String) request.getAttribute("error1");
                            String error2 = (String) request.getAttribute("error2");
                            String error3 = (String) request.getAttribute("error3");
                            String error4 = (String) request.getAttribute("error4");

                            if (error != null) {
                                if (error.equals("loginError")) {
                                    out.println("用户名或密码错误!登录失败!");
                                } else if (error.equals("nologinError")) {
                                    response.sendRedirect("QueryStudentByPageServlet");
                                }
                            }

                            if (error0 != null) {
                                if (error0.equals("loginError")) {
                                    out.println("用户名或密码错误!修改失败!");
                                } else if (error0.equals("nologinError")) {
                                    if (error1 != null) {
                                if (error1.equals("noupdateError")) {
                                    out.println("密码修改成功!");
                                }
                                    }
                                }
                            }
                            if (error2 != null) {
                                if (error2.equals("loginError")) {
                                    out.println("用户名或密码错误!注销失败!");
                                } else if (error2.equals("nologinError")) {
                                    if (error3 != null) {
                                if (error3.equals("nodeleteError")) {
                                    out.println("账户注销成功!");
                                }
                                    }
                                }
                            }
                            if (error4 != null) {
                                if (error4.equals("noaddError")) {
                                    out.println("账户注册成功!");
                                }
                            }
                            %>
                        </div>
                    </div>
                </div>
            </div>
    </form>

</body>

</html>

②登录界面css(login.css)

*{margin:0;padding:0;}
a{text-decoration:none;color:#666;}
a:hover{
    text-decoration:underline;
    color:E4393C;
}
html,body
{
    font:12px/150% Arial,Verdana;
}

.wrap{
    width:1000px;
    margin:0 auto;
}
.left{
    float:left;
}

.content{
    background:url(../image/login.jpg);
    background-size: cover;
    width:1280px;
    height:559px;
}

.login-frame{
    margin:50px 5% 50px 5%;
    float:right;
    padding:60px;
    background:white;
    background-color:rgba(255,255,255,0.9);
    border-radius:25px;
    order-right:1px #bdbdbd solid;
    width:280px;
    height:230px;
}

.login-frame h2{
    font-size:25px;
    height:40px;
    margin-buttom:25px;
}
.login-frame h2 a{
    font-size:15px;
    color:#59c2c5;
    padding-left:20px;
    background:url(../image/icon5.jpg)no-repeat;
}

.login-frame .item{
    height:60px;
    margin-buttom:40px;
}

.login-frame .item input{
    line-height:40px;
    width:260px;
    border:none;
    border-bottom: 1px solid #59c2c5;
}

.login-btn{
    display:block;
    height:50px;display:block;
    height:50px;
    color:#fff;
    background:#59c2c5;
    width:265px;
    font-size:16px;
    line-height:30px;
    text-align:center;
    border-radius:10px;
    border:none;
    color:#fff;
    background:#59c2c5;
    width:265px;
    font-size:16px;
    line-height:30px;
    text-align:center;
    border-radius:10px;
    border:none;
}
.login-frame .item1{
    dislpay:flex;
    justify-content: space-between;
    margin-top:1 rem;
}
.login-frame .item1 a{
    line-height:40px;
    font-size:1.1rem;
    margin-top:5 rem;
    padding:1rem 3rem;
}

③注册用户界面(register.jsp)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<link href="css/index.css" type="text/css" rel="stylesheet">
<meta charset="UTF-8">
<script type = "text/javascript" src = "js/jquery-3.6.0.js"></script>
    
    <script type = "text/javascript">
    function check()
    {
        var UID = $("#UID").val();
        var upwd = $("#upwd").val();
        var upwd1 = $("#upwd1").val();
        if(upwd != upwd1){
            alert("两次输入的密码不一致,请重新输入!");
            return false;
        }
        
        return true;
    }
     $(document).ready(function(){
     });
    </script>
<title>注册账号</title>
</head>
<body>
    <form action = "AddLoginIDServlet" method = "post" onsubmit = "return check()">
    <div class = "content">
        <div class = "box">
        <div class = "item1">
        <h2>用户注册</h2>
        </div>
        <div class = "item">
        <input type = "text" name = "UID" id = "UID" placeholder="账号"/><br/>
        </div>
        <div class = "item">
        <input type = "password" name = "upwd" id = "upwd" placeholder="密码"/><br/>
        </div>
        <div class = "item">
        <input type = "password" name = "upwd1" id = "upwd1" placeholder="确认密码"/><br/>
        </div>
        <input type = "submit" class = "btn" value = "注册"/><br/>
        <a href = "login.jsp">返回</a>
        <%
        String error4 = (String) request.getAttribute("error4");
        if (error4!= null) {
        if (error4.equals("addError")) {
            out.println("注册失败!账户名已经存在!");
        } 
    }
    %>
    </div>
    </div>
    </form>
    
</body>
</html>

④注册用户界面css(index.css)

*{margin:0;padding:0;}
html,body
{
    font:12px/150% Arial,Verdana;
}
.content{
    background:url(../image/login.jpg);
    background-size: cover;
    width:1280px;
    height:559px;
}
.box{
    margin:60px 18% 60px 18%;
    float:right;
    padding:30px;
    background:white;
    background-color:rgba(255,255,255,0.9);
    border-radius:15px;
    
}
.item{
    height:60px;
    margin-buttom:40px;
}
.item input{
    line-height:40px;
    width:260px;
    border:none;
    border-bottom: 1px solid #59c2c5;
    border-radius:3px;
}
.item1{
    font-size:15px;
    height:40px;
}
.btn{
    display:block;
    height:50px;
    color:#fff;
    background:#59c2c5;
    width:265px;
    font-size:16px;
    line-height:30px;
    text-align:center;
    border-radius:10px;
    border:none;
}

⑤修改密码界面(UpdateLoginID.jsp)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<link href="css/index.css" type="text/css" rel="stylesheet">
<meta charset="UTF-8"><script type = "text/javascript" src = "js/jquery-3.6.0.js"></script>
    
    <script type = "text/javascript">
    function check()
    {
        var upwd = $("#upwd").val();
        var upwd1 = $("#upwd1").val();
        var upwd2 = $("#upwd2").val();
        if(upwd1 != upwd2){
            alert("两次输入的密码不一致,请重新输入!");
            return false;
        }
        
        return true;
    }
     $(document).ready(function(){
     });
    </script>

<title>更改账号密码</title>
</head>
<body>
    <form action = "UpdateLoginPwdServlet" method = "post" onsubmit = "return check()">
    <div class = "content">
    <div class = "box">
    <div class= "item1"><h2>修改密码</h2></div>
    <div class = item>
    <input type = "text" name = "UID" id = "UID" placeholder="账号"/><br/>
    </div>
    <div class = item>
    <input type = "password" name = "upwd" id = "upwd" placeholder="旧密码"/><br/>
    </div>
    <div class = item>
    <input type = "password" name = "upwd1" id = "upwd1" placeholder="新密码"/><br/>
    </div>
    <div class = item>
    <input type = "password" name = "upwd2" id = "upwd2" placeholder="确认密码"/><br/>
    </div>
    <input type = "submit" class = "btn" value = "提交"/><br/>
    <a href = "login.jsp">返回</a>
    <%
    String error0 = (String) request.getAttribute("error0");
    if (error0!= null) {
        if (error0.equals("loginError")) {
            out.println("用户名或密码错误,请重新输入!");
        } else if (error0.equals("nologinError")) {
            response.sendRedirect("login.jsp");
        }
    }
    %>
    </div>
    </div>
    </form>
</body>
</html>

⑥注销用户界面(DeleteLoginID.jsp)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<link href="css/index.css" type="text/css" rel="stylesheet">
<meta charset="UTF-8">
<title>注销账号</title>
</head>
<body>
    <form action = "DeleteLoginIDServlet" method = "post">
    <div class = "content">
    <div class = "box">
    <div class = "item1">
    <h2>注销账号</h2>
    </div>
    <div class = "item">
    <input type = "text" name = "UID" id = "UID" placeholder="账号"/><br/>
    </div>
    <div class = "item">
    <input type = "password" name = "upwd" id = "upwd" placeholder="密码"/><br/>
    </div>
    <input type = "submit" class = "btn" value = "注销"/><br/>
    <a href = "login.jsp">返回</a>
    <%
    String error2 = (String) request.getAttribute("error2");
    if (error2!= null) {
    if (error2.equals("loginError")) {
            out.println("用户名或密码错误!注销失败!");
        }
    }
        %>
    </div>
    </div>

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

⑦登录成功主界面(index.jsp)

点击学号进入单个学生信息展示界面,可修改学生信息

点击删除删除学生信息

<%@page import="student.entity.Page"%>
<%@page import="java.util.List"%>
<%@page import="student.entity.Student"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <script type = "text/javascript" src = "js/jquery-3.6.0.js"></script>
    
    <script type = "text/javascript">
     $(document).ready(function(){
         $("tr:odd").css("background-color","lightgrey");
     
     });
    </script>
    
<link href="css/show.css" type="text/css" rel="stylesheet">
<meta charset="UTF-8">
<title>学生信息列表</title>
</head>
<body>

    <div class = "content">
    <div class = "box">
    <table  border="2" cellspacing="0">
        <tr>
            <th><h2>学号</h2></th>
            <th><h2>姓名</h2></th>
            <th><h2>年龄</h2></th>
            <th><h2>专业</h2></th>
            <th><h2>操作</h2></th>
        </tr>
        <%
        Page page1 = (Page)request.getAttribute("page1");
        
        for(Student student:page1.getStudents()){
            %>
            <tr>
                <td><a href = "QueryStudentBySnoServlet?sno=<%=student.getSno()%>"><%=student.getSno() %></a></td>
                <td><%=student.getName() %></td>
                <td><%=student.getAge() %></td>
                <td><%=student.getDept() %></td>
                <td><a href = "DeleteStudentServlet?sno=<%=student.getSno() %>">删除</a></td>
            </tr>
            <%            
        }
        %>
        </table>
        <div class = item>
        <a href = "add.jsp">增加学生</a>
        </div>
    <% 
        if(page1.getCurrentPage()==page1.getTotalPage()-1){
        %>
        <div class = item>
        <a href = "QueryStudentByPageServlet?currentPage=0">首页</a>
        <a href = "QueryStudentByPageServlet?currentPage=<%=page1.getCurrentPage()-1%>">上一页</a>
        </div>
        <% 
        }
        else if(page1.getCurrentPage()==0){
            %>
            <div class = item>
            <a href = "QueryStudentByPageServlet?currentPage=<%=page1.getCurrentPage()+1%>">下一页</a>
            <a href = "QueryStudentByPageServlet?currentPage=<%=page1.getTotalPage()-1%>">尾页</a>
            </div>
            <%
        }
        else{
            %>
            <div class = item>
            <a href = "QueryStudentByPageServlet?currentPage=0">首页</a>
            <a href = "QueryStudentByPageServlet?currentPage=<%=page1.getCurrentPage()-1%>">上一页</a>
            <a href = "QueryStudentByPageServlet?currentPage=<%=page1.getCurrentPage()+1%>">下一页</a>
            <a href = "QueryStudentByPageServlet?currentPage=<%=page1.getTotalPage()-1%>">尾页</a>
            </div>
            <%
        }
        %>
        <input type = "button" value = "上传作业" class = "btn"  onclick = "location = 'UpAndDown.jsp'"/><br/>
            <%
    String error = (String)request.getAttribute("error");
    if(error!=null){
    if(error.equals("addError")){
        out.println("增加失败!");
    }
    else if(error.equals("noaddError")){
        out.println("增加成功!");
    }
    }
    
    String error1 = (String)request.getAttribute("error1");
    if(error1!=null){
    if(error1.equals("deleteError")){
        out.println("删除失败!");
    }
    else if(error1.equals("nodeleteError")){
        out.println("删除成功!");
    }
    }
    String error2 = (String)request.getAttribute("error2");
    if(error2!=null){
    if(error2.equals("updateError")){
        out.println("修改失败!");
    }
    else if(error2.equals("noupdateError")){
        out.println("修改成功!");
    }
    }
    
    
    String error3 = (String)request.getAttribute("error3");
    if(error3!=null){
    if(error3.equals("uploadError")){
        out.println("上传失败!");
    }
    else if(error3.equals("nouploadError")){
        out.println("上传成功!");
    }
    }
    %>
        </div>
        </div>
</body>
</html>

⑧登陆成功界面css(show.css)

*{margin:0;padding:0;}
html,body
{
    font:12px/150% Arial,Verdana;
}
.content{
    background:url(../image/index.JPG);
    background-size: cover;
    width:1280px;
    height:559px;
}
.box{
    margin:60px 18% 60px 18%;
    float:right;
    padding:30px;
    background:white;
    background-color:rgba(255,255,255,0.9);
    border-radius:15px;
    
}
.item{
    height:40px;
    
    border-radius:15px;
}
.item a{
    background-color: lightgrey;
    text-decoration: none;
    font-size:15px;
    color:black;
    border-radius:3px;
}
.item1{
    font-size:15px;
    height:40px;
}
table{
    width:100%;
    border-collapse:collapse;
}
table body{
    diaplay:block;
    height:300px;
    overflow-y: scroll;
}
table td{
    border:1px solid #A6A6A6;
    height:60px;
    width:300px;
    text-align: center;
    font-size: 15px;
}
table th{
    height:60px;
    border:1px solid #A6A6A6;
}

⑨点击学号,修改学生信息界面(StudentInfo.jsp)

<%@page import="student.entity.Student"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link href="css/index.css" type="text/css" rel="stylesheet">
<title>修改学生信息</title>
</head>
<body>
    <%
        Student student = (Student)request.getAttribute("student");
    %>        
    <form action = "UpdateStudentServlet" method = "post">
    <div class = "content">
    <div class = "box">
    <div class = "item1">
    <h2>修改学生信息</h2>
    </div>
        <div class = "item">
        学号:<input type = "text" name = "sno" value ="<%=student.getSno()%>" readonly = "readonly"/><br/>
        </div>
        <div class = "item">
        姓名:<input type = "text" name = "name" value ="<%=student.getName()%>"/><br/>
        </div>
        <div class = "item">
        年龄:<input type = "text" name = "age" value ="<%=student.getAge()%>"/><br/>
        </div>
        <div class = "item">
        专业:<input type = "text" name = "dept" value ="<%=student.getDept()%>"/><br/>
        </div>
        <input type = "submit" class = "btn" value = "修改"/>
        <a href = "QueryStudentByPageServlet">返回</a>
        </div>
        </div>
    </form>
</body>
</html>

⑩增加学生信息(add.jsp)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link href="css/index.css" type="text/css" rel="stylesheet">
<script type = "text/javascript" src = "js/jquery-3.6.0.js"></script>
    
    <script type = "text/javascript">
    function check()
    {
        var sname = $("#sname").val();
        var sno = $("#sno").val();
        var sage = $("#sage").val();
        var sdept = $("#sdept").val();
        if(!(sno>1&&sno<2000)){
            alert("学号有误!必须是1-2000");
            return false;
        }
        if(!(sname.length>1&&sname.length<5)){
            alert("姓名有误!必须是2-4位");
            return false;
        }
        if(!(sage>1&&sage<100)){
            alert("年龄有误!必须是1-100");
            return false;
        }
        return true;
    }
     $(document).ready(function(){
     });
    </script>
    
<title>增加学生信息</title>
</head>
<body>
    <form action = "AddStudentServlet" method = "post"  onsubmit = "return check()">
    <div class = "content">
    <div class = "box">
    <div class = "item2">
    <h2>增加学生信息</h2>
    </div>
    <div class = "item">
    <input type = "text" name = "name" id = "sname" placeholder="姓名"/><br/>
    </div>
    <div class = "item">
    <input type = "text" name = "sno" id = "sno" placeholder="学号"/><br/>
    </div>
    <div class = "item">
    <input type = "text" name = "age" id = "sage" placeholder="年龄"/><br/>
    </div>
    <div class = "item">
    <input type = "text" name = "dept" id = "sdept" placeholder="专业"/><br/>
    </div>
    <input type = "submit" class = "btn" value = "增加"/><br/>
    <a href = "QueryStudentByPageServlet">返回</a>
    </div>
    </div>
    </form>
</body>
</html>

⑪上传作业操作(UpAndDown.jsp)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link href="css/index.css" type="text/css" rel="stylesheet">
<title>上传作业</title>
</head>
<body>
    <form action ="UploadServlet" method = "post" enctype = "multipart/form-data">
    <div class = "content">
    <div class = "box">
    <div class = "item2">
    <h2>上传作业</h2>
    </div>
    <div class = "item">
    <input type = "text" name="sno" placeholder="学号"/><br/>
    </div>
    <div class = "item">
    <input type = "text" name = "name" placeholder="姓名"/><br/>
    </div>
    <input type = "file" name = "spiature"/>
    <br/>
    <br/>
    <input type = "submit" class = "btn" value ="上传"/>
    <a href = "QueryStudentByPageServlet">返回</a>
    </div>
    </div>
    </form>
</body>
</html>

2.三层架构

①表示层Servlet

检查登录的用户名和密码是否匹配(CheckLoginServlet.java)

package student.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import student.service.IStudentService;
import student.service.impl.StudentServiceImpl;

public class CheckLoginServlet extends HttpServlet {
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        String ID = request.getParameter("UID");
        String pwd = request.getParameter("upwd");
        IStudentService service = new StudentServiceImpl();
        boolean result = service.checkLoginID(ID,pwd);
        response.setContentType("text/html;charest=UTF-8");
        response.setCharacterEncoding("utf-8");
        if(!result) {
            request.setAttribute("error", "loginError");
        }else {
            request.setAttribute("error", "nologinError");
        }
        request.getRequestDispatcher("login.jsp").forward(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

注册账户表示层(AddLoginIDServlet.java)

package student.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import student.service.IStudentService;
import student.service.impl.StudentServiceImpl;

/**
 * Servlet implementation class AddLoginIDServlet
 */
public class AddLoginIDServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        String ID = request.getParameter("UID");
        String pwd = request.getParameter("upwd");
        IStudentService studentService = new StudentServiceImpl();
        boolean result = studentService.addLoginID(ID,pwd);
        
        response.setContentType("text/html;charest=UTF-8");
        response.setCharacterEncoding("utf-8");
        if(!result) {
            request.setAttribute("error4", "addError");
            request.getRequestDispatcher("register.jsp").forward(request, response);
        }else {
            request.setAttribute("error4", "noaddError");
            request.getRequestDispatcher("login.jsp").forward(request, response);
        }
        
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

修改密码表示层(UpdateLoginPwdServlet.java)

package student.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import student.service.IStudentService;
import student.service.impl.StudentServiceImpl;

/**
 * Servlet implementation class UpdateLoginPwdServlet
 */
public class UpdateLoginPwdServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
   
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        String ID = request.getParameter("UID");
        String pwd = request.getParameter("upwd");
        String pwd1 = request.getParameter("upwd1");
        IStudentService service = new StudentServiceImpl();
        boolean result = service.checkLoginID(ID,pwd);
        response.setContentType("text/html;charest=UTF-8");
        response.setCharacterEncoding("utf-8");
        if(!result) {
            request.setAttribute("error0", "loginError");
            request.getRequestDispatcher("UpdateLoginPwd.jsp").forward(request, response);
        }else {
            request.setAttribute("error0", "nologinError");
            boolean result1 = service.updateLoginPwd(ID,pwd1);
            if(!result1) {
                request.getRequestDispatcher("UpdateLoginPwd.jsp").forward(request, response);
            }else {
                request.setAttribute("error1", "noupdateError");
                request.getRequestDispatcher("login.jsp").forward(request, response);
            }
        }
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

注销用户表示层(DeleteLoginIDServlet.java)

package student.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import student.service.IStudentService;
import student.service.impl.StudentServiceImpl;

/**
 * Servlet implementation class DeleteLoginIDServlet
 */
public class DeleteLoginIDServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        String ID = request.getParameter("UID");
        String pwd = request.getParameter("upwd");
        IStudentService service = new StudentServiceImpl();
        boolean result = service.checkLoginID(ID,pwd);
        boolean result1 = service.deleteLoginID(ID);
        response.setContentType("text/html;charest=UTF-8");
        response.setCharacterEncoding("utf-8");
        if(!result) {
            request.setAttribute("error2", "loginError");
            request.getRequestDispatcher("DeleteLoginID.jsp").forward(request, response);
        }else {
            request.setAttribute("error2", "nologinError");
            if(!result1) {
                request.setAttribute("error3", "deleteError");
                request.getRequestDispatcher("DeleteLoginID.jsp").forward(request, response);
            }else {
                request.setAttribute("error3", "nodeleteError");
                request.getRequestDispatcher("login.jsp").forward(request, response);
        }
        }
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

分页显示(QueryStudentByPageServlet.java)

package student.servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import student.entity.Page;
import student.entity.Student;
import student.service.IStudentService;
import student.service.impl.StudentServiceImpl;

public class QueryStudentByPageServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    public QueryStudentByPageServlet() {
        super();
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        IStudentService studentService = new StudentServiceImpl();
        int count = studentService.getTotalCount();
        
        Page page = new Page();
        
        
        String cPage = request.getParameter("currentPage");
        
        if(cPage == null) {
            cPage = "0";
        }
        int currentPage = Integer.parseInt(cPage);
        page.setCurrentPage(currentPage);

        int totalCount = studentService.getTotalCount();
        page.setTotalCount(totalCount);
        int pageSize = 4;
        
        page.setPageSize(pageSize);
        
        List<Student> students = studentService.queryStudentsByPage(currentPage, pageSize);
        
        page.setStudents(students);
        request.setAttribute("page1", page);
        request.getRequestDispatcher("index.jsp").forward(request, response);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

按学号查询学生信息(QueryStudentBySnoServlet.java)

package student.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import student.entity.Student;
import student.service.IStudentService;
import student.service.impl.StudentServiceImpl;

public class QueryStudentBySnoServlet extends HttpServlet {
    
    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    request.setCharacterEncoding("UTF-8");
    int sno = Integer.parseInt(request.getParameter("sno"));
    IStudentService service = new StudentServiceImpl();
    Student student = service.queryStudentBySno(sno);
    request.setAttribute("student", student);//将查询到的request信息放在request域中
    request.getRequestDispatcher("StudentInfo.jsp").forward(request,response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}

增加学生信息(AddStudentServlet.java)

package student.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import student.entity.Student;
import student.service.IStudentService;
import student.service.impl.StudentServiceImpl;

public class AddStudentServlet extends HttpServlet {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        String name = request.getParameter("name");
        int sno = Integer.parseInt(request.getParameter("sno"));
        int age = Integer.parseInt(request.getParameter("age"));
        String dept = request.getParameter("dept");
        Student student = new Student(name, sno, age, dept);
        
        IStudentService studentService = new StudentServiceImpl();
        boolean result = studentService.addStudent(student);
        
        response.setContentType("text/html;charest=UTF-8");
        response.setCharacterEncoding("utf-8");
        if(!result) {
            request.setAttribute("error", "addError");
        }else {
            request.setAttribute("error", "noaddError");
        }
        request.getRequestDispatcher("QueryStudentByPageServlet").forward(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}

删除学生信息(DeleteStudentServlet.java)

package student.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import student.service.IStudentService;
import student.service.impl.StudentServiceImpl;

/**
 * Servlet implementation class DeleteStudentServlet
 */
public class DeleteStudentServlet extends HttpServlet {
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        int sno = Integer.parseInt(request.getParameter("sno"));
        IStudentService service = new StudentServiceImpl();
        boolean result = service.deleteStudentBySno(sno);
        response.setContentType("text/html;charest=UTF-8");
        response.setCharacterEncoding("utf-8");
        if(!result) {
            request.setAttribute("error1", "deleteError");
        }else {
            request.setAttribute("error1", "nodeleteError");
        }
        request.getRequestDispatcher("QueryStudentByPageServlet").forward(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

修改学生信息表示层(UpdateStudentServlet.java)

package student.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import student.entity.Student;
import student.service.IStudentService;
import student.service.impl.StudentServiceImpl;

public class UpdateStudentServlet extends HttpServlet {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        String name = request.getParameter("name");
        int sno = Integer.parseInt(request.getParameter("sno"));
        int age = Integer.parseInt(request.getParameter("age"));
        String dept = request.getParameter("dept");
        Student student = new Student(name, age, dept);
        
        System.out.println(sno);
        
        IStudentService service = new StudentServiceImpl();
        boolean result = service.updateStudentBySno(sno, student);
        
        response.setContentType("text/html;charest=UTF-8");
        response.setCharacterEncoding("utf-8");
        if(!result) {
            request.setAttribute("error2", "updateError");
        }else {
            request.setAttribute("error2", "noupdateError");
        }

        request.getRequestDispatcher("QueryStudentByPageServlet").forward(request, response);
    }
        

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}

上传作业(UploadServlet.java)

package student.servlet;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadBase;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import student.service.IStudentService;
import student.service.impl.StudentServiceImpl;

public class UploadServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html; charset=UTF-8");
        String name = null;
        int sno = -1;
        
        boolean isMutipart = ServletFileUpload.isMultipartContent(request);
        if(isMutipart) {
            DiskFileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            factory.setRepository(new File("D:\\uploadtemp"));
            List<FileItem> items = null;
                try {
                    items = upload.parseRequest(request);
                } catch (FileUploadException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            Iterator<FileItem> iter = items.iterator();
            while(iter.hasNext()) {
                FileItem item= iter.next();
                String fileName = item.getName();
                String itemName = item.getFieldName();
                if(item.isFormField()) {
                    if(itemName.equals("name")){
                        name = item.getString("utf-8");
                    }else if(itemName.equals("sno")) {
                        sno =Integer.parseInt(item.getString("utf-8"));
                    }else {
                        
                    }
                }else {
                    //定义上传路径:指定上传的位置
                    String path = "D:\\upload";
                    File file = new File(path,fileName);
                        try {
                            item.write(file);
                            } catch (Exception e) {
                            e.printStackTrace();
                            }
            }
        }
        IStudentService studentService = new StudentServiceImpl();
        boolean result = studentService.upLoadWork(sno,name);
        
        System.out.println(name+sno);
        System.out.println(result);
        if(!result) {
            request.setAttribute("error3", "uploadError");
            request.getRequestDispatcher("QueryStudentByPageServlet").forward(request, response);
            
        }else{
            request.setAttribute("error3", "nouploadError");
            request.getRequestDispatcher("QueryStudentByPageServlet").forward(request, response);
            
        }
        }
    }

    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

②业务逻辑层Service

Service接口(IStudentService.java)

package student.service;

import java.util.List;

import student.entity.Student;

public interface IStudentService {
    //查询全部学生信息
    public List<Student> queryAllStudents();
    //按照学号查询学生信息
    public Student queryStudentBySno(int sno);
    //删除学生信息
    public boolean deleteStudentBySno(int sno) ;
    
    //更改学生信息
    public boolean updateStudentBySno(int sno, Student student) ;
    
    //增加学生信息
    public boolean addStudent(Student student) ;
    
    //查询总数据
    public int getTotalCount();
    //分页
    public List<Student> queryStudentsByPage(int current, int pageSize);
    //检查登陆账户和密码
    public boolean checkLoginID(String ID,String pwd);
    //注册账户
    public boolean addLoginID(String ID, String pwd);
    //更改密码
    public boolean updateLoginPwd(String ID,String pwd1);
    //注销账号
    public boolean deleteLoginID(String ID);
    //判断ID是否存在
    public boolean IDExist(String ID);
    //判断上传作业输入的学生信息是否存在
    public boolean upLoadWork(int sno, String name);

}

接口的实现类(StudentServiceImpl.java)

package student.service.impl;

import java.util.List;

import student.dao.IStudentDao;
import student.dao.impl.StudentDaoImpl;
import student.entity.Student;
import student.service.IStudentService;
import student.util.DBUtil;

//业务逻辑层:逻辑性的增删改查(增:查+增),对dao层进行的组装
public class StudentServiceImpl implements IStudentService{
    IStudentDao studentDao = new StudentDaoImpl();
    //查询全部学生信息
    public List<Student> queryAllStudents(){
        return studentDao.queryAllStudents();
    }
    //按照学号查询学生信息
    public Student queryStudentBySno(int sno) {
        return studentDao.queryStudentBySno(sno);
        
    }
    //删除学生信息
    public boolean deleteStudentBySno(int sno) {
        if(studentDao.isExist(sno)) {
            return studentDao.deleteStudentBySno(sno);
        }
            return false;
    }
    
    
    //更改学生信息
    public boolean updateStudentBySno(int sno, Student student) {
            return studentDao.updateStudentBySno(sno, student);
    }
    
    
    //增加学生信息
    public boolean addStudent(Student student) {
        if(!studentDao.isExist(student.getSno())) {
            studentDao.addStudent(student);
            return true;
        }else {
            System.out.println("学号重复!");
            return false;
        }
    }
    
    //查询总条数
    @Override
    public int getTotalCount() {
        return studentDao.getTotalCount();
    }
    //查询当前页的数据集合
    @Override
    public List<Student> queryStudentsByPage(int current, int pageSize) {
        return studentDao.queryStudentByPage(current, pageSize);
    }
    
    
    @Override
    public boolean checkLoginID(String ID, String pwd) {
        return studentDao.checkLoginID(ID, pwd);
    }
    @Override
    public boolean addLoginID(String ID, String pwd) {
        return studentDao.addLoginID(ID,pwd);
                    
    }
    @Override
    public boolean updateLoginPwd(String ID, String pwd1) {
        return studentDao.updateLoginPwd(ID,pwd1);
    }
    @Override
    public boolean deleteLoginID(String ID) {
        return studentDao.deleteLoginID(ID);
    }
    @Override
    public boolean IDExist(String ID) {
        return studentDao.IDExist(ID);
    }
    @Override
    public boolean upLoadWork(int sno, String name) {
        return studentDao.upLoadWork(sno,name);
    }
    
    
}

③数据访问层Dao

接口(IStudentDao.java)

package student.dao;

import java.util.List;

import student.entity.Student;

public interface IStudentDao {
    public boolean updateLoginPwd(String ID,String pwd1);

    //查询全部学生信息
    public List<Student> queryAllStudents();
    
    
    //判断此人是否存在
    public boolean isExist(int sno) ;
    
    //增加学生信息
    public boolean addStudent(Student student);
    //删除学生信息
    public boolean deleteStudentBySno(int sno);
    
    //根据sno找到要修改的学生,然后再进行修改
    public boolean  updateStudentBySno(int sno,Student student);
    //根据学号查询学生信息
    public Student queryStudentBySno(int sno);
    
    //查询总数据数
    public int getTotalCount();
    //currentPage:当前页(页码)pageSize:页面大小(每页显示的数据条数)
    public List<Student> queryStudentByPage(int currentPage,int pageSize);
    
    public boolean checkLoginID(String ID,String pwd);

    public boolean addLoginID(String ID, String pwd);

    public boolean deleteLoginID(String ID);

    public boolean IDExist(String ID);

    public boolean upLoadWork(int sno, String name);
}

接口的实现类(StudentDaoImpl.java)

package student.dao.impl;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import student.dao.IStudentDao;
import student.entity.Student;
import student.util.DBUtil;

public class StudentDaoImpl implements IStudentDao{
    
    private final String URL = "jdbc:mysql://localhost:3306/STUDENT?useSSL=false&serverTimezone=UTC";
    private final String UserName = "root";
    private final String Pwd = "123456";

    String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
    //查询全部学生信息
    public List<Student> queryAllStudents(){
        PreparedStatement pstmt = null;
        Student student = null;
        List<Student> students = new ArrayList<>();
        ResultSet rs = null;
        try {
            String sql = "select * from student1";
            rs = DBUtil.executeQuery(sql, null);
            while(rs.next()) {
                int sno= rs.getInt("sno");
                String name = rs.getString("name");
                int age = rs.getInt("age");
                String dept = rs.getString("dept");
                student = new Student(name, sno, age, dept);
                students.add(student);
            }
            return students;
            
        } catch(Exception e) {
            e.printStackTrace();
            return null;
        }
        finally {
            DBUtil.closeAll(rs, pstmt, DBUtil.connection);
    }
    }
    
    
    //判断此人是否存在
    public boolean isExist(int sno) {
        return queryStudentBySno(sno) == null? false:true;
    }
    
    //增加学生信息
    public boolean addStudent(Student student) {
        String sql = "insert into student1(name,sno,age,dept) values(?,?,?,?)";
        Object[] params = {student.getName(),student.getSno(),student.getAge(),student.getDept()};
        return DBUtil.executeUpdate(sql, params);
    }
    //删除学生信息
    public boolean deleteStudentBySno(int sno) {
        String sql = "delete from student1 where sno =?";
        Object[] params = {sno};
        return DBUtil.executeUpdate(sql, params);
    }
    
    //根据sno找到要修改的学生,然后再进行修改
    public boolean  updateStudentBySno(int sno,Student student) {
        String sql = "update student1 set name =?,age=?,dept=? where sno=?";
        Object[] params = {student.getName(),student.getAge(),student.getDept(),sno};
        
        return DBUtil.executeUpdate(sql, params);
        
    }
    //根据学号查询学生信息
    public Student queryStudentBySno(int sno){
        PreparedStatement pstmt = null;
        Student student = null;
        Connection connection = null;
        ResultSet rs = null;
        try {
            Class.forName(JDBC_DRIVER);
            connection = DriverManager.getConnection(URL,UserName,Pwd);
            String sql = "select * from student1 where sno = ?";
            pstmt = connection.prepareStatement(sql);
            pstmt.setInt(1, sno);
            rs = pstmt.executeQuery();
            if(rs.next()) {
                int no= rs.getInt("sno");
                String name = rs.getString("name");
                int age = rs.getInt("age");
                String dept = rs.getString("dept");
                student = new Student(name, no, age, dept);
            }
            return student;
            
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;
        } catch(SQLException e) {
            e.printStackTrace();
            return null;
        }catch(Exception e) {
            e.printStackTrace();
            return null;
        }
        finally {
            DBUtil.closeAll(rs, pstmt, DBUtil.connection);
                }

    }

    @Override
    public int getTotalCount() {//查询总数据数
        String sql = "select count(1) from student1";
        return DBUtil.getTotalCount(sql);
    }

    @Override
    public List<Student> queryStudentByPage(int currentPage, int pageSize) {
        String sql = "select * from student1 order by sno asc limit ?,?";
        Object[] params = {currentPage*pageSize,pageSize};
        
        List<Student> students = new ArrayList<>();
        ResultSet rs = DBUtil.executeQuery(sql, params);
        try {
            while(rs.next()) {
                Student student = new Student(rs.getString("name"),rs.getInt("sno"),rs.getInt("age"),rs.getString("dept"));
                students.add(student);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }catch (Exception e) {
            e.printStackTrace();
        }
        return students;
    }

    @Override
    public boolean checkLoginID(String ID, String pwd){
        int count = 0;
        String sql = "select * from login where ID=? and pwd=?";
        Object[] params = {ID,pwd};
        ResultSet rs = DBUtil.executeQuery(sql, params);
        try {
            while(rs.next()) {
                count++;
            }
            if(count>0)
                return true;
            else
                return false;
        } catch (SQLException e) {
            e.printStackTrace();
            }
                return false;
    }

    @Override
    public boolean addLoginID(String ID, String pwd) {
        // TODO Auto-generated method stub
        String sql = "insert into login(ID,pwd) values(?,?)";
        Object[] params = {ID,pwd};
        return DBUtil.executeUpdate(sql, params);
    }

    @Override
    public boolean updateLoginPwd(String ID, String pwd1) {
        String sql = "update login set pwd =? where ID=?";
        Object[] params = {pwd1,ID};
        return DBUtil.executeUpdate(sql, params);
    }

    @Override
    public boolean deleteLoginID(String ID) {
        String sql = "delete from login where ID =?";
        Object[] params = {ID};
        return DBUtil.executeUpdate(sql, params);
    }

    @Override
    public boolean IDExist(String ID) {
        String sql = "select *from login where ID = ?";
                Object[] params = {ID};
        return DBUtil.executeUpdate(sql, params);
    }

    @Override
    public boolean upLoadWork(int sno, String name) {
        int count = 0;
        String sql = "select *from student1 where sno = ? and name = ?";
        Object[] params = {sno,name};
        ResultSet rs = DBUtil.executeQuery(sql, params);
        try {
            while(rs.next()) {
                count++;
            }
            if(count>0)
                return true;
            else
                return false;
        } catch (SQLException e) {
            e.printStackTrace();
            }
                return false;
    }
}

④通用的数据库操作(DBUtils.java)

package student.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import student.entity.Student;

//通用的数据库操作方法
public class DBUtil {
    private static final String URL = "jdbc:mysql://localhost:3306/STUDENT?useSSL=false&serverTimezone=UTC";
    private static final String UserName = "root";
    private static final String Pwd = "123456";
    private static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
    public static Connection connection = null;
    public static PreparedStatement pstmt = null;
    public static ResultSet rs = null;
    
    //查询总数
    public static int getTotalCount(String sql){
        int count = -1;
        try {
            pstmt = createPreParedStatement(sql,null);
            rs = pstmt.executeQuery();
            if(rs.next()) {
                count = rs.getInt(1);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }catch (Exception e) {
            e.printStackTrace();
        }finally {
            closeAll(rs,pstmt,connection);
        }
        return count;
    }
    
    //增删改
    public static boolean executeUpdate(String sql,Object[] params) {
        try {
            pstmt = createPreParedStatement(sql,params);
            int count = pstmt.executeUpdate();
            
            System.out.println(count);
            if(count>0) {
                return true;
            }
            else {
                return false;
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            return false;
        } catch(SQLException e) {
            e.printStackTrace();
            return false;
        }catch(Exception e) {
            e.printStackTrace();
            return false;
        }
        finally {
            closeAll(null,pstmt,connection);
    }
    }
    public static void closeAll(ResultSet rs,Statement stmt,Connection connection){
        try{
            if(rs!=null)rs.close();
            if(pstmt!=null)pstmt.close();
            if(connection!=null)connection.close();
        
        }catch(SQLException e) {
            e.printStackTrace();
        }
    }
    
    public static PreparedStatement createPreParedStatement(String sql,Object[] params) throws ClassNotFoundException, SQLException {
            pstmt = getConnection().prepareStatement(sql);
            if(params!=null) {
            for(int i = 0;i<params.length;i++) {
                pstmt.setObject(i+1, params[i]);
            }
            }
            return pstmt;
    }
    
    public static Connection getConnection() throws ClassNotFoundException, SQLException {
        Class.forName(JDBC_DRIVER);
        return DriverManager.getConnection(URL,UserName,Pwd);
    }
    //通用的查
    public static ResultSet executeQuery(String sql,Object[] params){
        List<Student> students = new ArrayList<>();
        Student student = null;
        
        try {
            pstmt = createPreParedStatement(sql,params);
            rs = pstmt.executeQuery();
            
            return rs;
            
        } catch(SQLException e) {
            e.printStackTrace();
            return null;
        }catch(Exception e) {
            e.printStackTrace();
            return null;
        }
        
    }

    }

3.JavaBean封装数据

①分页帮助类(Page.java)

package student.entity;

import java.util.List;

//分页帮助类
public class Page {
    private int currentPage;
    private int pageSize;
    private int totalCount;
    private int totalPage;
    private List<Student> students;
    public Page() {
        
    }
    public Page(int currentPage, int pageSize, int totalCount, int totalPage, List<Student> students) {
        this.currentPage = currentPage;
        this.pageSize = pageSize;
        this.totalCount = totalCount;
        this.totalPage = totalPage;
        this.students = students;
    }
    public int getCurrentPage() {
        return currentPage;
    }
    public void setCurrentPage(int currentPage) {
        this.currentPage = currentPage;
    }
    public int getPageSize() {
        return pageSize;
    }
    
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
        this.totalPage = this.totalCount%this.pageSize==0?this.totalCount/this.pageSize:this.totalCount/this.pageSize+1;
    }
    public int getTotalCount() {
        return totalCount;
    }
    public void setTotalCount(int totalCount) {
        this.totalCount = totalCount;
    }
    public int getTotalPage() {
        return totalPage;
    }
    
    
    public List<Student> getStudents() {
        return students;
    }
    public void setStudents(List<Student> students) {
        this.students = students;
    }
}

②封装学生信息(Student.java)

package student.entity;

public class Student {
    private String name;
    private int sno;
    private int age;
    private String dept;
    
    public Student(int sno) {
        this.sno = sno;
    }
    
    public Student() {
        
    }
    public Student(String name, int age, String dept) {
        this.name = name;
        this.age = age;
        this.dept = dept;
    }
    public Student(String name, int sno, int age, String dept) {
        this.name = name;
        this.sno = sno;
        this.age = age;
        this.dept = dept;
    }
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getSno() {
        return sno;
    }
    public void setSno(int sno) {
        this.sno = sno;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getDept() {
        return dept;
    }
    public void setDept(String dept) {
        this.dept = dept;
    }
    public String toString() {
        return this.getSno()+"-"+this.getName()+"-"+this.getAge()+"-"+this.getDept();
        
    }
}

4.项目所需jar包

项目需要3个jar包,前两个jar包属于文件上传所需,最后一个为连接数据库的jar包

下载官网地址:https://mvnrepository.com/

五.数据库表格

本人用的是mysql数据库,直接在mysql数据库中新建表格

①登录注册表格login

②学生信息表格student1

标签: mvc java 开发语言

本文转载自: https://blog.csdn.net/weixin_52254591/article/details/125363127
版权归原作者 呆鱼的 所有, 如有侵权,请联系我们删除。

“Javaweb学生信息管理系统(Mysql+JSP+MVC+CSS)”的评论:

还没有评论