Java项目:ssh学生考勤管理系统

作者主页:夜未央5788

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

功能:
学生考勤管理系统共分为三种角色,分别是 系统管理员、教师、学生。
系统管理员主要功能包括:
可以查看个人信息,可以修改个人信息,如联系方式,所在宿舍,家庭地址,使用状态等。
可以修改密码
可以对班级进行管理,包括班级的增删改查,班级包括属性 院系、专业、班级名称、班级编号
课程管理,包括课程的增删改查
用户管理:包括用户的增删改查,用户权限、是否使用状态
课程表管理:包括课程表的增删改查,课程表的新增是根据班级管理和课程管理进行匹配而来

教师角色主要功能:
可以查看课程表
对学生进行请假管理,可对请假条进行增删改查功能,同时对学生请假条进行审批,分为通过和拒绝
对学生进行考勤管理,可对考勤进行增删改查功能,记录是否旷课等

学生角色主要功能:
可以查看课程表
进行请假管理,可对请假条进行增删改查功能,

查看考勤记录情况

由于本程序规模不大,可供课程设计,毕业设计学习演示之用

环境需要

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.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 

6.数据库:MySql 5.7版本;

技术栈

1. 后端:spring+struts+hibenate

2. 前端:JSP+easyui+jQuery

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 将项目中proxool.xml配置文件中的数据库配置改为自己的配置;

3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;

4. 运行项目,在浏览器中输入http://localhost:8080/ 登录

运行截图

 

 

 

 

 

 

 

 

相关代码 

KaoQinLogAction

package manage.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;

import manage.dao.BanJiDao;
import manage.dao.KaoQinLogDao;
import manage.dao.SubjectDao;
import manage.dao.UserDao;
import manage.model.KaoQinLog;
import manage.model.User;
import manage.util.Util;

public class KaoQinLogAction  {
	
	private static final long serialVersionUID = 7963004028001698964L;

	private KaoQinLogDao kaoqinlogDao;
	private BanJiDao banjiDao;
	private UserDao userDao;
	private SubjectDao subjectDao;

	public SubjectDao getSubjectDao() {
		return subjectDao;
	}

	public void setSubjectDao(SubjectDao subjectDao) {
		this.subjectDao = subjectDao;
	}
	
	public UserDao getUserDao() {
		return userDao;
	}




	public void setUserDao(UserDao userDao) {
		this.userDao = userDao;
	}




	public BanJiDao getBanjiDao() {
		return banjiDao;
	}




	public void setBanjiDao(BanJiDao banjiDao) {
		this.banjiDao = banjiDao;
	}

	public KaoQinLogDao getKaoqinlogDao() {
		return kaoqinlogDao;
	}

	public void setKaoqinlogDao(KaoQinLogDao kaoqinlogDao) {
		this.kaoqinlogDao = kaoqinlogDao;
	}





