位置: IT常识 - 正文

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

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

推荐整理分享Javaweb学生信息管理系统(Mysql+JSP+MVC+CSS)(javaweb学生信息管理系统idea),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javaweb学生信息管理系统,javaweb学生信息管理系统报告,javaweb学生信息管理系统,javaweb学生信息管理系统,javaweb学生信息查询系统,javaweb学生信息管理系统,javaweb学生信息管理系统,javaweb学生信息管理系统论文,内容如对您有帮助,希望把文章链接给更多的朋友!

项目源码及数据库:

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

目录

一.项目介绍

二.运行效果

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"%><!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> <ahref="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 stubdoGet(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 stubdoGet(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 stubdoGet(request, response);}}Javaweb学生信息管理系统(Mysql+JSP+MVC+CSS)(javaweb学生信息管理系统idea)

注销用户表示层(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 stubdoGet(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 stubdoGet(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 stubdoGet(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 blocke.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 stubdoGet(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;}}//查询总条数@Overridepublic int getTotalCount() {return studentDao.getTotalCount();}//查询当前页的数据集合@Overridepublic List<Student> queryStudentsByPage(int current, int pageSize) {return studentDao.queryStudentByPage(current, pageSize);}@Overridepublic boolean checkLoginID(String ID, String pwd) {return studentDao.checkLoginID(ID, pwd);}@Overridepublic boolean addLoginID(String ID, String pwd) {return studentDao.addLoginID(ID,pwd);}@Overridepublic boolean updateLoginPwd(String ID, String pwd1) {return studentDao.updateLoginPwd(ID,pwd1);}@Overridepublic boolean deleteLoginID(String ID) {return studentDao.deleteLoginID(ID);}@Overridepublic boolean IDExist(String ID) {return studentDao.IDExist(ID);}@Overridepublic 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 blocke.printStackTrace();return null;} catch(SQLException e) {e.printStackTrace();return null;}catch(Exception e) {e.printStackTrace();return null;}finally {DBUtil.closeAll(rs, pstmt, DBUtil.connection);}}@Overridepublic int getTotalCount() {//查询总数据数String sql = "select count(1) from student1";return DBUtil.getTotalCount(sql);}@Overridepublic 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;}@Overridepublic 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;elsereturn false;} catch (SQLException e) {e.printStackTrace();}return false;}@Overridepublic boolean addLoginID(String ID, String pwd) {// TODO Auto-generated method stubString sql = "insert into login(ID,pwd) values(?,?)";Object[] params = {ID,pwd};return DBUtil.executeUpdate(sql, params);}@Overridepublic boolean updateLoginPwd(String ID, String pwd1) {String sql = "update login set pwd =? where ID=?";Object[] params = {pwd1,ID};return DBUtil.executeUpdate(sql, params);}@Overridepublic boolean deleteLoginID(String ID) {String sql = "delete from login where ID =?";Object[] params = {ID};return DBUtil.executeUpdate(sql, params);}@Overridepublic boolean IDExist(String ID) {String sql = "select *from login where ID = ?";Object[] params = {ID};return DBUtil.executeUpdate(sql, params);}@Overridepublic 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;elsereturn 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

本文链接地址:https://www.jiuchutong.com/zhishi/292930.html 转载请保留说明!

上一篇:re.findall() 的用法(re.findall()用法)

下一篇:【玩转CSS】学成在线(文末素材源码自取)(十天学会css教程)

  • 如何申报个人所得税减免项目
  • 海外工作薪资比国内高多少
  • 增值税主表填报说明
  • 低于5000是什么意思
  • 小型制造型企业有哪些
  • 多开的增值税发票交多少税
  • 汇算清缴职工福利支出
  • 其他应交款入哪个科目
  • 公司试驾车购置税怎么交
  • 建筑安装工程承包合同
  • 工程项目立项前包括哪几个过程
  • 小规模纳税人开专票
  • 发票纳税人识别号错了能重新开吗
  • 把黑龙江省
  • 财务费用是否存入银行卡
  • 佣金发票可以抵扣吗
  • 办理核定企业所需资料
  • 小型微利企业能开多少发票
  • 土地补偿款属于专项资金吗
  • 劳务和工资合并扣税吗
  • 外协加工费会计分录
  • 应收票据背书转让以取得所需物资
  • 纸质承兑汇票到期怎么兑现,多久能到帐
  • 供应商是收款人还是付款人
  • 差额银行承兑汇票
  • centos 6.5安装教程
  • 联通官网测网速
  • 房地产企业预缴增值税如何申报
  • rsrcmtr.exe - rsrcmtr是什么进程 有什么用
  • 公司整体收购如何交税
  • dsregcmd.exe
  • 苹果macOSBigSur是什么型号
  • 不合规发票扣除多少
  • 年度确认收入怎么算
  • 收款凭证和付款凭证区别
  • 所得税减免与纳税的关系
  • 消费者取得哪种权利
  • 外商投资企业需要备案吗
  • php获取长度
  • thinkphp yii
  • 补差价如何做账
  • 委托研发技术合同登记
  • 会计科目分类有几种方法
  • python最小正整数
  • 汇算清缴补缴所得税摘要怎么写的
  • 集团与子公司资产的区别
  • 其他权益工具的公允价值变动计入哪里
  • 个人所得税中的速算扣除数是什么意思
  • 所得税怎么收取
  • 期末留抵的税额怎么做分录
  • 现金日记账是会计人员根据审核后的
  • 将税后利润首先用于增加投资
  • 个人往对公账户上存款怎么存
  • 现金流量表的编制基础是权责发生制
  • 销售红酒的公司
  • 财务人员如何审合同课件
  • 银行对账单怎么修改
  • 长期股权投资是什么类的科目
  • 会计总监的薪资是多少
  • sql基本教程
  • sql的排序函数
  • win7旗舰版系统还原无法启动
  • windows10磁盘
  • gitlab离线安装 linux
  • linux 更改目录名
  • 微软强制升级
  • cocos2dx lua android glsurfaceview 截图
  • nodequery
  • 基于nodejs的项目
  • js设置select
  • js创建对象的三种方式
  • nodejs readfile
  • 网页编辑器手机版
  • python 类的用法
  • unity接入安卓sdk
  • android解压app
  • 货物劳务税包括哪些税
  • 纳税人总机构和分机构不在同一县怎么办
  • 企业税收筹划的基本目标
  • 宁阳旧城改造名单
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设