基于SSM的在线课程学习系统
·
系统使用技术: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";
}
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,而且也与当前的热点话题关联,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,比较适合毕业设计和课程设计的相关应用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~
更多推荐
所有评论(0)