一、系统介绍

1.开发环境

开发工具:IDEA2018

JDK版本:jdk1.8

Mysql版本:8.0.13

2.技术选型

Java+Servlet+Boostrap+Jsp+Mysql

3.系统功能

1.用户注册登录系统;

2.管理员审核用户,查看课程选课情况,开启签到,删除课程,修改密码;

3.教师创建课程,查看成员,开启签到,删除课程,修改密码;

4.学生选择课程,退选课程,修改密码;

4.数据库文件

/*Navicat Premium Data TransferSource Server         : MYSQLSource Server Type    : MySQLSource Server Version : 80013Source Host           : localhost:3306Source Schema         : servlet_select_courseTarget Server Type    : MySQLTarget Server Version : 80013File Encoding         : 65001Date: 24/12/2021 16:58:38
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for tb_courses
-- ----------------------------
DROP TABLE IF EXISTS `tb_courses`;
CREATE TABLE `tb_courses`  (`course_id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`teach_id` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`day` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`is_signin` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`member_num` int(11) NULL DEFAULT NULL,PRIMARY KEY (`course_id`) USING BTREE,INDEX `C_FK`(`teach_id`) USING BTREE,CONSTRAINT `C_FK` FOREIGN KEY (`teach_id`) REFERENCES `tb_users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE = InnoDB AUTO_INCREMENT = 29 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of tb_courses
-- ----------------------------
INSERT INTO `tb_courses` VALUES (27, '软件工程', '101', '星期一, 1 - 2 节', 'false', 1);
INSERT INTO `tb_courses` VALUES (28, '计算机导论', '104', '星期二, 3 - 4 节', 'false', 0);-- ----------------------------
-- Table structure for tb_join
-- ----------------------------
DROP TABLE IF EXISTS `tb_join`;
CREATE TABLE `tb_join`  (`course_id` int(11) NULL DEFAULT NULL,`stu_id` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`checked` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of tb_join
-- ----------------------------
INSERT INTO `tb_join` VALUES (27, '1001', 'true');
INSERT INTO `tb_join` VALUES (28, '1001', 'checking');-- ----------------------------
-- Table structure for tb_signin
-- ----------------------------
DROP TABLE IF EXISTS `tb_signin`;
CREATE TABLE `tb_signin`  (`signin_id` int(11) NOT NULL AUTO_INCREMENT,`course_id` int(11) NULL DEFAULT NULL,`time` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`signin_num` int(11) NULL DEFAULT NULL,`end_time` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,PRIMARY KEY (`signin_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 25 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of tb_signin
-- ----------------------------
INSERT INTO `tb_signin` VALUES (24, 27, '2021-12-20 15:15:48', 1, '2021-12-20 15:16:16');-- ----------------------------
-- Table structure for tb_signin_stu
-- ----------------------------
DROP TABLE IF EXISTS `tb_signin_stu`;
CREATE TABLE `tb_signin_stu`  (`signin_id` int(11) NULL DEFAULT NULL,`stu_id` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`state` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of tb_signin_stu
-- ----------------------------
INSERT INTO `tb_signin_stu` VALUES (24, '1001', 'true');-- ----------------------------
-- Table structure for tb_users
-- ----------------------------
DROP TABLE IF EXISTS `tb_users`;
CREATE TABLE `tb_users`  (`user_id` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,`password` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`name` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`type` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`checked` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of tb_users
-- ----------------------------
INSERT INTO `tb_users` VALUES ('1001', '123456', '同学1', 'stu', 'true');
INSERT INTO `tb_users` VALUES ('1002', '123456', '同学2', 'stu', 'true');
INSERT INTO `tb_users` VALUES ('101', '123456', '教师1', 'teach', 'true');
INSERT INTO `tb_users` VALUES ('102', '123456', '教师2', 'teach', 'true');
INSERT INTO `tb_users` VALUES ('103', '123456', '教师3', 'teach', 'true');
INSERT INTO `tb_users` VALUES ('104', '123456', '王老师', 'teach', 'true');
INSERT INTO `tb_users` VALUES ('105', '123456', '李老师', 'teach', 'false');
INSERT INTO `tb_users` VALUES ('admin', 'admin', '管理员', 'admin', 'true');SET FOREIGN_KEY_CHECKS = 1;

二、系统展示

1.登录系统

2.注册系统

3.管理员-首页

4.管理员-管理用户

5.管理员-管理课程

6.管理员-修改密码

7.教师-创建课程

8.教师-我的课程

9.教师-修改密码

10.学生-加入课程

11.学生-我的课程

12.学生-修改密码

三、部分代码

CreateCourseAction

package com.sjsq.servlet;import com.sjsq.bean.Course;
import com.sjsq.bean.User;
import com.sjsq.dao.CourseDao;import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;@WebServlet("/CreateCourseAction")
@MultipartConfigpublic class CreateCourseAction extends HttpServlet {/****/private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {super.doGet(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");PrintWriter out = resp.getWriter();String courseName = req.getParameter("courseName");String day = req.getParameter("day");String courseTime = req.getParameter("courseTime");String Day = day + ", " + courseTime;User user = (User) req.getSession().getAttribute("User");String teach_id = user.getId();Course course = new Course(0, courseName, teach_id, Day, "false", 0);CourseDao courseDao = new CourseDao();int result = courseDao.Create(course);if (result == 0) {out.println("<script> alert('创建课程失败'); location='teacher_create.jsp'; </script>");} else if (result == 1) {out.println("<script> alert('创建课程成功'); location='teacher_create.jsp'; </script>");} else {out.println("<script> alert('上课时间冲突'); location='teacher_create.jsp'; </script>");}}}

DeleteAction

package com.sjsq.servlet;import com.sjsq.dao.CourseDao;
import com.sjsq.dao.JoinDao;
import com.sjsq.dao.UserDao;import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;@WebServlet("/DeleteAction")
@MultipartConfigpublic class DeleteAction extends HttpServlet {/****/private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");PrintWriter out = resp.getWriter();String ope = req.getParameter("ope");if (ope.equals("userdel")) {// 删除用户String user_id = req.getParameter("user_id");UserDao userDao = new UserDao();if (userDao.DelUser(user_id) == 1) {out.println("<script> alert('删除成功'); location='toaudit.jsp'; </script>");} else {out.println("<script> alert('删除失败'); location='toaudit.jsp'; </script>");}} else if (ope.equals("useradd")) {// 用户审核String user_id = req.getParameter("user_id");UserDao userDao = new UserDao();try {if (userDao.Check(user_id) == 1) {out.println("<script> alert('审核通过'); location='toaudit.jsp'; </script>");} else {out.println("<script> alert('操作失败'); location='toaudit.jsp'; </script>");}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();out.println("<script> alert('操作失败'); location='toaudit.jsp'; </script>");}} else if (ope.equals("coursedel")) {// 课程删除String c = req.getParameter("course_id");String type = req.getParameter("type");int course_id = Integer.valueOf(c);CourseDao courseDao = new CourseDao();if (courseDao.DelCourse(course_id) == 1) {if (type.equals("admin")) {out.println("<script> alert('课程删除成功'); location='show_all_courses.jsp'; </script>");} else {out.println("<script> alert('课程删除成功'); location='my_courses.jsp'; </script>");}} else {if (type.equals("admin")) {out.println("<script> alert('课程删除失败'); location='show_all_courses.jsp'; </script>");} else {out.println("<script> alert('课程删除失败'); location='my_courses.jsp'; </script>");}}} else if (ope.equals("joindel")) {// 退出选课String c = req.getParameter("course_id");String user_id = req.getParameter("user_id");int course_id = Integer.valueOf(c);String from_ = req.getParameter("from_");JoinDao joinDao = new JoinDao();if (joinDao.Delete(course_id, user_id) == 1) {out.println("<script> alert('退出成功'); location='" + from_ + "'; </script>");} else {out.println("<script> alert('退出失败'); location='" + from_ + "'; </script>");}}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {super.doPost(req, resp);}
}

LoginAction

package com.sjsq.servlet;import com.sjsq.bean.User;
import com.sjsq.dao.UserDao;import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;@WebServlet("/LoginAction")
@MultipartConfig
public class LoginAction extends HttpServlet {private static final long serialVersionUID = 1L;public LoginAction() {super();}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {resp.sendRedirect("login.jsp");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");PrintWriter out = resp.getWriter();String user_id = req.getParameter("inputUser_id");   // 从name属性中获取String userPass = req.getParameter("inputPassword");User user = new User();user.setId(user_id);user.setPassword(userPass);UserDao userDao = new UserDao();User user2;try {user2 = userDao.Query(user);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();out.println("<script> alert('登陆失败'); location='login.jsp'; </script>");return;}if ((user2.getId()).equals("")) {// 用户不存在out.println("<script> alert('用户不存在'); location='login.jsp'; </script>");} else if (user2.getPassword().equals(userPass)) {// 登陆成功req.getSession(true).setAttribute("User", user2);out.println("<script> alert('登陆成功'); location='index.jsp'; </script>");} else {// 密码错误out.println("<script> alert('密码错误'); location='login.jsp'; </script>");}}
}

LogoutAction

package com.sjsq.servlet;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;@WebServlet("/LogoutAction")
public class LogoutAction extends HttpServlet {private static final long serialVersionUID = 1L;public LogoutAction() {super();}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {HttpSession session = req.getSession(false);if (session == null) {resp.sendRedirect("login.jsp");return;}session.removeAttribute("User");resp.sendRedirect("login.jsp");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {doGet(req, resp);}
}

MulAction

package com.sjsq.servlet;import com.sjsq.bean.Join;
import com.sjsq.dao.CourseDao;
import com.sjsq.dao.JoinDao;
import com.sjsq.dao.SigninDao;
import com.sjsq.dao.SigninStuDao;import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;@WebServlet("/MulAction")
@MultipartConfigpublic class MulAction extends HttpServlet {/****/private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");PrintWriter out = resp.getWriter();String ope = req.getParameter("ope");if (ope.equals("joincreat")) {String c = req.getParameter("course_id");String user_id = req.getParameter("user_id");int course_id = Integer.valueOf(c);Join join = new Join(course_id, user_id, "checking");JoinDao joinDao = new JoinDao();int result = joinDao.Creat(join);if (result == 2) {out.println("<script> alert('课程已经选过'); location='show_all_courses.jsp'; </script>");} else if (result == 1) {out.println("<script> alert('加入成功'); location='show_all_courses.jsp'; </script>");} else {out.println("<script> alert('加入失败'); location='show_all_courses.jsp'; </script>");}} else if (ope.equals("joinaccept")) {String c = req.getParameter("course_id");String user_id = req.getParameter("user_id");int course_id = Integer.valueOf(c);String from_ = req.getParameter("from_");JoinDao joinDao = new JoinDao();int result = joinDao.Update(course_id, user_id, "true");if (result == 1) {out.println("<script> alert('通过成功'); location='" + from_ + "'; </script>");} else {out.println("<script> alert('通过失败'); location='" + from_ + "'; </script>");}} else if (ope.equals("signincreat")) {String c = req.getParameter("course_id");int course_id = Integer.valueOf(c);String from_ = req.getParameter("from_");SigninDao signinDao = new SigninDao();int result = signinDao.Creat(course_id);if (result == 1) {SigninStuDao signinStuDao = new SigninStuDao();CourseDao courseDao = new CourseDao();int signin_id = signinDao.FindLast(course_id);signinStuDao.Creat(signin_id, course_id);courseDao.Update(course_id, "true");out.println("<script> alert('签到已开始'); location='" + from_ + "'; </script>");} else {out.println("<script> alert('开始失败'); location='" + from_ + "'; </script>");}} else if (ope.equals("signinstop")) {String c = req.getParameter("course_id");int course_id = Integer.valueOf(c);String from_ = req.getParameter("from_");CourseDao courseDao = new CourseDao();int result = courseDao.Update(course_id, "false");if (result == 1) {SigninDao signinDao = new SigninDao();signinDao.Update(signinDao.FindLast(course_id));out.println("<script> alert('签到已停止'); location='" + from_ + "'; </script>");} else {out.println("<script> alert('停止失败'); location='" + from_ + "'; </script>");}} else if (ope.equals("signin")) {String stu_id = req.getParameter("stu_id");String c = req.getParameter("signin_id");int signin_id = Integer.valueOf(c);String from_ = java.net.URLDecoder.decode(req.getParameter("from_"), "UTF-8");SigninStuDao signinStuDao = new SigninStuDao();int result = signinStuDao.Update(signin_id, stu_id, "true");if (result == 1) {SigninDao signinDao = new SigninDao();signinDao.AddNum(signin_id);out.println("<script> alert('签到成功'); location='" + from_ + "'; </script>");} else {out.println("<script> alert('签到失败'); location='" + from_ + "'; </script>");}}}
}

RegisterAction

package com.sjsq.servlet;import com.sjsq.bean.User;
import com.sjsq.dao.UserDao;import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;@WebServlet("/RegisterAction")
@MultipartConfigpublic class RegisterAction extends HttpServlet {/****/private static final long serialVersionUID = 1L;public RegisterAction() {super();}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");RequestDispatcher rd = req.getRequestDispatcher("register.jsp");rd.forward(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");PrintWriter out = resp.getWriter();String user_id = req.getParameter("inputUser_id");String userPass = req.getParameter("inputPassword");String Confirm = req.getParameter("confirmPassword");String name = req.getParameter("inputName");String type = req.getParameter("type");int flag = 0;for (int i = 0; i < user_id.length(); i++) if (user_id.charAt(i) < '0' || user_id.charAt(i) > '9') flag++;if (flag != 0) {out.println("<script> alert('学号只能含有数字'); location='register.jsp'; </script>");} else if (!userPass.equals(Confirm)) {out.println("<script> alert('两次密码不相同'); location='register.jsp'; </script>");} else {User user = new User(user_id, userPass, name, type);UserDao userDao = new UserDao();int result = userDao.create(user);if (result == 1) {out.println("<script> alert('注册成功'); location='login.jsp'; </script>");} else {if (result == 0) out.println("<script> alert('注册失败'); location='register.jsp'; </script>");else out.println("<script> alert('该账号已被注册'); location='register.jsp'; </script>");}}}}

UpdateUserAction

package com.sjsq.servlet;import com.sjsq.bean.User;
import com.sjsq.dao.UserDao;import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;@WebServlet("/UpdateUserAction")
@MultipartConfigpublic class UpdateUserAction extends HttpServlet {/****/private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {super.doGet(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");PrintWriter out = resp.getWriter();String oldPass = req.getParameter("oldPassword");String newPass = req.getParameter("newPassword");String Confirm = req.getParameter("confirmPassword");if (!newPass.equals(Confirm)) {out.println("<script> alert('两次密码不相同'); location='update_user.jsp'; </script>");} else {User user = (User) req.getSession().getAttribute("User");if (!user.getPassword().equals(oldPass)) {out.println("<script> alert('原密码错误'); location='update_user.jsp'; </script>");} else {UserDao userDao = new UserDao();int result = 0;try {result = userDao.Update(user.getId(), newPass);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}if (result == 1) {HttpSession session = req.getSession(false);session.removeAttribute("User");out.println("<script> alert('修改密码成功'); location='login.jsp'; </script>");resp.sendRedirect("login.jsp");} else {out.println("<script> alert('修改密码失败'); location='update_user.jsp'; </script>");resp.sendRedirect("update_user.jsp");}}}}}

四、其他

1.更多系统

Java+JSP系统系列实现

Java+JSP实现学生图书管理系统

Java+JSP实现学生信息管理系统

Java+JSP实现用户信息管理系统

Java+Servlet系统系列实现

Java+Servlet+JSP实现航空订票系统

Java+Servlet+JSP实现新闻发布系统

Java+Servlet+JSP学生宿舍管理系统

Java+Servlet+JSP实现图书管理系统

Java+Servlet+JSP实现停车场管理系统

Java+Servlet+JSP实现房屋租赁管理系统

Java+Servlet+JSP实现学生信息管理系统

Java+Servlet+JSP实现学生选课管理系统

Java+Servlet+JSP实现宠物诊所管理系统

Java+Servlet+JSP实现学生成绩管理系统-1

Java+Servlet+JSP实现学生成绩管理系统-2

Java+SSM系统系列实现

J​​​ava+SSM+JSP实现网上考试系统

Java+SSM+JSP实现宠物商城系统

Java+SSM+JSP实现超市管理系统

Java+SSM+JSP实现学生成绩管理系统

Java+SSM+JSP实现学生信息管理系统

Java+SSM+JSP+Maven实现网上书城系统

Java+SSM+JSP+Maven实现学校教务管理系统

Java+SSH系统系列实现

Java+SSH+JSP实现在线考试系统

Java+SSH+JSP实现医院在线挂号系统

Java+Springboot系统系列实现

Java+Springboot+H-ui+Maven实现营销管理系统

Java+Springboot+Bootstrap+Maven实现网上商城系统

Java+Springboot+Bootstrap+Maven实现景区旅游管理系统

1.更多JavaWeb系统请关注专栏。

https://blog.csdn.net/helongqiang/category_10020130.htmlhttps://blog.csdn.net/helongqiang/category_10020130.html

2.更多JavaSwing系统请关注专栏。

https://blog.csdn.net/helongqiang/category_6229101.htmlhttps://blog.csdn.net/helongqiang/category_6229101.html

2.源码下载

sql在sql文件夹下面

Java+Servlet+JSP+Mysql实现Web学生选课签到系统

3.备注

如有侵权请联系我删除。

4.支持博主

如果您觉得此文对您有帮助,请点赞加关注加收藏。祝您生活愉快!想要获取其他资源可关注左侧微信公众号获取!

IDEA+Java+Servlet+JSP+Mysql实现学生选课签到系统相关推荐

  1. 基于JAVA+Servlet+JSP+MYSQL的学生选课系统

    项目功能: <学生选课系统>,本系统有三种角色,分别为管理员.老师.学生.每种角色可以登录系统,操作的功能也不一样.总体功能模块如下: 个人信息管理 学生信息管理 课程排名 学生成绩分析 ...

  2. 基于JAVA+Servlet+JSP+MYSQL的学生选课管理系统

    项目功能: 系统分为管理员.老师和学生三个角色,管理员登录后可以对用户进行管理(管理员管理.学生管理.教师管理),课程管理(分配课程.修改课程.搜索课程),浏览新闻,退出登录.学生登录后可以进行选课, ...

  3. 基于JAVA+Servlet+JSP+MYSQL的学生宿舍卫生评分系统

    项目功能: 登录模块 宿舍管理 宿舍评分 学生查询 个人信息 学生管理 退出系统 页面效果:

  4. 基于JAVA+Servlet+JSP+MYSQL的学生卡消费统计管理系统

    项目简介:主要记录学生的消费情况,统计消费水平,图表展示出消费水平. 项目技术:jsp,servlet 运行环境:jdk1.8,tomcat7.0,mysql 功能演示:

  5. 基于JAVA+Servlet+JSP+MYSQL的学生信息管理系统

    项目功能: 系统包括管理员登录,查看学生列表,添加学生,查看学生信息,修改学生,删除学生,退出登录 页面效果:

  6. 基于JAVA+Servlet+JSP+MYSQL的图书馆座位预约系统

    项目介绍: 学生端: 登录注册 查看自习室 预约自习室 收藏自习室 我的预定 我的收藏 图书馆资讯 系统概要 在线留言 退出登录 管理员端: 系统登录 系统用户管理 图书馆资讯管理 系统简介设置 留言 ...

  7. 基于JAVA+Servlet+JSP+MYSQL的教师教学评价系统

    项目功能: 系统开发的总体目标是校.系督导及学生实现教学评价,教师实现查看评价信息,管理员实现信息管理.系统功能分析是在用户需求的基础上完成的. 1.学生的需求 A1:学生登录功能:学生的信息包括姓名 ...

  8. 基于JAVA+Servlet+JSP+MYSQL的企业员工投票系统

    项目功能: 系统用户管理(管理员,普通员工),部门管理,员工管理,工资管理,考勤管理,投票管理.用户数据权限隔离,普通员工只能看自己相关的记录. 页面效果:

  9. 基于JAVA+Servlet+JSP+MYSQL的读者荐购系统

    项目功能: 系统包括用户登录注册,修改密码,用户荐购,查看推荐列表,查看详情,支持回帖 页面效果:

最新文章

  1. 在多变环境中长期定位和建图的通用框架
  2. C语言第一次博客作业
  3. jq 给节点node加事件_JavaScript 原生对象、属性、方法、事件、事件参数
  4. t检验自由度的意义_T检验、F检验和统计学意义
  5. java 实现真正的随机数_关于java:SecureRandom的Android实现是否产生真正的随机数?...
  6. 【guava】GuavaCache缓存失效的时候做一些操作 RemovalListener
  7. learn go ifelse
  8. insert_text
  9. 使用JMX监控Zookeeper状态Java API
  10. OFDM专题之多径效应引起的码间串扰问题
  11. ASCII码与16进制转换表
  12. 【最短路 搜索】JZOJ_4246 san
  13. 敏捷开发?敏捷管理?什么是敏捷?(一)
  14. Github上的开源项目5
  15. BLE_BQB Test_Intermodulation Performance, uncoded data at 1 Ms/s_RF-PHY/RCV/BV-05-C
  16. bandwagon支付宝支付教程
  17. 2.4.3 Mybatis 高级查询, 复杂映射, 返回主键, 动态SQL if, set, foreach, 核心配置文件深入,plugins标签, 多表查询, 嵌套查询
  18. 相忘江湖不如相濡以沫(Ⅰ)
  19. 英特尔AVX指令集解析
  20. MATLAB 制作抖音同款 立体人物文字海报

热门文章

  1. 【短期】未来学习目标
  2. 小程序 uni canvas绘制圆角图片 圆角矩形
  3. Sql有条件的插入语句
  4. ATECLOUD智能云测试平台-测试测量/仪器程控/工业控制/上位机开发软件
  5. 英文文献翻译成中文,推荐哪个软件?
  6. 御坂御坂题解(出自北航校赛) 约瑟夫环问题高效解决方案
  7. GPS北斗校时服务器(时间服务器)在港口自动化系统应用
  8. 制作主生产计划MPS报表(概念+习题详解)
  9. 9月18日 第5届 FLASH开发者交流会 暨FLASH CAMP 2010
  10. C1认证学习六(HTTPS)