脚本宝典收集整理的这篇文章主要介绍了Java项目:课程资源管理+在线考试平台(java+SSH+mysql+maven+tomcat),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
功能包括: 管理员可以增删改查教材、教材商、入库教材、用户(用 户包括学生和教师)可以对教材商、教材进行。xcel的导入 导出操作。教师可以领取入库的教材,可以退还教材。学 生只能在对应的教师那里领取教材,并且可以退还教材、 查询自己已经领取的教材。并且对已领教材付款等等。
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP +Struts+Spring+Hibernate + html+ css + JavaScript + JQuery + Ajax等等。
@Controller
@RequestMapping("classes")
public class ClassesController {
@Autowired
private ClassesService classesService;
@Autowired
private InstituteService instituteService;
@PostMapping("list")
@ResponseBody
public PageResultVo loadClasses(ClassesConditionVo classesConditionVo, Integer limit, Integer offset) {
PageHelper.startPage(PageUtil.getPageNo(limit, offset),limit);
List<Classes> classesList = classesService.findByCondition(classesConditionVo);
PageInfo<Classes> pages = new PageInfo<>(classesList);
return ResultUtil.table(classesList, pages.getTotal(), pages);
}
/**
* 新增班级
* @param classes
* @return
*/
@PostMapping("/add")
@ResponseBody
public ResponseVo add(Classes classes) {
User user = (User)SecurityUtils.getSubject().getPrincipal();
classes.setAuthor(user.getNickname());
Date date = new Date();
classes.setCreateTime(date);
classes.setUpdateTime(date);
classes.setStatus(CoreConst.STATUS_INVALID);
int i = classesService.insert(classes);
if(i > 0) {
return ResultUtil.success("新增班级信息成功");
}else {
return ResultUtil.error("新增班级信息失败");
}
}
/**
* 更新班级信息
* @param model
* @param id
* @return
*/
@GetMapping("/edit")
public String edit(Model model,Integer id) {
Classes classes = classesService.selectById(id);
List<Institute> institutes = instituteService.selectAll();
model.addAttribute("institutes",institutes);
model.addAttribute("classes", classes);
return "classes/detail";
}
@PostMapping("/edit")
@ResponseBody
public ResponseVo edit(Classes classes) {
int i = classesService.updateNotNull(classes);
if(i > 0) {
return ResultUtil.success("更新班级信息成功");
}else {
return ResultUtil.error("更新班级信息失败");
}
}
/**
* 删除班级信息
* @param id
* @return
*/
@PostMapping("/delete")
@ResponseBody
public ResponseVo delete(Integer id) {
//验证班级下是否有学生
int i = classesService.validateByClassIds(new Integer[] {id});
if(i > 0) {
return ResultUtil.error("无法删除,该班级中还有学生");
}else {
int j = classesService.deleteBatch(new Integer[] {id});
if(j > 0) {
return ResultUtil.success("删除班级信息成功");
}else {
return ResultUtil.error("删除班级信息 失败");
}
}
}
/**
* 批量删除
* @param ids
* @return
*/
@PostMapping("/batch/delete")
@ResponseBody
public ResponseVo deleteBatch(@RequestParam("ids[]") Integer[]ids) {
//验证该班级中是否有学生
int i = classesService.validateByClassIds(ids);
if(i > 0) {
return ResultUtil.error("无法批量删除,该班级中还有学生");
}else {
int j = classesService.deleteBatch(ids);
if(j > 0) {
return ResultUtil.success("批量删除班级信息成功");
}else {
return ResultUtil.error("批量删除班级信息失败");
}
}
}
}
@Controller
public class SystemController{
@Autowired
private UserService userService;
@Autowired
private PermissionService permissionService;
@Autowired
private RedisCacheManager redisCacheManager;
/*登陆*/
@GetMapping("/login")
public String login(Model model){
if(SecurityUtils.getSubject().isAuthenticated()){
return "redirect:/";
}
return "system/login";
}
/*提交登录*/
@PostMapping("/login")
@ResponseBody
public ResponseVo login(HttpServletRequest request, String username, String password, String verification,
@RequestParam(value = "rememberMe", defaultValue = "0") Integer rememberMe){
//判断验证码
String rightCode = (String) request.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY);
if (StringUtils.isNotBlank(verification) && StringUtils.isNotBlank(rightCode) && verification.equals(rightCode)) {
//验证码通过
} else {
return ResultUtil.error("验证码错误!");
}
UsernamePasswordToken token = new UsernamePasswordToken(username, password);
try{
token.setRememberMe(1 == rememberMe);
Subject subject = SecurityUtils.getSubject();
subject.login(token);
} catch (LockedAccountException e) {
token.clear();
return ResultUtil.error("用户已经被锁定不能登录,请联系管理员!");
} catch (AuthenticationException e) {
token.clear();
return ResultUtil.error("用户名或者密码错误!");
}
//更新最后登录时间
userService.updateLastLoginTime((User) SecurityUtils.getSubject().getPrincipal());
return ResultUtil.success("登录成功!");
}
/*登出*/
@RequestMapping(value = "/logout")
@ResponseBody
public ResponseVo logout() {
Subject subject = SecurityUtils.getSubject();
if(null!=subject){
String username = ((User) SecurityUtils.getSubject().getPrincipal()).getUsername();
Serializable sessionId = SecurityUtils.getSubject().getSession().getId();
Cache<String, Deque<Serializable>> cache = redisCacheManager.getCache(redisCacheManager.getKeyPrefix()+username);
Deque<Serializable> deques = cache.get(username);
for(Serializable deque : deques){
if(sessionId.equals(deque)){
deques.remove(deque);
break;
}
}
cache.put(username,deques);
}
subject.logout();
return ResultUtil.success("退出成功");
}
/*获取当前登录用户的菜单*/
@PostMapping("/menu")
@ResponseBody
public List<Permission> getMenus(){
List<Permission> permissionListList = permissionService.selectMenuByUserId(((User) SecurityUtils.getSubject().getPrincipal()).getUserId());
return permissionListList;
}
}
@Controller
public class RenderController {
@Autowired
private QuestionService questionService;
@Autowired
private UserService userService;
@Autowired
private SubjectService subjectService;
@Autowired
private InstituteService instituteService;
@Autowired
private CommentService commentService;
@Autowired
private ClassesService classesService;
@Autowired
private ExaminationService examService;
/*工作台*/
@GetMapping("/workdest")
public String workdest(Model model){
examService.updateExamToStart();
examService.updateExamToEnd();
int questionNums = questionService.totalNum();
int userNums = userService.userNums();
int subjectNums = subjectService.totalNum();
int commentNums = commentService.totalNum(CoreConst.STATUS_INVALID);
model.addAttribute("questionNums", questionNums);
model.addAttribute("userNums", userNums);
model.addAttribute("subjectNums", subjectNums);
model.addAttribute("commentNums", commentNums);
return "manager/workdest";
}
/**用户列表入口*/
@GetMapping("/users")
public String userList(Model model){
List<Institute> institutes = instituteService.selectAll();
List<Classes> classes = classesService.selectAll();
List<String> grades = userService.selectGradeList();
model.addAttribute("institutes",institutes);
model.addAttribute("classes", classes);
model.addAttribute("grades", grades);
return "user/list";
}
/*角色列表入口*/
@GetMapping("/roles")
public String roleList() {
return "role/list";
}
/*学院管理入口*/
@GetMapping("/institutes")
public String instituteList() {
return "institute/list";
}
/*班级管理入口*/
@GetMapping("/classes")
public String classesList(Model model) {
List<Institute> institutes = instituteService.selectAll();
model.addAttribute("institutes",institutes);
return "classes/list";
}
/*权限列表入口*/
@GetMapping("/permissions")
public String permissionList(){
return "permission/list";
}
/*在线用户入口*/
@GetMapping("/online/users")
public String onlineUsers(){
return "onlineUsers/list";
}
}
以上是脚本宝典为你收集整理的Java项目:课程资源管理+在线考试平台(java+SSH+mysql+maven+tomcat)全部内容,希望文章能够帮你解决Java项目:课程资源管理+在线考试平台(java+SSH+mysql+maven+tomcat)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。