日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Java Web ——基于Jsp+Servlet的学生上课签到打卡系统/上课考勤管理系统

發布時間:2023/12/31 windows 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java Web ——基于Jsp+Servlet的学生上课签到打卡系统/上课考勤管理系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java Web 學生上課簽到打卡系統
基于Jsp+Servlet的上課考勤管理系統

實現了學生上課簽到、打卡的功能。教師能夠看到沒有及時打卡的學生情況。
包括對簽到打卡的增刪改查、對學生信息的增刪改查。
主要技術:Jsp+Servlet+Mysql+Tomcat+Eclipse
適用場合:Java課程設計/Java大作業
項目類型:JAVA WEB項目
用戶類型:2個角色(教師+學生)
開發工具:Eclipse
數據庫表:3張
介紹主要是教師在發布打卡要求以后,學生需要在規定時間內及時打卡,如果超過規定時間沒有打卡,則會被記錄下來。此外,還實現了對學生信息的增刪改查。
1.學生 注冊
2.教師/學生登錄
3.添加學生
4.刪除學生
5.修改學生
6.查看學生
7.發起打卡
8.查看未打卡的人
9.學生打卡
10.教師補打卡

項目視頻演示在最下方

項目非開源
項目獲取資訊:“那條學長”(V)(公)

關注回復java查看全部項目
其他分類專欄有一些自己原創的Java Web項目
Jsp+Servlet圖書管理系統【原創開發】
Jsp+Servlet的新聞管理系統【原創開發】
Jsp+Servlet的外賣配送系統/在線點餐系統

學生簽到打卡系統

  • 1.管理員端功能介紹
    • 1.1登錄界面
    • 1.2學生打卡情況
    • 1.3按時間發起打卡
    • 1.4學生信息管理
    • 1.5修改學生信息
  • 2.學生端功能介紹
    • 2.1注冊界面
    • 2.2在線打卡
  • 3.截取部分代碼介紹,可參考風格學習
    • 3.1UserServlet.java
    • 3.2UserService.java
    • 3.3UserServiceImpl.java
    • 3.4UserDao.java
  • 4.數據庫設計

1.管理員端功能介紹

1.1登錄界面

1.2學生打卡情況

可以查看已經打卡的學生和未打卡的學生。并能夠刪除打卡記錄。

1.3按時間發起打卡

1.4學生信息管理

實現了對學生的增刪改查

1.5修改學生信息

2.學生端功能介紹

2.1注冊界面

2.2在線打卡

在規定時間內進行打卡,如果超過了時間限制,則無法進行打卡,而且顯示未打卡。

3.截取部分代碼介紹,可參考風格學習

3.1UserServlet.java

Servlet主要是用來獲取請求,并處理請求。其中主要是兩種,一種寫的是jsp頁面的請求,會前往對應的jsp頁面;另一種是獲取數據,并進行處理。調用業務邏輯層,并返回執行的數據訪問層的方法。將數據展示在jsp頁面內。

