基于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
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 LoginServlet extends HttpServlet {
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");
BusinessService service = new BusinessServiceImpl();
// 获取登录类型
String type = request.getParameter("cho_Province");
// 获取session对象
Student student = (Student) request.getSession()
.getAttribute("student");
Admin admin = (Admin) request.getSession().getAttribute("admin");
Teacher teacher = (Teacher) request.getSession()
.getAttribute("teacher");
// 如果session存在则刷新页面
if (student != null || admin != null || teacher != null) {
if (student != null) {
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);
}
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");
public class DeleteScoreServlet 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");
Teacher teacher = (Teacher) request.getSession()
.getAttribute("teacher");
if (teacher == 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)) {
&& department != null && degree != null && title != null) {
flag = service.addTeacher(teacher);
if (flag) {
request.setAttribute("message",
}else{
request.setAttribute("message",
}
String pageNum = request.getParameter("pageNum");
Page page = service.findTeachersRecords(pageNum);
page.setUrl("/AdminToTeaServlet");
request.setAttribute("page", page);
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 AddStuServlet extends HttpServlet {
private BusinessService service = new BusinessServiceImpl();
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
}
public class DeleteScoreServlet 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");
Teacher teacher = (Teacher) request.getSession()
.getAttribute("teacher");
if (teacher == 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;
// 识别令牌,不合法将中止页面运行
} 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);
}
}
session.setAttribute("CONTROL_REFRESH", tokenStr);
String sname = request.getParameter("sname");
String sno = request.getParameter("sno");
String sex = request.getParameter("sex");
String password = request.getParameter("password");
String department = request.getParameter("department");
String major = request.getParameter("major");
String sclass = request.getParameter("sclass");
if (sname != null && sno != null && sex != null && password != null
&& department != null && major != null && sclass != null) {
boolean flag = service.updateStudent(sno, password, sname, sex,
major, department, sclass);
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);
}
}
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.findCoursesRecords(pageNum);
request.setAttribute("page", page);
request.getRequestDispatcher("/WEB-INF/admin_course.jsp")
.forward(request, response);
return;
}
// 更新令牌
String cno = request.getParameter("cno");
session.setAttribute("CONTROL_REFRESH", tokenStr);
boolean flag = service.deleteCourse(cno);
if (flag) {
request.setAttribute("message",
} else {
request.setAttribute("message",
}
// 设置页码
String pageNum = request.getParameter("pageNum");
Page page = service.findCoursesRecords(pageNum);
request.setAttribute("page", page);
page.setUrl("/AdminToCourseServlet");
request.getRequestDispatcher("/WEB-INF/admin_course.jsp").forward(request,
response);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
String department = request.getParameter("department");
String degree = request.getParameter("degree");
String title = request.getParameter("title");
if (tname != null && tno != null && sex != null && password != null
&& department != null && degree != null && title != null) {
Teacher teacher = new Teacher(tno, tname, password, sex, department, degree, title);
boolean flag = service.updateTeacher(teacher);
if (flag) {
request.setAttribute("message",
} else {
request.setAttribute("message",
}
String pageNum = request.getParameter("pageNum");
Page page = service.findTeachersRecords(pageNum);
page.setUrl("/AdminToTeaServlet");
request.setAttribute("page", page);
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 GetScoreToUpdateServlet 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");
Teacher teacher = (Teacher) request.getSession()
.getAttribute("teacher");
if (teacher == 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 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);
}
}
// 更新令牌
session.setAttribute("CONTROL_REFRESH", tokenStr);
String sno = request.getParameter("sno");
String sname = request.getParameter("sname");
String sex = request.getParameter("sex");
String password = request.getParameter("password");
String major = request.getParameter("major");
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 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);
boolean flag = service.deleteStudent(sno);
if (flag) {
request.setAttribute("message",
} else {
public class AdminToCourseServlet 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){
// 此段代码用于防止刷新后的重复提交
// 时间戳
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.findCoursesRecords(pageNum);
page.setUrl("/AdminToCourseServlet");
request.setAttribute("page", page);
request.getRequestDispatcher("/WEB-INF/admin_course.jsp").forward(request,
response);
}else{
request.setAttribute("message",
request.getRequestDispatcher("/index.jsp").forward(request,
response);
return;
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);
boolean flag = service.deleteStudent(sno);
if (flag) {
request.setAttribute("message",
} else {
request.setAttribute("message",
}
// 设置页码
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 UpdateCourseServlet 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 tname = request.getParameter("tname");
String tno = request.getParameter("tno");
String cno = request.getParameter("cno");
String cname = request.getParameter("cname");
String credit = request.getParameter("credit");
if (tname != null && tno != null && cno != null && cname != null
&& credit != null) {
Course course = new Course(cno, cname, tno, tname, credit);
boolean flag = service.updateCourse(course);
if (flag) {
request.setAttribute("message",
} else {
request.setAttribute("message",
}
String pageNum = request.getParameter("pageNum");
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");
Teacher teacher = (Teacher) request.getSession()
.getAttribute("teacher");
if (teacher == 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 sno = request.getParameter("sno");
String sname = request.getParameter("sname");
String cno = request.getParameter("cno");
String cname = request.getParameter("cname");
String credit = request.getParameter("credit");
String type = request.getParameter("type");
String exam_method = request.getParameter("exam_method");
String property = request.getParameter("property");
String grade = request.getParameter("grade");
String get_credit = request.getParameter("get_credit");
String GPA = request.getParameter("GPA");
String credit_GPA = request.getParameter("credit_GPA");
String note = request.getParameter("note");
String tno = request.getParameter("tno");
boolean flag = false;
if (sname != null && sno != null && cno != null && cname != null
&& credit != null && type != null && exam_method != null
&& property != null && grade != null && get_credit != null
&& GPA != null && credit_GPA != null && note != null
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 sex = request.getParameter("sex");
String password = request.getParameter("password");
String degree = request.getParameter("degree");
String department = request.getParameter("department");
String title = request.getParameter("title");
Teacher teacher = new Teacher(tno, tname, password, sex, department, degree, title);
boolean flag = false;
if (tname != null && tno != null && sex != null && password != null
&& department != null && degree != null && title != null) {
flag = service.addTeacher(teacher);
if (flag) {
request.setAttribute("message",
}else{
request.setAttribute("message",
}
String pageNum = request.getParameter("pageNum");
Page page = service.findTeachersRecords(pageNum);
page.setUrl("/AdminToTeaServlet");
request.setAttribute("page", page);
request.getRequestDispatcher("/WEB-INF/admin_teacher.jsp")
.forward(request, response);
}
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(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);
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);
}