基于javaweb的SSM公司企业oa管理系统(java+ssm+jsp+javascript+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

310023482402

320023482402

330023482402

350023482402

360023482402

370023482402

基于javaweb的SSM公司企业oa管理系统(java+ssm+jsp+javascript+mysql)

项目介绍

OA办公管理系统,这是一款由JSP+SSM(spring+springmvc+mybatis)+MySQL实现的简单的OA办公管理系统, 主要实现的功能有员工注册登录,自动计算当前月迟到、早退、加班、缺勤天数并根据图表展示, 任务管理(任务发布、更新、删除、进度条展示完成度),通知管理(通知发布、更新、删除), 站内信发布、回复、删除等,发布公告和任务及站内信时可上传图片等。

环境需要

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.数据库:MySql 5.7版本; 6.是否Maven项目:否;

技术栈

  1. 后端:Spring+SpringMVC+Mybatis 2. 前端:JSP+CSS+JavaScript

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目; 3. 将项目中db.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/OAManagerSys 登录 注意:路径必须为/OAManagerSys,否则会有图片加载不出来 管理员账号/密码:admin/admin 账号/密码:zhangtao/123

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
		session.invalidate();
return "redirect:/login";
}

@RequestMapping("/refuse")
public String refuse() throws Exception {
return "misc/refuse";
}

}
package com.noa.controller;





@Controller
@RequestMapping("/mail")
@SuppressWarnings("all")
public class MailController {

@Autowired
private MailService mailService;

@Autowired
private EmployeeService employeeService;

@Autowired
private SysService sysService;

// 展示收到的邮件
@RequestMapping("")
public String showMailPage(Model model, HttpSession session, HttpServletRequest request) throws Exception {

List<MailCustom> mailList = new ArrayList<MailCustom>();

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


@Controller
@RequestMapping("/mail")
@SuppressWarnings("all")
public class MailController {

@Autowired
private MailService mailService;

@Autowired
private EmployeeService employeeService;

@Autowired
private SysService sysService;

// 展示收到的邮件
@RequestMapping("")
public String showMailPage(Model model, HttpSession session, HttpServletRequest request) throws Exception {

List<MailCustom> mailList = new ArrayList<MailCustom>();

switch ((String) request.getParameter("view")) {
case "all":
mailList = mailService.findMailToMe((EmployeeCustom) session.getAttribute("activeEmp"));
model.addAttribute("isSend", false);
break;
case "unread":
mailList = mailService.findUnreadMailToMe((EmployeeCustom) session.getAttribute("activeEmp"));
model.addAttribute("isSend", false);
break;
case "read":
mailList = mailService.findReadMailToMe((EmployeeCustom) session.getAttribute("activeEmp"));
model.addAttribute("isSend", false);
break;
case "send":
mailList = mailService.findMailSendByMe((EmployeeCustom) session.getAttribute("activeEmp"));
model.addAttribute("isSend", true);
break;

default:
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
@Controller
public class AccountController {

@Autowired
private EmployeeService employeeService;

@Autowired
private SysService sysService;

EmployeeCustom activeEmp;

@RequestMapping("/login")
public String login(Model model, HttpServletRequest request) throws Exception {

String exceptionClassName = (String) request.getAttribute("shiroLoginFailure");
if (exceptionClassName != null) {
if (UnknownAccountException.class.getName().equals(exceptionClassName)) {
// 最终会抛给异常处理器

model.addAttribute("message", "账号不存在");
} else if (IncorrectCredentialsException.class.getName().equals(exceptionClassName)) {
model.addAttribute("message", "用户名/密码错误");
// throw new CustomException("用户名/密码错误");
} else {
model.addAttribute("message", "未知错误");
// throw new Exception();// 最终在异常处理器生成未知错误
}
}

// 访问/login时, 自动进行认证,认证成功后直接跳转出去
// 初次访问时exceptionClassName== null直接到这里
// 认证失败时exceptionClassName!= null , 传递信息后又回到这里
return "misc/login";
}

@RequestMapping(value = "/signup", method = RequestMethod.GET)
public String showSignupPage(Model model) throws Exception {
return "misc/signup";
}

@RequestMapping(value = "/signup", method = RequestMethod.POST)
public String checkUsername(Model model, Employee employee) throws Exception {
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
48
49

@SuppressWarnings("all")
public class MissionController {

@Autowired
private MissionService missionService;

@Autowired
private SysService sysService;

EmployeeCustom activeEmp;

@RequestMapping("")
public String showMissionPage(Model model, HttpSession session,String view) throws Exception {
List<MissionCustom> missionList = null;
activeEmp= (EmployeeCustom) session.getAttribute("activeEmp");
switch (view) {
case "all":
missionList = missionService.showAllMission(activeEmp);
break;
case "overall":
missionList = missionService.filterMission(0);
break;
case "main":
missionList = missionService.filterMission((activeEmp.getDepartmentId()/10)*10);
break;
case "sub":
missionList = missionService.filterMission(activeEmp.getDepartmentId());
break;
default:
missionList = missionService.showAllMission(activeEmp);
break;
}

model.addAttribute("missionList", missionList);
model.addAttribute("isInbox",true);
return "mission/mission_inbox";
}

@RequestMapping(value="/mission_view" ,method=RequestMethod.GET)
public String showMissionDetail(Model model,Integer mission_id,Integer updateProgress) throws Exception{
if (updateProgress!=null) {
missionService.updateProgress(mission_id, updateProgress);
}
model.addAttribute("mission", missionService.missionDetail(mission_id));

return "mission/mission_view";

}
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
		mission.setText(mission.getText().replaceAll("\r\n", "<br>"));
missionService.postMission(mission, activeEmp);

return "redirect:/mission?view=all";
}
@RequestMapping("/delete_mission.action")
public String deleteMission(Integer delete_id) throws Exception{
missionService.deleteMission(delete_id);

return "redirect:/mission?view=all";
}

@RequestMapping(value="/delete_comment.action",method=RequestMethod.POST)
public String deleteMission(Integer mission_id,Integer comment_emp,String comment,String all_comment) throws Exception{

missionService.deleteComment(mission_id, comment_emp, comment, all_comment);

return "redirect:/mission/mission_view?mission_id="+mission_id;
}


}
package com.noa.controller;




@Controller
public class AccountController {


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