博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅
Java项目精品实战案例《100套》
Java微信小程序项目实战《100套》
系统介绍:
互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对高校教师科研项目展示信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用高校教师科研信息展示网站可以有效管理,使信息管理能够更加科学和规范。
高校教师科研信息展示网站在Eclipse环境中,使用Java语言进行编码,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理员主要在系统的后台管理学院和院系,管理老师研发的科研项目信息,管理老师,管理新闻资讯。用户主要在系统的前台查询老师和科研项目,下载老师发布的论文,查看新闻资讯信息。
总之,高校教师科研信息展示网站集中管理信息,有着保密性强,效率高,存储空间大,成本低等诸多优点。它可以降低信息管理成本,实现信息管理计算机化。
在前面分析的管理员功能的基础上,进行接下来的设计工作,最终展示设计的管理员结构图(见下图)。管理员主要在系统的后台管理学院和院系,管理老师研发的科研项目信息,管理老师,管理新闻资讯。
4.1 管理员功能结构图
在前面分析的用户功能的基础上,进行接下来的设计工作,最终展示设计的用户结构图(见下图)。用户主要在系统的前台查询老师和科研项目,下载老师发布的论文,查看新闻资讯信息。
图4.2 用户功能结构图
程序上交给用户进行使用时,需要提供程序的操作流程图,这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。
程序操作流程图
功能截图:
5.1.1 老师管理
管理员进入指定功能操作区之后可以管理老师信息。其页面见下图。管理员增删改查老师信息,老师信息包括了老师所属学院,老师头像,老师的联系方式信息等。在本页面,管理员也能下载老师发布的论文文件。
图5.1 老师管理页面
5.1.2 添加科研项目
管理员进入指定功能操作区之后可以添加科研项目。其页面见下图。登记科研项目需要管理员对研发老师,研发时间,成果名称,成果展示的图片等进行登记并上传科研成果文件即可提交信息。
图5.2 添加科研项目页面
5.1.3 科研项目管理
管理员进入指定功能操作区之后可以管理科研项目信息。其页面见下图。管理员对当前页面显示的科研项目信息进行修改,比如修改科研项目展示图片,修改成果名称以及成果描述等资料,需要删除的科研项目信息,管理员也能在本页面进行删除。
图5.3 科研项目管理页面
5.1.4 添加院系
管理员进入指定功能操作区之后可以添加院系。其页面见下图。管理员登记院系名称即可提交信息。
图5.4 添加院系页面
5.1.5 院系管理
管理员进入指定功能操作区之后可以管理院系。其页面见下图。当前页面显示的院系信息可以让管理员修改,也能让管理员删除。
图5.5 院系管理页面
5.1.6 添加学院
管理员进入指定功能操作区之后可以添加学院。其页面见下图。管理员登记学院名称即可提交信息。
图5.6 添加学院页面
5.1.7 学院管理
管理员进入指定功能操作区之后可以管理学院。其页面见下图。管理员修改学院名称,删除学院信息,查询学院信息。
图5.7 学院管理页面
5.1.8 发布新闻公告
管理员进入指定功能操作区之后可以发布新闻公告。其页面见下图。管理员发布新闻公告需要为公告进行配图,然后描述公告内容即可提交信息。
图5.8 发布新闻公告页面
5.1.9 新闻公告管理
管理员进入指定功能操作区之后可以管理新闻公告。其页面见下图。新闻公告发布之后就会展示在前台,管理员成功发布的公告就需要进行后期维护,包括修改公告,删除公告等。
图5.9 新闻公告管理页面
5.1.10 修改密码
管理员进入指定功能操作区之后可以修改密码。其页面见下图。修改密码功能主要就是让管理员更改登录系统的密码信息,让系统里面保存的数据得到保护。
图5.10 修改密码页面
5.2 前台用户功能实现
5.2.1 老师信息
用户进入系统前台之后可以查看老师信息。其页面见下图。用户根据老师的地区,学院或院系信息可以查询指定老师。
图5.11 老师信息页面
5.2.2 老师详细信息
用户进入系统前台之后可以查看老师详细信息。其页面见下图。用户在老师详细信息页面除了查看老师的简介之外,也能下载老师发布的论文文件。
图5.12 老师详细信息页面
5.2.3 查询科研项目
用户进入系统前台之后可以查询科研项目。其页面见下图。用户提交成果名称可以获取指定的科研项目信息。
图5.13 查询科研项目页面
5.2.4 科研项目信息
用户进入系统前台之后可以查看科研项目信息。其页面见下图。用户点击科研项目展示图片即可进入其详情页面,用户就能查看科研项目简介信息。
图5.14 科研项目信息页面
5.2.5 新闻资讯
用户进入系统前台之后可以查看新闻资讯。其页面见下图。管理员一旦发布新闻资讯,其信息就会在本页面展示,用户查看新闻资讯,只需点击新闻的标题或新闻的图片即可进入其详细介绍页面查看新闻详细内容。
图5.15 新闻资讯页面
代码实现:
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String role, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user != null){
if(!user.getRole().equals(role)){
return R.error("权限不正常");
}
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);
}else{
return R.error("账号或密码或权限不对");
}
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody 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();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(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");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam 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);
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Integer id = (Integer)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody 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();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
论文参考:
第1章 绪论 1
1.1 课题背景 1
1.2 课题意义 1
1.3 研究内容 2
第2章 开发环境与技术 3
2.1 MYSQL数据库 3
2.2 JSP技术 3
2.3 SSM框架 4
第3章 系统分析 5
3.1 可行性分析 5
3.1.1 技术可行性 5
3.1.2 经济可行性 5
3.1.3 操作可行性 5
3.2 系统流程 6
3.2.1 操作流程 6
3.2.2 登录流程 6
3.2.3 删除信息流程 7
3.2.4 添加信息流程 8
3.3 性能需求 8
3.4 功能需求 10
第4章 系统设计 12
4.1 设计原则 12
4.2 功能结构设计 13
4.3 数据库设计 14
4.3.1 数据库概念设计 14
4.3.2 数据库物理设计 18
第5章 系统实现 21
5.1 后台管理员功能实现 21
5.1.1 老师管理 21
5.1.2 添加科研项目 21
5.1.3 科研项目管理 22
5.1.4 添加院系 22
5.1.5 院系管理 23
5.1.6 添加学院 23
5.1.7 学院管理 24
5.1.8 发布新闻公告 24
5.1.9 新闻公告管理 25
5.1.10 修改密码 25
5.2 前台用户功能实现 26
5.2.1 老师信息 26
5.2.2 老师详细信息 27
5.2.3 查询科研项目 27
5.2.4 科研项目信息 28
5.2.5 新闻资讯 29
第6章 系统测试 31
6.1 功能测试 31
6.1.1 登录功能测试 31
6.1.2 修改密码功能测试 32
6.2 测试结果 33
结 论 34
致 谢 35
参考文献 36
源码获取:
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻
精彩专栏推荐订阅:在下方专栏👇🏻
2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅
Java项目精品实战案例《100套》
Java微信小程序项目实战《100套》