基于javaweb+mysql的jsp+servlet教务处学生成绩管理系统(java+jsp+bootstrap+servlet+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的JSP+Servlet教务处学生成绩管理系统(java+jsp+bootstrap+servlet+mysql)
项目介绍
本项目包含管理员、教师、学生三种角色;
用户角色包含以下功能:
修改密码,查看自己的信息,查看自己的成绩,登录界面等功能。
管理员角色包含以下功能: 修改示例,增删改查学生信息,增删改查教师信息,增删改查课程信息,管理员修改密码等功能。
老师角色包含以下功能: 个人信息查看,修改成绩信息,增加成绩信息,管理学生成绩信息等功能。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本; 6.是否Maven项目:否;
技术栈
JSP+CSS+JavaScript+jquery+bootstrap+servlet+mysql
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中dbconfig.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入http://localhost:8080/ 登录 管理员账号/密码:admin/admin 教师账号/密码: 20194101/123456 学生账号/密码: 202041404237/123456
return;
} else {
String oldPwd = request.getParameter("old_password");
String newPwd = request.getParameter("new_password");
String newPwdAgain = request.getParameter("new_password_again");
System.out.println("旧密码"+oldPwd);
System.out.println("新密码"+newPwd);
System.out.println("再次输入新密码"+newPwdAgain);
teacher = service.queryTeacher(teacher.getTno(), oldPwd);
if(oldPwd.equals("")||newPwd.equals("")||newPwdAgain.equals("")){
request.setAttribute("message",
request.getRequestDispatcher("/update_stu_pwd.jsp").forward(
request, response);
}
if (teacher == null) {
request.setAttribute("message",
request.getRequestDispatcher("/update_stu_pwd.jsp").forward(
request, response);
} else {
if (!newPwd.equals(newPwdAgain)) {
request.setAttribute("message",
request.getRequestDispatcher("/update_stu_pwd.jsp")
.forward(request, response);
} else {
boolean flag = service.updateTeacherPwd(teacher.getTno(), newPwd);
if (flag) {
request.setAttribute("message",
request.getSession().invalidate();
request.getRequestDispatcher("/index.jsp").forward(
request, response);
}
}
}
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
}
String pageNum = request.getParameter("pageNum");
Page page = service.findStudentsRecords(pageNum);
page.setUrl("/LoginServlet");
request.setAttribute("page", page);
request.getRequestDispatcher("/WEB-INF/admin_main.jsp")
.forward(request, response);
}
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
public class AddCourseServlet extends HttpServlet {
private BusinessService service = new BusinessServiceImpl();
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/jsp;charset=utf-8");
String tokenStr = session.getId() + timeStamp;
// 识别令牌,不合法将中止页面运行
// 更新令牌
session.setAttribute("CONTROL_REFRESH", tokenStr);
// 设置页码
String pageNum = request.getParameter("pageNum");
Page page = service.findScoresRecordsByTno(teacher.getTno(), pageNum);
page.setUrl("/LoginServlet");
request.setAttribute("page", page);
request.getRequestDispatcher("/WEB-INF/teacher_main.jsp")
.forward(request, response);
} else if ("学生".equals(type)) {
String username = request.getParameter("username");
String password = request.getParameter("password");
student = service.queryStudent(username);
if (student == null) {
request.setAttribute("message",
request.getRequestDispatcher("/index.jsp").forward(request,
response);
return;
}
student = service.queryStudent(username, password);
if (student == null) {
request.setAttribute("message",
request.getRequestDispatcher("/index.jsp").forward(request,
response);
return;
}
request.getSession().setAttribute("student", student);
// 此段代码用于防止刷新后的重复提交
// 时间戳
String timeStamp = String.valueOf(new java.util.Date().getTime());
HttpSession session = request.getSession();
// 创建新令牌值
String tokenStr = session.getId() + timeStamp;
// 识别令牌,不合法将中止页面运行
// 更新令牌
session.setAttribute("CONTROL_REFRESH", tokenStr);
// 设置页码
String pageNum = request.getParameter("pageNum");
Page page = service
.findScoresRecords(student.getSno(), pageNum);
page.setUrl("/LoginServlet");
request.setAttribute("page", page);
request.getRequestDispatcher("/WEB-INF/student_main.jsp")
.forward(request, response);
} else if("请选择身份".equals(type)){
request.setAttribute("message",
request.setAttribute("message",
request.getRequestDispatcher("/index.jsp").forward(request,
response);
return;
} else {
// 时间戳
String timeStamp = String.valueOf(new java.util.Date().getTime());
HttpSession session = request.getSession();
// 创建新令牌值
String tokenStr = session.getId() + timeStamp;
// 识别令牌,不合法将中止页面运行
// 更新令牌
session.setAttribute("CONTROL_REFRESH", tokenStr);
String pageNum = request.getParameter("pageNum");
String cno = request.getParameter("cno");
String sno = request.getParameter("sno");
System.out.println(sno + "" + cno);
Score score = service.queryScore(sno, cno);
request.setAttribute("score", score);
request.setAttribute("pageNum", pageNum);
request.getRequestDispatcher("/WEB-INF/teacher_score_update.jsp")
.forward(request, response);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
public class AddCourseServlet extends HttpServlet {
private BusinessService service = new BusinessServiceImpl();
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/jsp;charset=utf-8");
response.setCharacterEncoding("utf-8");
Admin admin = (Admin) request.getSession().getAttribute("admin");
if (admin == null) {
request.setAttribute("message",
request.getRequestDispatcher("/index.jsp").forward(request,
response);
return;
} else {
// 时间戳
String timeStamp = String.valueOf(new java.util.Date().getTime());
HttpSession session = request.getSession();
// 创建新令牌值
String tokenStr = session.getId() + timeStamp;
// 识别令牌,不合法将中止页面运行
// 更新令牌
session.setAttribute("CONTROL_REFRESH", tokenStr);
String tno = request.getParameter("tno");
String tname = request.getParameter("tname");
String cno = request.getParameter("cno");
String cname = request.getParameter("cname");
// 设置页码
String pageNum = request.getParameter("pageNum");
Page page = service.findStudentsRecords(pageNum);
request.setAttribute("page", page);
page.setUrl("/LoginServlet");
request.getRequestDispatcher("/WEB-INF/admin_main.jsp").forward(request,
response);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
public class UpdateScoreServlet extends HttpServlet {
private BusinessService service = new BusinessServiceImpl();
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/jsp;charset=utf-8");
.forward(request, response);
} else {
boolean flag = service.updateAdmin(admin.getAdmin(), newPwd);
if (flag) {
request.setAttribute("message",
request.getSession().invalidate();
request.getRequestDispatcher("/index.jsp").forward(
request, response);
}
}
}
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
public class AddTeaServlet extends HttpServlet {
private BusinessService service = new BusinessServiceImpl();
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/jsp;charset=utf-8");
response.setCharacterEncoding("utf-8");
request.getRequestDispatcher("/index.jsp").forward(
request, response);
return;
} else {
String oldPwd = request.getParameter("old_password");
String newPwd = request.getParameter("new_password");
String newPwdAgain = request.getParameter("new_password_again");
System.out.println("旧密码"+oldPwd);
System.out.println("新密码"+newPwd);
System.out.println("再次输入新密码"+newPwdAgain);
admin = service.queryAdmin(admin.getAdmin(), oldPwd);
if(oldPwd.equals("")||newPwd.equals("")||newPwdAgain.equals("")){
request.setAttribute("message",
request.getRequestDispatcher("/update_admin_pwd.jsp").forward(
request, response);
}
if (admin == null) {
request.setAttribute("message",
request.getRequestDispatcher("/update_admin_pwd.jsp").forward(
request, response);
} else {
if (!newPwd.equals(newPwdAgain)) {
request.setAttribute("message",
request.getRequestDispatcher("/update_admin_pwd.jsp")
.forward(request, response);
} else {
boolean flag = service.updateAdmin(admin.getAdmin(), newPwd);
if (flag) {
request.setAttribute("message",
request.getSession().invalidate();
request.getRequestDispatcher("/index.jsp").forward(
request, response);
}
}
}
}
}
request.setAttribute("message",
request.getRequestDispatcher("/index.jsp").forward(
request, response);
return;
} else {
String oldPwd = request.getParameter("old_password");
String newPwd = request.getParameter("new_password");
String newPwdAgain = request.getParameter("new_password_again");
System.out.println("旧密码"+oldPwd);
System.out.println("新密码"+newPwd);
System.out.println("再次输入新密码"+newPwdAgain);
student = service.queryStudent(student.getSno(), oldPwd);
if(oldPwd.equals("")||newPwd.equals("")||newPwdAgain.equals("")){
request.setAttribute("message",
request.getRequestDispatcher("/update_stu_pwd.jsp").forward(
request, response);
}
if (student == null) {
request.setAttribute("message",
request.getRequestDispatcher("/update_stu_pwd.jsp").forward(
request, response);
} else {
if (!newPwd.equals(newPwdAgain)) {
request.setAttribute("message",
request.getRequestDispatcher("/update_stu_pwd.jsp")
.forward(request, response);
} else {
boolean flag = service.updateStudentPwd(student.getSno(), newPwd);
if (flag) {
request.setAttribute("message",
request.getSession().invalidate();
request.getRequestDispatcher("/index.jsp").forward(
request, response);
}
}
}
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
String department = request.getParameter("department");
String sclass = request.getParameter("sclass");
Student student = new Student(sno, sname, password, sex, major,
department, sclass);
boolean flag = false;
if (sname != null && sno != null && sex != null && password != null
&& department != null && major != null && sclass != null) {
flag = service.addStudent(student);
if (flag) {
request.setAttribute("message",
} else {
request.setAttribute("message",
}
String pageNum = request.getParameter("pageNum");
Page page = service.findStudentsRecords(pageNum);
page.setUrl("/LoginServlet");
request.setAttribute("page", page);
request.getRequestDispatcher("/WEB-INF/admin_main.jsp")
.forward(request, response);
}
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
public class UpdateTeaServlet extends HttpServlet {
private BusinessService service = new BusinessServiceImpl();
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
request.getRequestDispatcher("/WEB-INF/student_main.jsp")
.forward(request, response);
}
if (admin != null) {
String pageNum = request.getParameter("pageNum");
Page page = service.findStudentsRecords(pageNum);
page.setUrl("/LoginServlet");
request.setAttribute("page", page);
request.getRequestDispatcher("/WEB-INF/admin_main.jsp")
.forward(request, response);
}
if (teacher != null) {
String pageNum = request.getParameter("pageNum");
Page page = service.findScoresRecordsByTno(teacher.getTno(), pageNum);
page.setUrl("/LoginServlet");
request.setAttribute("page", page);
request.getRequestDispatcher("/WEB-INF/teacher_main.jsp")
.forward(request, response);
}
} else {
if ("管理员".equals(type)) {
String username = request.getParameter("username");
String password = request.getParameter("password");
admin = service.queryAdmin(username);
if (admin == null) {
request.setAttribute("message",
request.getRequestDispatcher("/index.jsp").forward(request,
response);
return;
}
admin = service.queryAdmin(username, password);
if (admin == null) {
request.setAttribute("message",
request.getRequestDispatcher("/index.jsp").forward(request,
response);
return;
}
request.getSession().setAttribute("admin", admin);
// 此段代码用于防止刷新后的重复提交
// 时间戳
String timeStamp = String.valueOf(new java.util.Date().getTime());
HttpSession session = request.getSession();
// 创建新令牌值
String tokenStr = session.getId() + timeStamp;
if (teacher == null) {
request.setAttribute("message",
request.getRequestDispatcher("/update_stu_pwd.jsp").forward(
request, response);
} else {
if (!newPwd.equals(newPwdAgain)) {
request.setAttribute("message",
request.getRequestDispatcher("/update_stu_pwd.jsp")
.forward(request, response);
} else {
boolean flag = service.updateTeacherPwd(teacher.getTno(), newPwd);
if (flag) {
request.setAttribute("message",
request.getSession().invalidate();
request.getRequestDispatcher("/index.jsp").forward(
request, response);
}
}
}
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
public class DeleteStuServlet extends HttpServlet {
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
public class DeleteTeaServlet extends HttpServlet {
private BusinessService service = new BusinessServiceImpl();
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/jsp;charset=utf-8");
response.setCharacterEncoding("utf-8");
Admin admin = (Admin) request.getSession().getAttribute("admin");
if (admin == null) {
request.setAttribute("message",
request.getRequestDispatcher("/index.jsp").forward(request,
response);
return;
} else {
// 此段代码用于防止刷新后的重复提交
// 时间戳
String timeStamp = String.valueOf(new java.util.Date().getTime());
HttpSession session = request.getSession();
// 创建新令牌值
session.setAttribute("CONTROL_REFRESH", tokenStr);
boolean flag = service.deleteTeacher(tno);
if (flag) {
request.setAttribute("message",
} else {
request.setAttribute("message",
}
// 设置页码
String pageNum = request.getParameter("pageNum");
Page page = service.findTeachersRecords(pageNum);
request.setAttribute("page", page);
page.setUrl("/AdminToTeaServlet");
request.getRequestDispatcher("/WEB-INF/admin_teacher.jsp").forward(request,
response);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
public class UpdateStuPwdServlet extends HttpServlet {
private BusinessService service = new BusinessServiceImpl();
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/jsp;charset=utf-8");
response.setCharacterEncoding("utf-8");
Student student = (Student) request.getSession().getAttribute("student");
if (student == null) {
request.setAttribute("message",
public class DeleteStuServlet extends HttpServlet {
private BusinessService service = new BusinessServiceImpl();
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/jsp;charset=utf-8");
response.setCharacterEncoding("utf-8");
Admin admin = (Admin) request.getSession().getAttribute("admin");
if (admin == null) {
request.setAttribute("message",
request.getRequestDispatcher("/index.jsp").forward(request,
response);
return;
} else {
// 此段代码用于防止刷新后的重复提交
// 时间戳
String timeStamp = String.valueOf(new java.util.Date().getTime());
HttpSession session = request.getSession();
// 创建新令牌值
String tokenStr = session.getId() + timeStamp;
// 识别令牌,不合法将中止页面运行
String sesValue = (String) session.getAttribute("CONTROL_REFRESH");
System.out.println(sesValue);
String reqValue = request.getParameter("tokenStr");
System.out.println(reqValue);
if (!sesValue.equals(reqValue)) {
// 设置页码
String pageNum = request.getParameter("pageNum");
Page page = service.findStudentsRecords(pageNum);
request.setAttribute("page", page);
request.getRequestDispatcher("/WEB-INF/admin_main.jsp")
.forward(request, response);
return;
}
// 更新令牌
String sno = request.getParameter("sno");
session.setAttribute("CONTROL_REFRESH", tokenStr);
&& property != null && grade != null && get_credit != null
&& GPA != null && credit_GPA != null && note != null
&& tno != null) {
Score score = new Score(sno, sname, cno, cname, credit, type, exam_method, property, grade, get_credit, GPA, credit_GPA, note, tno);
flag = service.addScore(score);
if (flag) {
request.setAttribute("message",
} else {
request.setAttribute("message",
}
String pageNum = request.getParameter("pageNum");
Page page = service.findScoresRecordsByTno(tno, pageNum);
page.setUrl("/LoginServlet");
request.setAttribute("page", page);
request.getRequestDispatcher("/WEB-INF/teacher_main.jsp")
.forward(request, response);
}
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
public class DeleteScoreServlet extends HttpServlet {
response);
return;
}
request.getSession().setAttribute("admin", admin);
// 此段代码用于防止刷新后的重复提交
// 时间戳
String timeStamp = String.valueOf(new java.util.Date().getTime());
HttpSession session = request.getSession();
// 创建新令牌值
String tokenStr = session.getId() + timeStamp;
// 识别令牌,不合法将中止页面运行
// 更新令牌
session.setAttribute("CONTROL_REFRESH", tokenStr);
// 设置页码
String pageNum = request.getParameter("pageNum");
Page page = service.findStudentsRecords(pageNum);
page.setUrl("/LoginServlet");
request.setAttribute("page", page);
request.getRequestDispatcher("/WEB-INF/admin_main.jsp")
.forward(request, response);
} else if ("教师".equals(type)) {
String username = request.getParameter("username");
String password = request.getParameter("password");
teacher = service.queryTeacher(username);
if (teacher == null) {
request.setAttribute("message",
request.getRequestDispatcher("/index.jsp").forward(request,
response);
return;
}
teacher = service.queryTeacher(username,password);
if (teacher == null) {
request.setAttribute("message",
request.getRequestDispatcher("/index.jsp").forward(request,
response);
return;
}
request.getSession().setAttribute("teacher", teacher);
// 此段代码用于防止刷新后的重复提交
// 时间戳
String timeStamp = String.valueOf(new java.util.Date().getTime());
HttpSession session = request.getSession();
// 创建新令牌值
String tokenStr = session.getId() + timeStamp;
// 识别令牌,不合法将中止页面运行
// 更新令牌
session.setAttribute("CONTROL_REFRESH", tokenStr);
// 设置页码
String pageNum = request.getParameter("pageNum");
Page page = service.findScoresRecordsByTno(teacher.getTno(), pageNum);
page.setUrl("/LoginServlet");