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


    目录

    一.项目介绍

    二.运行效果

    1.登录界面

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

    3.增加学生界面

    ?编辑

    三.项目目录结构

    ?四.代码展示

    1.jsp及css代码

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

    ②登录界面css(login.css)

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

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

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

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

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

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

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

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

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

    2.三层架构

    ①表示层Servlet

    ②业务逻辑层Service

    ③数据访问层Dao

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

    3.JavaBean封装数据

    ①分页帮助类(Page.java)

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

    4.项目所需jar包

    五.数据库表格

    ①登录注册表格login

    ②学生信息表格student1


    一.项目介绍

    本系统主要实现对基于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"%>
    
    
    
    
    
    
    学生信息管理系统-登录界面
    
    
    	
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85

    ②登录界面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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95

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

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    
    
    
    
    
    
    	
    	
    注册账号
    
    
    	

    用户注册





    返回 <% String error4 = (String) request.getAttribute("error4"); if (error4!= null) { if (error4.equals("addError")) { out.println("注册失败!账户名已经存在!"); } } %>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59

    ④注册用户界面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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

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

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    
    
    
    
    
    	
    	
    
    更改账号密码
    
    
    	

    修改密码






    返回 <% String error0 = (String) request.getAttribute("error0"); if (error0!= null) { if (error0.equals("loginError")) { out.println("用户名或密码错误,请重新输入!"); } else if (error0.equals("nologinError")) { response.sendRedirect("login.jsp"); } } %>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61

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

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    
    
    
    
    
    注销账号
    
    
    	

    注销账号




    返回 <% String error2 = (String) request.getAttribute("error2"); if (error2!= null) { if (error2.equals("loginError")) { out.println("用户名或密码错误!注销失败!"); } } %>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    ⑦登录成功主界面(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"%>
    
    
    
    	
    	
    	
    	
    
    
    学生信息列表
    
    
    
    	
    <% Page page1 = (Page)request.getAttribute("page1"); for(Student student:page1.getStudents()){ %> <% } %>

    学号

    姓名

    年龄

    专业

    操作

    <%=student.getSno() %> <%=student.getName() %> <%=student.getAge() %> <%=student.getDept() %> 删除
    <% if(page1.getCurrentPage()==page1.getTotalPage()-1){ %> <% } else if(page1.getCurrentPage()==0){ %> <% } else{ %> <% } %>
    <% 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("上传成功!"); } } %>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126

    ⑧登陆成功界面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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56

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

    <%@page import="student.entity.Student"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    
    
    
    
    
    修改学生信息
    
    
    	<%
    		Student student = (Student)request.getAttribute("student");
    	%>		
    	

    修改学生信息

    学号:
    姓名:
    年龄:
    专业:
    返回
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

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

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    
    
    
    
    
    
    	
    	
    	
    增加学生信息
    
    
    	

    增加学生信息






    返回
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62

    上传作业操作(UpAndDown.jsp)

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    
    
    
    
    
    上传作业
    
    
    	

    上传作业





    返回
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    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);
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    注册账户表示层(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);
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45

    修改密码表示层(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);
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51

    注销用户表示层(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);
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50

    分页显示(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 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);
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57

    按学号查询学生信息(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);
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    增加学生信息(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);
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46

    删除学生信息(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);
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    修改学生信息表示层(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);
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50

    上传作业(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 items = null;
    				try {
    					items = upload.parseRequest(request);
    				} catch (FileUploadException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    			Iterator 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);
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93

    ②业务逻辑层Service

    Service接口(IStudentService.java)

    package student.service;
    
    import java.util.List;
    
    import student.entity.Student;
    
    public interface IStudentService {
    	//查询全部学生信息
    	public List 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 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);
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    接口的实现类(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 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 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);
    	}
    	
    	
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88

    ③数据访问层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 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 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);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46

    接口的实现类(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 queryAllStudents(){
    		PreparedStatement pstmt = null;
    		Student student = null;
    		List 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 queryStudentByPage(int currentPage, int pageSize) {
    		String sql = "select * from student1 order by sno asc limit ?,?";
    		Object[] params = {currentPage*pageSize,pageSize};
    		
    		List 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;
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168
    • 169
    • 170
    • 171
    • 172
    • 173
    • 174
    • 175
    • 176
    • 177
    • 178
    • 179
    • 180
    • 181
    • 182
    • 183
    • 184
    • 185
    • 186
    • 187
    • 188
    • 189
    • 190
    • 191
    • 192
    • 193
    • 194
    • 195
    • 196
    • 197
    • 198
    • 199
    • 200
    • 201
    • 202
    • 203
    • 204
    • 205
    • 206
    • 207
    • 208
    • 209
    • 210
    • 211
    • 212
    • 213
    • 214
    • 215
    • 216
    • 217
    • 218

    ④通用的数据库操作(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 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;
    		}
    		
    	}
    
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116

    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 students;
    	public Page() {
    		
    	}
    	public Page(int currentPage, int pageSize, int totalCount, int totalPage, List 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 getStudents() {
    		return students;
    	}
    	public void setStudents(List students) {
    		this.students = students;
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53

    ②封装学生信息(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();
    		
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56

    4.项目所需jar包

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

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

    五.数据库表格

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

    ①登录注册表格login

    ②学生信息表格student1

  • 相关阅读:
    vue项目适配屏幕分辨率与屏幕的缩放适配详细教程
    Vue条件渲染
    单调栈: 接雨水
    论文阅读笔记——A deep tree-based model for software defect prediction
    七大排序 (9000字详解直接插入排序,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序)
    webpack 打包 CSS 文件,解析器兼容性问题
    c高级 day1
    Unity 鼠标拖拽功能
    java ssm基于B_S架构的互联网在线培训教育平台
    vue状态管理工具
  • 原文地址:https://blog.csdn.net/m0_67403076/article/details/126020054