基于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"; 	}

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,而且也与当前的热点话题关联,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,比较适合毕业设计和课程设计的相关应用。 

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值