	@SuppressWarnings("unchecked")
	public String kaoqinloglist() 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"));
		}
		HttpSession session = request.getSession();
		String role = (String)session.getAttribute("role");
		String where = "";
		if(!"role0".equals(role)){
			String banjinum=(String) session.getAttribute("banjinum"); 
			where = "and banjinum='"+banjinum+"'";
		}
		if("role4".equals(role)||role=="role4"){
			String codenum=(String) session.getAttribute("codenum"); 
			where += " and codenum='"+codenum+"'";
		}
		int total = kaoqinlogDao.selectAllKaoQinLogCount();
		List<KaoQinLog> kaoqinlogs = kaoqinlogDao.selectAllKaoQinLogBy(
				(pageNum - 1) * numPerPage, numPerPage,where);
		request.setAttribute("totalCount", total);
		request.setAttribute("ps", numPerPage);
		request.setAttribute("pn", pageNum);
		request.setAttribute("kaoqinloglist", kaoqinlogs);
		return "success";
	}
	
	
	
	

	public String kaoqinlogadd(){
		HttpServletRequest request = ServletActionContext.getRequest();
		HttpSession session = request.getSession();
		String role = (String)session.getAttribute("role");
		String where = "";
		if(!"role0".equals(role)){
			String banjinum=(String) session.getAttribute("banjinum"); 
			where = "and banjinum='"+banjinum+"'";
		}
		request.setAttribute("banjilist", banjiDao.getAll(where));
		request.setAttribute("subjectlist", subjectDao.getAll(""));
		return "success";
	}
	
	

	public String kaoqinlogadd2() throws Exception{
        HttpServletRequest request = ServletActionContext.getRequest();
		
		KaoQinLog kaoqinlog = new KaoQinLog();
		
		kaoqinlog.setBanjinum(request.getParameter("banjinum"));
		kaoqinlog.setCodenum(request.getParameter("codenum"));
		kaoqinlog.setIskuangke(Integer.parseInt(request.getParameter("iskuangke")));
		kaoqinlog.setKechengname(request.getParameter("kechengname"));
		kaoqinlog.setTeacher(request.getParameter("teacher"));
		kaoqinlog.setKuangkenum(Integer.parseInt(request.getParameter("kuangkenum")));
		kaoqinlog.setRiqi(request.getParameter("riqi"));
		
		kaoqinlog.setCreatetime(new Date());
		
		
			kaoqinlogDao.insertKaoQinLog(kaoqinlog);
		HttpServletResponse resp = ServletActionContext.getResponse();
		resp.setCharacterEncoding("utf-8");
		PrintWriter out = resp.getWriter();
		//out.write(manage.util.Util.outPutMsg("200", "添加成功", "", "", "kaoqinloglist.html"));
		
		out.print("{\"statusCode\":\"200\", \"message\":\"添加成功!\",\"navTabId\":\"kaoqinlogList\", \"rel\":\"kaoqinlogList\", \"callbackType\":\"closeCurrent\",\"forwardUrl\":\"kaoqinlog/kaoqinloglist.html\"}");
		out.flush();
		out.close();
		return null;
	}
	
	
	public String  kaoqinlogupdate(){
		HttpServletRequest request = ServletActionContext.getRequest();
		int id = Integer.parseInt(request.getParameter("id"));
		request.setAttribute("bean", kaoqinlogDao.selectKaoQinLog(id));
		request.setAttribute("id", id);
		request.setAttribute("banjilist", banjiDao.getAll(""));
		request.setAttribute("subjectlist", subjectDao.getAll(""));
		return "success";
	}
	
	
	
	public String  kaoqinlogupdate2() 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"));
		KaoQinLog bean = kaoqinlogDao.selectKaoQinLog(id);
		
		
		if(request.getParameter("banjinum")!=null){
			bean.setBanjinum(request.getParameter("banjinum"));
		}
		if(request.getParameter("codenum")!=null){
			bean.setCodenum(request.getParameter("codenum"));
		}
		if(request.getParameter("iskuangke")!=null){
			bean.setIskuangke(Integer.parseInt(request.getParameter("iskuangke")));
		}
		if(request.getParameter("kechengname")!=null){
			bean.setKechengname(request.getParameter("kechengname"));
			
		}
		if(request.getParameter("teacher")!=null){
			bean.setTeacher(request.getParameter("teacher"));
		}
		
		
		if(request.getParameter("kuangkenum")!=null){
			bean.setKuangkenum(Integer.parseInt(request.getParameter("kuangkenum")));
		}
		if(request.getParameter("riqi")!=null){
			bean.setRiqi(request.getParameter("riqi"));
			
		}
		
		kaoqinlogDao.updateKaoQinLog(bean);
		//out.write(manage.util.Util.outPutMsg("200", "修改成功", "", "", "kaoqinloglist.html"));
		out.print("{\"statusCode\":\"200\", \"message\":\"修改成功!\",\"navTabId\":\"kaoqinlogList\", \"rel\":\"kaoqinlogList\", \"callbackType\":\"closeCurrent\",\"forwardUrl\":\"kaoqinlog///kaoqinloglist.html\"}");

		out.flush();
		out.close();
		return null;
	}
	
	
	
	public String kaoqinlogdel() throws IOException{
		HttpServletRequest request = ServletActionContext.getRequest();
		int id = Integer.parseInt(request.getParameter("id"));
		kaoqinlogDao.delKaoQinLog(kaoqinlogDao.selectKaoQinLog(id));
		HttpServletResponse resp = ServletActionContext.getResponse();
		resp.setCharacterEncoding("utf-8");
		PrintWriter out = resp.getWriter();
		//out.print("{\"statusCode\":\"200\", \"message\":\"删除成功!\",\"navTabId\":\"kaoqinlogList\", \"rel\":\"kaoqinlogList\", \"callbackType\":\"closeCurrent\",\"forwardUrl\":\"kaoqinlog///kaoqinloglist.html\"}");
		out.write(manage.util.Util.outPutMsg("200", "修改成功", "kaoqinlogList", "", false, "kaoqinlog///kaoqinloglist.html"));
		out.flush();
		out.close();
		return null;
	}
	
	
	
	public String searchkaoqin(){
		HttpServletRequest request = ServletActionContext.getRequest();
		StringBuffer sb = new StringBuffer();
		sb.append(" ");
		String kechengname="";
		if(!"".equals(request.getParameter("kechengname"))&&request.getParameter("kechengname")!=null){
			kechengname = request.getParameter("kechengname");
			sb.append("and kechengname = '"+kechengname+"'");
		}
		String codenum="";
		if(!"".equals(request.getParameter("codenum"))&&request.getParameter("codenum")!=null){
			codenum = request.getParameter("codenum");
			sb.append("and codenum = '"+codenum+"'");
		}
		String banjinum="";
		if(!"".equals(request.getParameter("banjinum"))&&request.getParameter("banjinum")!=null){
			banjinum = request.getParameter("banjinum");
			sb.append("and banjinum = '"+banjinum+"'");
		}
		String teacher="";
		if(!"".equals(request.getParameter("teacher"))&&request.getParameter("teacher")!=null){
			teacher = request.getParameter("teacher");
			 sb.append("and teacher = '"+teacher+"'");
		}
		
		String riqi="";
		if(!"".equals(request.getParameter("riqi"))&&request.getParameter("riqi")!=null){
			riqi = request.getParameter("riqi");
			 sb.append("and riqi = '"+riqi+"'");
		}
		
		String where = sb.toString();
		
		int currentpage = 1;
		int pagesize = 50;
		if (request.getParameter("pagenum") != null)
			currentpage = Integer.parseInt(request.getParameter("pagenum"));
		request.setAttribute("kaoqinloglist", kaoqinlogDao.selectAllKaoQinLogBy((currentpage - 1) * pagesize, 50,where));
		return "success";
		
	}
	
	
	
	
	
	@SuppressWarnings("unchecked")
	public String kaoqinloglist2() throws Exception {	
		HttpServletRequest request = ServletActionContext.getRequest();
		HttpSession session = request.getSession();
		String role = (String)session.getAttribute("role");
		StringBuffer sb = new StringBuffer();
		sb.append("and role=4 ");
		String teacher="";
		if("role2".equals(role)||role=="role2"){
			teacher=(String) session.getAttribute("username"); 
			request.setAttribute("teacher", teacher);
		}else{
			if(!"".equals(request.getParameter("teacher"))&&request.getParameter("teacher")!=null){
				teacher = request.getParameter("teacher");
				request.setAttribute("teacher", teacher);
			}
		}
		String kechengname="";
		if(!"".equals(request.getParameter("kechengname"))&&request.getParameter("kechengname")!=null){
			kechengname = request.getParameter("kechengname");
			request.setAttribute("kechengname", kechengname);
		}
		String banjinum="";
		if(!"".equals(request.getParameter("banjinum"))&&request.getParameter("banjinum")!=null){
			banjinum = request.getParameter("banjinum");
			request.setAttribute("banjinum", banjinum);
			sb.append("and banjinum = '"+banjinum+"'");
		}
		
		
		String riqi="";
		if(!"".equals(request.getParameter("riqi"))&&request.getParameter("riqi")!=null){
			riqi = request.getParameter("riqi");
			request.setAttribute("riqi", riqi);
		}
		
		String where = sb.toString();
		int currentpage = 1;
		int pagesize = 50;
		if (request.getParameter("pagenum") != null)
			currentpage = Integer.parseInt(request.getParameter("pagenum"));
		List<User> users = userDao.selectAllUserBy((currentpage - 1) * pagesize, pagesize,where);
		request.setAttribute("kaoqinloglist", users);
		request.setAttribute("banjilist", banjiDao.getAll(""));
		request.setAttribute("subjectlist", subjectDao.getAll(""));
		return "success";
	}
	
	
	
	
	public String kaoqinlogaddlist() throws Exception{
        HttpServletRequest request = ServletActionContext.getRequest();
        String[] newids = request.getParameterValues("ids");
        for(int i=0;i<newids.length;i++){
			int newsid = Integer.parseInt(newids[i]);
			User userlog =userDao.selectUser(newsid);
			
		KaoQinLog kaoqinlog = new KaoQinLog();
		
		kaoqinlog.setBanjinum(userlog.getBanjinum());
		kaoqinlog.setCodenum(userlog.getCodenum());
		kaoqinlog.setIskuangke(1);
		kaoqinlog.setKechengname(request.getParameter("kechengname"));
		kaoqinlog.setTeacher(request.getParameter("teacher"));
		kaoqinlog.setKuangkenum(1);
		kaoqinlog.setRiqi(request.getParameter("riqi"));
		
		kaoqinlog.setCreatetime(new Date());
		
		
			kaoqinlogDao.insertKaoQinLog(kaoqinlog);
        }
//		HttpServletResponse resp = ServletActionContext.getResponse();
//		PrintWriter out = resp.getWriter();
//		//out.write(manage.util.Util.outPutMsg("200", "添加成功", "", "", "kaoqinloglist.html"));
//		
//		out.write(manage.util.Util.outPutMsg("200", "修改成功", "kaoqinlogList2", "", false, "kaoqinlog///kaoqinloglist2.html"));
//		out.flush();
//		out.close();
		return "success";
	}
}

如果也想学习本系统,下面领取。关注并回复:008ssh

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜未央5788

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值