系统使用技术:SSM
前端技术:bootstrap、css、js等
开发工具:idea
数据库:mysql5.7
项目介绍:
系统主要功能包括对所有用户的管理、对文章的管理、对帖子的管理、以及对资料的管理。用户可以查看学习视频、对资料下载、,以及查看帖子;管理员可以上传学习资料和视频,发布技术文章,学生进入系统可以进行在线视频学习,可以发表帖子,同学之间可以互相评论帖子等。
下面我们来看看功能。
系统登陆界面:
http://localhost:8088/ExcellentCourse_war_exploded/login.jsp
系统首页
用户可以登录或者注册,进入系统
视频列表
用户可以查看所有视频,可以下载并且播放
帖子
查看所有帖子,或者回复帖子
文章详情
查看文章详情
后台首页
可以看到所有功能
后台文章管理
管理员可以操作文章
后台帖子管理
后台对帖子管理
代码
管理员登陆:
/** * 登录 * @param username * @param password * @param req * @return */ @RequestMapping("/adminLogin") public String adminLogin(@PathParam("username") String username, @PathParam("password") String password,HttpServletRequest req){ System.out.println("管理员登录时调用:"+username+"--"+password); User user = us.getUserByUsername(username); if(user!=null){ System.out.println("state="+user.getState()+"||roleid="+user.getRoleId()+"||id"+user.getId()); if(user.getRoleId()==2){ return "unauthorized"; }else if(user.getState()==1) { Subject subject = SecurityUtils.getSubject(); // if(subject.isAuthenticated()==true){ UsernamePasswordToken token = new UsernamePasswordToken(username, CryptographyUtil.md5(password,"salt")); try{ subject.login(token); Session session = subject.getSession(); System.out.println("sessionId:"+session.getId()+"sessionHost:"+session.getHost()+"sessionTimeout:"+session.getTimeout()); session.setAttribute("username", username); session.setAttribute("id", user.getId()); return "success"; }catch(Exception e){ e.printStackTrace(); req.setAttribute("user", user); req.setAttribute("errorMsg", "用户名或密码错误!"); return "adlogin"; } }else{ req.setAttribute("user",user); req.setAttribute("errorMsg", "账号未激活"); return "adlogin"; } } return "adlogin"; }
用户登录
/*** * 登录 * @param username * @param password * @param request * @return */ @RequestMapping("/login") public String login(@PathParam("username") String username, @PathParam("password") String password,HttpServletRequest request){ System.out.println("用户登录时调用:"+username+"--"+password); User user = us.getUserByUsername(username); if(user!=null) { if (user.getState() == 1) { Subject subject = SecurityUtils.getSubject(); /*if(subject.hasRole("admin")) { //有权限 } else { //无权限 } */ if (subject.isAuthenticated() == false) { UsernamePasswordToken token = new UsernamePasswordToken(username, CryptographyUtil.md5(password, "salt")); try { subject.login(token); Session session = subject.getSession(); // 输出session System.out.println("sessionId:" + session.getId() + "sessionHost:" + session.getHost() + "sessionTimeout:" + session.getTimeout()); session.setAttribute("username", username); session.setAttribute("email", user.getEmail()); session.setAttribute("id", user.getId()); return "redirect:index.jsp"; } catch (Exception e) { e.printStackTrace(); request.setAttribute("user", user); request.setAttribute("errorMsg", "用户名或密码错误!"); return "unauthorized"; } } else { return "index"; } } else { request.setAttribute("user", user); request.setAttribute("errorMsg", "账号未激活"); return "unauthorized"; } } return "unauthorized"; }
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,而且也与当前的热点话题关联,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,比较适合毕业设计和课程设计的相关应用。