目录
项目介绍
在各学校的教学过程中,用户的考试是一项非常重要的事情。随着计算机多媒体技术的发展和网络的普及,“基于网络的学习模式”正悄无声息的改变着传统的教室学习模式,“在线考试系统”的研究和设计也成为教育技术领域的热点课题。采用当前流行的B/S模式,通过jsp技术来开发此系统的目的是建立一个配合网络环境的可以师生互动的电子在线考试与反馈的平台,这样可以有效地解决考试混乱的局面。
1.用户登录
用户要通过本系统查询对课程信息进行下载,必须先输入用户名和密码进行登陆。为了避免非其他人员都可以获得登陆权限,登陆系统不设注册过程,所有用户和教师的登陆信息将事先由管理人员直接对数据库进行录入。
2.教师
教师登录系统后可以对所在班级的试卷进行发布,批阅,下载和统计。
3.用户
用户登录系统后可以查看自己试卷的批阅情况,完成情况。
4.管理员
管理员可以录入教师以及用户的信息(可以使用网站提供的模板Excel进行批量载入),修改课程信息、在线考试、考试内容、系统管理、考试管理等具体信息。
具体实现截图
开发核心技术:
主要技术:spring家族,springboot springmvc、mybatis、java等
框架:ssm/springoot都有
jdk版本:1.8 及以上
ide工具:IDEA 或者eclipse
数据库: mysql
编程语言: java
前端:layui+bootstrap+jsp
详细技术:HTML+CSS+JS+jsp+springmvc+mybatis+MYSQL+MAVEN+tomcat
当今流行的“SSM组合框架”是Spring + SpringMVC + MyBatis的缩写,受到很多的追捧,“组合SSM框架”是强强联手、各司其职、协调互补的团队精神。
JSP技术能以一种简单方便而且快速的方法生成Web页面。使用JSP技术的Web页面可以很轻松地显示动态内容。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器、应用服务器、浏览器和开发工具共同工作。
IntelliJ IDEA是java编程语言的集成环境,目前是业界公认的最好的开发工具,他拥有使用的自动导包、代码提示、一键重置等功能,并拥有全世界的程序员贡献的各种强大的插件,辅佐人们更好的开发,内部继承Maven管理、git工具等让开发变得更便捷。
后端技术
SpinrgBoot:为所有spring开发提供了一个更快、更广泛的入门体验;
Maven: 项目管理和构建自动化工具,用于java项目。
java: 广泛使用的编程语言,适用于构建跨平台应用。
Springmvc:从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架。
MyBatis: java持久层框架,支持定制化SQL、存储过程以及高级映射。
Spring: 开源的java平台,提供了全面的编程和配置模型。
核心代码部分展示
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UsersController{
@Autowired
private UsersService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().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);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UsersEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UsersEntity>().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){
UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().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,UsersEntity user){
EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UsersEntity user){
EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UsersEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UsersEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
详细视频演示
本javaweb+maven项目采用的数据库是Mysql,使用Springboot框架开发,十分方便,也具有跨平台的优势,在IntelliJ IDEA的设计过程中,使用mybatis进行数据库持久化,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。主要牵扯到的程序,数据库与计算机技术等。覆盖知识面大.请大家给个关注收藏点赞.
请联系我获取更详细的演示视频
源码获取方式
点击文章下方名片联系我即可~
标签:username,return,ok,javaEE,ssm,user,毕业设计,userService,public From: https://blog.csdn.net/abo2020/article/details/144432669