🍅 作者主页: java源码客栈
🍅 简介:大厂Java程序员,分享源码、学习资料、面试题库、技术干货【关注我,都给你】
🍅 文末获取源码联系方式 📝
一、功能简介
这是一个学生考勤管理系统,包含的功能有三个端,管理员端、学生端和老师端,功能比较简单,页面也比较简洁,数据库只有6张表,用于作业刚刚好。
管理员:班级管理、用户管理和课程表管理
学生端:课程表查询、请假管理和考勤情况管理
老师端:课程表查询、学生请假管理和考勤情况管理
二、项目技术和环境
环境:
jdk版本:
mysql版本:
tomcat版本:
开发运行工具;Eclipse/IDEA
技术:
SSH框架+jsp
三、项目截图
管理员端
1、班级管理
![](https://img-blog.csdnimg.cn/img_convert/e250c3bdb68ad4f504d97e05dc215b0b.png)
2、用户管理
![](https://img-blog.csdnimg.cn/img_convert/c0bf54d0012b546a60df4aea235afacd.png)
3、课程表管理
![](https://img-blog.csdnimg.cn/img_convert/02f15ed67bc7c7be844bd78c13a353fe.png)
4、个人信息
![](https://img-blog.csdnimg.cn/img_convert/6db069f0ec0e3818112e52b401819687.png)
老师端:
课程表管理
![](https://img-blog.csdnimg.cn/img_convert/a3c23415c213fdef9124eb842ff8c964.png)
学生请假管理
![](https://img-blog.csdnimg.cn/img_convert/6997ee5c99fc1dafe967024c44dcc5c0.png)
3、考勤情况管理
![](https://img-blog.csdnimg.cn/img_convert/7e4a5344b3bb28fccb0746d7ae186029.png)
学生端:
课程表管理
![](https://img-blog.csdnimg.cn/img_convert/62889a2daa3894543c38a2db98bc0eaf.png)
请假管理
![](https://img-blog.csdnimg.cn/img_convert/bb2b8672e5ca7368b51aa321f3d39160.png)
考勤情况管理
![](https://img-blog.csdnimg.cn/img_convert/aec347a02ee3b527ae641c62bd5e6d8e.png)
四、项目结构和代码
数据库表
![](https://img-blog.csdnimg.cn/img_convert/052f27af85de770ad122e8ee2bb91bbd.png)
2、代码结构
![](https://img-blog.csdnimg.cn/img_convert/bae4707126c752e654027393fb7309b0.png)
相关代码
课程管理的Action
public class SubjectAction {
private static final long serialVersionUID = 7963004028001698964L;
private SubjectDao subjectDao;
public SubjectDao getSubjectDao() {
return subjectDao;
}
public void setSubjectDao(SubjectDao subjectDao) {
this.subjectDao = subjectDao;
}
@SuppressWarnings("unchecked")
public String subjectlist() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
int numPerPage = 20;
int pageNum = 1;
if(request.getParameter("pageNum")!=null && !request.getParameter("pageNum").equals("")){
pageNum = Integer.parseInt(request.getParameter("pageNum"));
}
if(request.getParameter("numPerPage")!=null){
numPerPage = Integer.parseInt(request.getParameter("numPerPage"));
}
int total = subjectDao.selectAllSubjectCount();
List<Subject> subjects = subjectDao.selectAllSubject(
(pageNum - 1) * numPerPage, numPerPage);
request.setAttribute("totalCount", total);
request.setAttribute("ps", numPerPage);
request.setAttribute("pn", pageNum);
request.setAttribute("subjectlist", subjects);
return "success";
}
public String subjectadd(){
HttpServletRequest request = ServletActionContext.getRequest();
return "success";
}
public String subjectadd2() throws Exception{
HttpServletRequest request = ServletActionContext.getRequest();
Subject subject = new Subject();
subject.setSubjectname(request.getParameter("subjectname"));
subject.setCreatetime(new Date());
subjectDao.insertSubject(subject);
HttpServletResponse resp = ServletActionContext.getResponse();
resp.setCharacterEncoding("utf-8");
PrintWriter out = resp.getWriter();
//out.write(manage.util.Util.outPutMsg("200", "添加成功", "", "", "subjectlist.html"));
out.print("{\"statusCode\":\"200\", \"message\":\"添加成功!\",\"navTabId\":\"subjectList\", \"rel\":\"subjectList\", \"callbackType\":\"closeCurrent\",\"forwardUrl\":\"subject/subjectlist.html\"}");
out.flush();
out.close();
return null;
}
public String subjectupdate(){
HttpServletRequest request = ServletActionContext.getRequest();
int id = Integer.parseInt(request.getParameter("id"));
request.setAttribute("bean", subjectDao.selectSubject(id));
request.setAttribute("id", id);
//request.setAttribute("subjectilist", subjectDao.getAll(" and subjectlock=0 "));
return "success";
}
public String subjectupdate2() throws IOException{
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse resp = ServletActionContext.getResponse();
resp.setCharacterEncoding("utf-8");
PrintWriter out = resp.getWriter();
int id = Integer.parseInt(request.getParameter("id"));
Subject bean = subjectDao.selectSubject(id);
if(request.getParameter("subjectname")!=null){
bean.setSubjectname(request.getParameter("subjectname"));
}
subjectDao.updateSubject(bean);
//out.write(manage.util.Util.outPutMsg("200", "修改成功", "", "", "subjectlist.html"));
out.print("{\"statusCode\":\"200\", \"message\":\"修改成功!\",\"navTabId\":\"subjectList\", \"rel\":\"subjectList\", \"callbackType\":\"closeCurrent\",\"forwardUrl\":\"subject///subjectlist.html\"}");
out.flush();
out.close();
return null;
}
public String subjectdel() throws IOException{
HttpServletRequest request = ServletActionContext.getRequest();
int id = Integer.parseInt(request.getParameter("id"));
subjectDao.delSubject(subjectDao.selectSubject(id));
HttpServletResponse resp = ServletActionContext.getResponse();
resp.setCharacterEncoding("utf-8");
PrintWriter out = resp.getWriter();
//out.print("{\"statusCode\":\"200\", \"message\":\"删除成功!\",\"navTabId\":\"subjectList\", \"rel\":\"subjectList\", \"callbackType\":\"closeCurrent\",\"forwardUrl\":\"subject///subjectlist.html\"}");
out.write(manage.util.Util.outPutMsg("200", "修改成功", "subjectList", "", false, "subject///subjectlist.html"));
out.flush();
out.close();
return null;
}
}
获取完整源码:
大家点赞、收藏、关注、评论啦 、 查看 👇🏻 👇🏻 👇🏻 微信公众号获取联系 👇🏻 👇🏻 👇🏻