21世纪已经是一个数字化的社会、信息化的社会、网络全球化的社会,现在的焦点问题主要就是集中在信息产业上,对于国家在新世纪的发展中有着举足轻重的作用,同时对国家的生存跟发展有着很大的影响。
现在传统的单机版系统已经全然的退出了信息时代的舞台,将其取而代之的是能够支持网络并且支持多种数据信息的网络版系统,因而去形成一个全信息化的社会。信息化社会的形成, 之前那些落后的低效的办公手段都因此受到了威胁,想要去更好的管理信息,就应该找到一个更好的管理办法。 信息已经成为当今社会另一种形式的重要资源,同时信息也是企业管理的基本单位,信息所占有的地位也是非常之高的。
本支教管理信息系统是将IT技术用于支教信息的管理上的, 主要用收集和存储支教所形成的一系列信息,提供更新与检索支教信息的接口;
这样一来的话支教志愿服务工作效率就会有很大的提高。
环境需要
1.运行环境:最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。
2.IDE环境:IDEA,Eclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
后端:Spring+SpringMVC+Mybatis+Springboot
前端:vue+CSS+JavaScript+jQuery+elementui
随着计算机技术的发展,带来社会各行业的进步,信息化逐渐运用到人们的生活中。传统模式的教师支教管理满足不了现代人的生活追求。使用SpringBoot开发,成本大大减小,同时可借助移动互联网的优势,因而也降低了推广的难度。因此设计一个基于java的教师支教管理系统来解决教师管理的问题,一方面可以更好的展现支教管理直观性,另一方面可以更好的来适应时代的发展。
本文先提出了开发教师支教管理系统的背景意义,然后通过功能性和非功能性分析阐述本系统的需求,然后从功能设计和数据库设计两方面进行系统的设计建模。在技术实现部分采用了Java作为开发后台的编程语言,前台使用vue技术,数据库选择MySQL。最后进行了代码的编写,并说明了实现流程。最终,通过软件测试来验证教师支教管理系统的功能要求。综合表明,本教师支教管理系统满足了支教的基本业务,并为管理员提供了高效的管理模式。
基于springboot的支教系统;数据库:MySQL,框架:Spring Boot:Bootstrap;基于B/S。
角色:老师、学校、管理员
前台应包括:首页、支教岗位、志愿老师、老师分享、公告信息、平台简介、个人中心
1、首页:把导航条上的支教岗位、志愿老师、老师分享、公告信息显示并能点击查看。
2、支教岗位,根据不同类别岗位需求选择例如寒暑假支教,短期支教等浏览支教岗位。
点击到可以查看岗位详情;所属学校图片,名称,岗位描述等;:岗位界面可评论;只有参加过该岗位的老师可写评论;。
登陆后可以进行岗位申请,在老师提交申请岗位时,需要填写个人信息并上传个人简历,简历将会上传给后台管理员进行审核。通过与否都要给老师发送信息回复;通过邮箱发送;并反映到教师申请状态中。
3、志愿老师
包括志愿老师头像,简介。点击可进入志愿老师详情页可关注。
4、老师分享
以文字加图片的形式显示呈现多个分享,点击进入老师分享详情界面,可以是文章,图片,录制的视频等,可以在下方进行评论,点击回复可以回复评论;登陆后的用户均可评论;:可以点赞。
5、公告信息
以标题链接的形式呈现;标题:发布时间;,详情主要以文字为主,点进其中一个公告中,除文字外,有的下边有文件链接可以下载详细文件。
6、平台简介
平台基本信息,联系方式等,以介绍的方式呈现即可。
7、个人中心
学校的个人中心页:
发布和管理。
点击发布,填写发布的岗位信息,并提交发布。发布的岗位有开始时间和结束时间,根据这个时间统计志愿老师的服务时长。
管理:已发布列表,已报名列表,个人信息管理。
/**
* 登录相关
*/
("users")
public class UserController{
private UserService userService;
private TokenService tokenService;
/**
* 登录
*/
(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注册
*/
(value = "/register")
public R register( UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 退出
*/
(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
("/page")
public R page( Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 信息
*/
("/info/{id}")
public R info(("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
("/save")
public R save( UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 修改
*/
("/update")
public R update( UserEntity user){
// ValidatorUtils.validateEntity(user);
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
("/delete")
public R delete( Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37