基于javaweb的SSM+Maven学生考勤管理系统(java+ssm+poi导出+easyui+jfreechart+maven+mysql+jsp)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

460023022402

470023022402

480023022402

490023022402

500023022402

510023022402

基于javaweb的SSM+Maven学生考勤管理系统(java+ssm+poi导出+easyui+jfreechart+maven+mysql+jsp)

这个项目适合SSM框架的初学者(涉及大量增删改查,很适合初学者)以及对Shiro安全框架和Poi技术感兴趣的同学。

项目功能:

用户管理功能(登录、退出登录、增加用户、编辑用户、删除用户、多条件查询用户、上传用户头像、修改个人密码);角色管理功能(添加角色、编辑角色、删除角色、查询角色);权限管理功能(添加权限、编辑权限、删除权限、多条件查询权限);缺勤管理功能(添加缺勤、编辑缺勤、删除缺勤、多条件查询缺勤、导出Excel、柱形图显示缺勤情况)。

应用技术:Jsp + SSM + Shiro + Poi(Excel表格) + JFreeChart(柱形图) + Easyui

运行环境:eclipse/IDEA + MySQL5.7 + Maven3.6.3 + JDK1.8 + Tomcat8.5

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
    queryMap.put("roleId", roleId);
queryMap.put("username", username);
queryMap.put("userNo", userNo);
queryMap.put("offset", page.getOffset());
queryMap.put("pageSize", page.getRows());
ret.put("rows", userService.findAllUsers(queryMap));
ret.put("total", userService.getAllTotals(queryMap));
return ret;
}


/**
* 用户添加操作
* @return
*/
@RequestMapping(value="/add",method = RequestMethod.POST)
@ResponseBody
public ResponseVo<Boolean> add(User user){
log.info("接收添加用户时的User信息:{}",user);
return userService.add(user);
}

/**
* 用户编辑操作
* @param user
* @return
*/
@RequestMapping(value="/edit",method = RequestMethod.POST)
@ResponseBody
public ResponseVo<Boolean> edit(User user){
log.info("接收编辑用户时的User信息:{}",user);
return userService.edit(user);
}


/**
* 删除用户操作
* @param ids
* @return
*/
@RequestMapping(value="/delete",method = RequestMethod.POST)
@ResponseBody
public ResponseVo<Boolean> delete(String ids){
return userService.delete(ids);
}


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
        try {
ImageIO.write(captchaUtil.generatorRotateVCodeImage(generatorVCode, true), "gif", response.getOutputStream());
} catch (IOException e) {
e.printStackTrace();
}
}

}
package com.yjq.programmer.service;



/**
* @QQ 823208782
* @WX yjqi12345678
*/

/**
* 用户service接口层
*/
@Service
public interface UserService {

//通过学号/学工号查找用户
public User findUserByUserNo(String userNo);

//通过用户id查找用户
public User findUserById(Long id);

//查找所用用户
public List<User> findAllUsers(Map<String, Object> queryMap);

//获取所有用户的总数
public int getAllTotals(Map<String, Object> queryMap);

//添加用户数据
public int addUser(User user);

//删除单个或多个用户数据
public int deleteUser(String ids);

//编辑用户数据
public int editUser(User user);

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
 */

/**
* 系统控制器
*/
@Controller
@RequestMapping("/system")
public class SystemController {

private Logger log = LoggerFactory.getLogger(SystemController.class);

@Autowired
private ResourceLoader resourceLoader;

/**
* 系统首页
* @param model
* @return
*/
@RequestMapping(value="/index",method = RequestMethod.GET)
public ModelAndView index(ModelAndView model){
model.setViewName("system/index");
return model;
}

/**
* 没权限页面
* @param model
* @return
*/
@RequestMapping(value="/not_permit",method = RequestMethod.GET)
public ModelAndView notPermit(ModelAndView model){
model.setViewName("system/not_permit");
return model;
}

/**
* 系统欢迎页面
* @param model
* @return
*/
@RequestMapping(value="/welcome",method = RequestMethod.GET)
public ModelAndView welcome(ModelAndView model){
model.setViewName("system/welcome");
return model;
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
    @RequestMapping(value = "/finish", method = RequestMethod.POST)
@ResponseBody
public ResponseVo<Boolean> finishAttendance(Attendance attendance){
return attendanceService.finishAttendance(attendance);
}

/**
* 导出缺勤数据操作
* @param attendance
* @return
*/
@RequestMapping(value = "/export_absence", method = RequestMethod.POST)
@ResponseBody
public ResponseVo<Boolean> exportAbsence(Attendance attendance){
return attendanceService.exportAbsence(attendance);
}
}
package com.yjq.programmer.controller;



/**
* @QQ 823208782
* @WX yjqi12345678
*/

/**
* 权限控制器
*/
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
/**
* 退出登录
* @param model
* @return
*/
@RequestMapping(value="/logout",method = RequestMethod.GET)
public ModelAndView logout(ModelAndView model){
Subject subject = SecurityUtils.getSubject();
User user = (User) subject.getPrincipal();
if(user != null ){
log.info("当前退出的用户的学号/学工号={}",user.getUserNo());
}
SecurityUtils.getSubject().logout();
model.setViewName("user/login");
return model;
}



/**
* 登录表单验证
* @return
*/
@RequestMapping(value="/login",method = RequestMethod.POST)
@ResponseBody
public ResponseVo<Boolean> login(User user, String captcha, HttpServletRequest request){
return userService.login(user,captcha,request);
}

/**
* 用户列表信息获取
* @return
*/
@RequestMapping(value="/list",method = RequestMethod.POST)
@ResponseBody
public Map<String,Object> list(Long roleId, String username, String userNo, Page page){
Map<String, Object> ret = new HashMap<String, Object>();
Map<String, Object> queryMap = new HashMap<>();
queryMap.put("roleId", roleId);
queryMap.put("username", username);
queryMap.put("userNo", userNo);
queryMap.put("offset", page.getOffset());
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
    @ResponseBody
public ResponseVo<Boolean> delete(String ids){
return userService.delete(ids);
}


/**
* 修改用户个人密码操作
* @param prePasswd
* @param newPasswd
* @param rePasswd
* @return
*/
@RequestMapping(value="/modify_passwd",method = RequestMethod.POST)
@ResponseBody
public ResponseVo<Boolean> modifyPasswd(String prePasswd, String newPasswd, String rePasswd){
return userService.modifyPasswd(prePasswd, newPasswd, rePasswd);
}

}
package com.yjq.programmer.controller;



/**
* @QQ 823208782
* @WX yjqi12345678
*/
/**
* 考勤情况控制器
*/
@Controller
@RequestMapping("/attendance")


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