package com.sign.servlet;import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.sign.entity.Record; import com.sign.entity.User; import com.sign.service.UserService; import com.sign.service.impl.UserServiceImpl;public class UserServlet extends HttpServlet {private UserService service = new UserServiceImpl();@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String action=request.getParameter("action");//接受請求的參數if(action != null && action.equals("toLogin")) {//去登錄頁面toLogin(request, response);}else if(action != null && action.equals("LoginOutAct")) {LoginOutAct(request, response);}else if(action != null && action.equals("welcome")) {welcome(request, response);}else if(action != null && action.equals("userList")) {userList(request, response);}else if(action != null && action.equals("sjStudent")) {sjStudent(request, response);}else if(action != null && action.equals("toRegister")) {toRegister(request, response);}else if(action != null && action.equals("Register")) {Register(request, response);}else if(action != null && action.equals("deleteUser")) {deleteUser(request, response);}else if(action != null && action.equals("toUpdateUser")) {toUpdateUser(request, response);}else if(action != null && action.equals("updateUser")) {updateUser(request, response);}else if(action != null && action.equals("toAddUser")) {toAddUser(request, response);}else if(action != null && action.equals("addUser")) {addUser(request, response);}else if(action != null && action.equals("userLike")) {userLike(request, response);}}//按照姓名查詢private void userLike(HttpServletRequest request, HttpServletResponse response) {try {String userName = request.getParameter("userName");List<User> list=service.selectUserList(userName);request.setAttribute("list" ,list);request.getRequestDispatcher("/WEB-INF/views/user/userList.jsp").forward(request, response);} catch (Exception e) {e.printStackTrace();}}//添加學生private void addUser(HttpServletRequest request, HttpServletResponse response) {String username = request.getParameter("username");String realname = request.getParameter("realname");String pwd = request.getParameter("pwd");String type =request.getParameter("type");User user =new User();user.setUserName(username);user.setRealName(realname);user.setPassword(pwd);user.setType(type);try {User user1=service.selectUserByName(username);if(user1 == null){service.saveUser(user);response.sendRedirect(request.getContextPath()+"/UserServlet?action=userList");}else{request.setAttribute("message", "該學生已存在,不能重復注冊!");response.sendRedirect(request.getContextPath()+"/UserServlet?action=userList");}}catch (Exception e) {e.printStackTrace();}}/*** 去添加頁面* @param request* @param response*/private void toAddUser(HttpServletRequest request, HttpServletResponse response) {try {request.getRequestDispatcher("/WEB-INF/views/user/addUser.jsp").forward(request,response);} catch (Exception e) {e.printStackTrace();}}/*** 修改用戶信息* @param request* @param response*/private void updateUser(HttpServletRequest request, HttpServletResponse response) {String uid = request.getParameter("uid");String username = request.getParameter("username");String realname = request.getParameter("realname");String password = request.getParameter("password");String type = request.getParameter("type");User user =new User();user.setId(Integer.parseInt(uid));user.setUserName(username);user.setRealName(realname);user.setPassword(password);user.setType(type);try {service.updateUser(user);response.sendRedirect(request.getContextPath()+"/UserServlet?action=userList");} catch (Exception e) {e.printStackTrace();}}/*** 去修改頁面* @param request* @param response*/private void toUpdateUser(HttpServletRequest request, HttpServletResponse response) {String id = request.getParameter("id");User user = service.selectUserById(id);request.getSession().setAttribute("user", user);try {request.getRequestDispatcher("/WEB-INF/views/user/toupdateUser.jsp").forward(request,response);} catch (Exception e) {e.printStackTrace();}}//刪除用戶private void deleteUser(HttpServletRequest request, HttpServletResponse response) {String id = request.getParameter("id");try {service.deleteUser(id);response.sendRedirect(request.getContextPath()+"/UserServlet?action=userList");} catch (Exception e) {e.printStackTrace();}}private void sjStudent(HttpServletRequest request, HttpServletResponse response) {try { List<User> newList = new ArrayList<User>();List<User> list=service.userList();Random r = new Random();// 通過對象方法獲取隨機數int data = r.nextInt(list.size()); System.out.println("隨機數是 :"+data);newList.add(list.get(data));request.setAttribute("list" ,newList);request.getRequestDispatcher("/WEB-INF/views/user/userList.jsp").forward(request, response);} catch (Exception e) {e.printStackTrace();}}private void userList(HttpServletRequest request, HttpServletResponse response) {try { List<User> list=service.userList();request.setAttribute("list" ,list);request.getRequestDispatcher("/WEB-INF/views/user/userList.jsp").forward(request, response);} catch (Exception e) {e.printStackTrace();}}/*** 去注冊頁面* @param request* @param response*/private void toRegister(HttpServletRequest request, HttpServletResponse response) {try {request.getRequestDispatcher("/WEB-INF/views/register.jsp").forward(request,response);} catch (Exception e) {e.printStackTrace();}}private void welcome(HttpServletRequest request,HttpServletResponse response) {try {request.getRequestDispatcher("/WEB-INF/views/console.jsp").forward(request,response);} catch (Exception e) {e.printStackTrace();}}private void LoginOutAct(HttpServletRequest request,HttpServletResponse response) {try {request.getSession().removeAttribute("user");response.sendRedirect(request.getContextPath()+"/UserServlet?action=toLogin");} catch (Exception e) {e.printStackTrace();}}private void removeAll(HttpServletRequest request,HttpServletResponse response) {request.getSession().removeAttribute("user");}private void toLogin(HttpServletRequest request,HttpServletResponse response) {try {request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response);}catch(Exception e){e.printStackTrace();} return;}}

3.2UserService.java

業務邏輯層,定義了所有的方法。

package com.sign.service;import java.util.List;import com.sign.entity.User;public interface UserService {User selectUser(String userName, String password, String type);List<User> userList();void saveUser(User user);User selectUserByName(String userName);void deleteUser(String id);}

3.3UserServiceImpl.java

繼承接口,實現方法,并去調用對應的數據訪問層的方法。

package com.sign.service.impl;import java.util.List;import com.sign.dao.UserDao; import com.sign.entity.User; import com.sign.service.UserService;public class UserServiceImpl implements UserService{private UserDao dao = new UserDao();@Overridepublic List<User> selectUserList(String userName) {return dao.selectUserList(userName);}@Overridepublic void deleteUser(String id) {dao.deleteUser(id);;}@Overridepublic User selectUser(String userName, String password, String type) {return dao.selectUser(userName,password,type);}@Overridepublic List<User> userList() {return dao.userList();}@Overridepublic User selectUserByName(String userName) {return dao.selectUserByName(userName);}}

3.4UserDao.java

package com.sign.dao;import java.util.ArrayList; import java.util.List;import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanHandler; import org.apache.commons.dbutils.handlers.BeanListHandler;import com.sign.entity.Record; import com.sign.entity.User; import com.sign.utils.C3p0Utils;public class UserDao {private QueryRunner runner=new QueryRunner(C3p0Utils.getDs());public List<User> selectUserList(String name) {String sql="select * from user where 1 = 1";List<User> list=null;List<String> list1 = new ArrayList<String>();Object[] params = {};if (name != null && !name.equals("")) {sql += " and realName like ? ";list1.add("%" + name + "%");}if(list1.size() > 0){params = list1.toArray();}sql += " order by id desc ";try {list=runner.query(sql, params, new BeanListHandler<User>(User.class));} catch (Exception e) {e.printStackTrace();throw new RuntimeException(e);}return list;}public void updateUser(User user) {try {runner.update("update user set userName=?,realName=?,password=?,type=? where id =?",user.getUserName(),user.getRealName(),user.getPassword(),user.getType(),user.getId());} catch (Exception e) {throw new RuntimeException(e);}}public void deleteUser(String id) {Integer ids = Integer.parseInt(id);try {runner.update("delete from user where id=?",ids);} catch (Exception e) {throw new RuntimeException(e);}}public void saveUser(User user) {try {runner.update("insert into user (username,realname,password,type) values (?,?,?,?)",user.getUserName(),user.getRealName(),user.getPassword(),user.getType());} catch (Exception e) {throw new RuntimeException(e);} }public User selectUser(String userName, String password, String type) {try {//返回查詢的信息return runner.query("select * from user where userName =? and password=? and type =? ", new BeanHandler<User>(User.class),userName,password,type);} catch (Exception e) {throw new RuntimeException(e);//拋出運行異常}} }

4.數據庫設計


-- ---------------------------- -- Table structure for dk -- ---------------------------- DROP TABLE IF EXISTS `dk`; CREATE TABLE `dk` (`id` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`dkTime` varchar(111) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`tid` int(11) NULL DEFAULT NULL,`createTime` varchar(111) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`tname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ---------------------------- -- Records of dk -- ---------------------------- INSERT INTO `dk` VALUES ('501012c4-75c5-4447-a67b-0118f44f2161', '2021-06-27 12:00:00', 1, '2021-06-27 10:43', '張老師'); INSERT INTO `dk` VALUES ('8ae021b5-b470-4c10-933c-0bc96b6b4334', '2021-06-27 13:00:00', 1, '2021-06-27 12:15', '張老師');-- ---------------------------- -- Table structure for record -- ---------------------------- DROP TABLE IF EXISTS `record`; CREATE TABLE `record` (`id` int(11) NOT NULL AUTO_INCREMENT,`did` varchar(111) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`qdtime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '簽到時間',`sjtime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '實際簽到時間',`uid` int(11) NULL DEFAULT NULL COMMENT '用戶id',`state` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '0未簽到 1已簽到',PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ---------------------------- -- Records of record -- ---------------------------- INSERT INTO `record` VALUES (7, '501012c4-75c5-4447-a67b-0118f44f2161', '2021-06-27 12:00:00', '2021-06-27 11:22', 2, '1'); INSERT INTO `record` VALUES (8, '501012c4-75c5-4447-a67b-0118f44f2161', '2021-06-27 12:00:00', NULL, 3, '0'); INSERT INTO `record` VALUES (9, '501012c4-75c5-4447-a67b-0118f44f2161', '2021-06-27 12:00:00', NULL, 4, '0'); INSERT INTO `record` VALUES (10, '8ae021b5-b470-4c10-933c-0bc96b6b4334', '2021-06-27 13:00:00', '2021-06-27 12:17', 2, '1'); INSERT INTO `record` VALUES (11, '8ae021b5-b470-4c10-933c-0bc96b6b4334', '2021-06-27 13:00:00', '2021-06-27 12:17', 3, '1'); INSERT INTO `record` VALUES (12, '8ae021b5-b470-4c10-933c-0bc96b6b4334', '2021-06-27 13:00:00', NULL, 4, '0');-- ---------------------------- -- Table structure for user -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`userName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`realName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '1老師 2學生',PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ---------------------------- -- Records of user -- ---------------------------- INSERT INTO `user` VALUES (1, 't1', '張老師', '123456', '1'); INSERT INTO `user` VALUES (2, 's1', '張三', '123456', '2'); INSERT INTO `user` VALUES (3, 's2', '王五', '123456', '2'); INSERT INTO `user` VALUES (4, 's3', '麻子', '123456', '2');SET FOREIGN_KEY_CHECKS = 1;

【原創】Jsp+Servlet學生簽到打卡系統(JavaWeb課程作業)

總結

以上是生活随笔為你收集整理的Java Web ——基于Jsp+Servlet的学生上课签到打卡系统/上课考勤管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。