基于javaweb的JSP+Servlet教务选课成绩管理系统(java+mysql+servlet+jsp+bootstrap)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

272323010309

282323010309

292323010309

312323010309

322323010309

332323010309

342323010309

基于javaweb的JSP+Servlet教务选课成绩管理系统(java+mysql+servlet+jsp+bootstrap)

管理员:
admin 123456

学生:
student1 123456
student2 123456
student3 123456
student4 123456

教师:
teacher1 123456
teacher2 123456
teacher3 123456

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
	Connection con=null;
try{
con=dbUtil.getCon();
List<Teacher> teacherList=teacherDao.teacherList(con, pageBean, s_teacher);
int total=teacherDao.teacherCount(con, s_teacher);
String pageCode=PageUtil.getPagation(request.getContextPath()+"/teacher?action=list", total, Integer.parseInt(page), 3);
request.setAttribute("pageCode", pageCode);
request.setAttribute("modeName", "教师信息管理");
request.setAttribute("teacherList", teacherList);
request.setAttribute("mainPage", "teacher/list.jsp");
request.getRequestDispatcher("main.jsp").forward(request, response);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

/**
* 添加修改预操作
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
private void preSave(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
String id=request.getParameter("id");
if(StringUtil.isNotEmpty(id)){
request.setAttribute("actionName", "教师信息修改");
Connection con=null;
try{
con=dbUtil.getCon();
Teacher teacher=teacherDao.loadTeacherById(con, id);
request.setAttribute("teacher", teacher);
}catch(Exception e){
e.printStackTrace();
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
		error="密码不能为空!";
}else if(StringUtil.isEmpty(userType)){
error="请选择用户类型!";
}
User user=new User(userName,password,userType);
if(StringUtil.isNotEmpty(error)){
request.setAttribute("user", user);
request.setAttribute("error", error);
request.getRequestDispatcher("login.jsp").forward(request, response);
return;
}
Connection con=null;
User currentUser=null;
try{
con=dbUtil.getCon();
if("管理员".equals(userType)){
currentUser=managerDao.login(con, user);
}else if("教师".equals(userType)){
currentUser=teacherDao.login(con, user);
}else if("学生".equals(userType)){
currentUser=studentDao.login(con, user);
}

if(currentUser==null){
error="用户名或密码错误!";
request.setAttribute("user", user);
request.setAttribute("error", error);
request.getRequestDispatcher("login.jsp").forward(request, response);
return;
}else{
HttpSession session=request.getSession();
session.setAttribute("currentUser", currentUser);
response.sendRedirect("main.jsp");
}
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

/**
* 安全退出
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
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
			}else{
result.put("success", true);
courseDao.courseDelete(con, id);
}
ResponseUtil.write(result, response);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
}




/**
* 用户Servlet类
*
*/
public class UserServlet extends HttpServlet{

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

private DbUtil dbUtil=new DbUtil();
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
	}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}


/**
* 删除操作
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
private void delete(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
String id=request.getParameter("id");
Connection con=null;
try{
con=dbUtil.getCon();
JSONObject result=new JSONObject();
if(courseDao.existCourseWithTeacherId(con, id)){
result.put("errorInfo", "该老师有课程在授,不能删除!");
}else{
teacherDao.teacherDelete(con, id);
result.put("success", true);
}
ResponseUtil.write(result, response);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}


/**
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
	User currentUser=(User) session.getAttribute("currentUser");
Connection con=null;
try{
con=dbUtil.getCon();
List<Student> studentList=studentDao.findStudentsByTeacherId(con, currentUser.getUserId());
request.setAttribute("studentList", studentList);
request.setAttribute("modeName", "查看所带学生");
request.setAttribute("mainPage", "teacher/studentList.jsp");
request.getRequestDispatcher("main.jsp").forward(request, response);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}


/**
* 查看个人信息
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
private void showInfo(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
HttpSession session=request.getSession();
User currentUser=(User) session.getAttribute("currentUser");
Connection con=null;
try{
con=dbUtil.getCon();
Teacher teacher=teacherDao.loadTeacherById(con, String.valueOf(currentUser.getUserId()));
request.setAttribute("teacher", teacher);
request.setAttribute("modeName", "查看个人信息");
request.setAttribute("mainPage", "teacher/info.jsp");
request.getRequestDispatcher("main.jsp").forward(request, response);
}catch(Exception e){
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
}

/**
* 添加修改预操作
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
private void preSave(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
String id=request.getParameter("id");
if(StringUtil.isNotEmpty(id)){
request.setAttribute("actionName", "学生信息修改");
Connection con=null;
try{
con=dbUtil.getCon();
Student student=studentDao.loadStudentById(con, id);
request.setAttribute("student", student);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}else{
request.setAttribute("actionName", "学生信息添加");
}
request.setAttribute("mainPage", "student/save.jsp");
request.setAttribute("modeName", "学生信息管理");
request.getRequestDispatcher("main.jsp").forward(request, response);
}

/**
* 添加修改操作
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
private void save(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
String id=request.getParameter("id");
String userName=request.getParameter("userName");
String password=request.getParameter("password");


项目链接:
https://javayms.github.io?id=262323010309201ea
https://javayms.pages.dev?id=262323010309201ea