基于javaweb+mysql的springboot在线课程会员系统(java+springboot+maven+jsp+spring+mysql+layui)

基于javaweb+mysql的springboot在线课程会员系统(java+springboot+maven+jsp+spring+mysql+layui)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SpringBoot在线课程会员系统(java+springboot+maven+jsp+spring+mysql+layui)

一、项目简述 功能包括: 用户管理,课程管理,在线视频观看,评论,会员展示,会员充值等等。

二、项目运行 环境配置:

Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

JSP +Spring + SpringBoot + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等

		res.setCharacterEncoding("utf-8");
		PrintWriter pw = res.getWriter();
		/*String var = (String) session.getAttribute("varcodenumber");*/
		if(!CaptchaUtil.ver(varcode, req)){
			pw.write("0");
		}
	}
	
	@RequestMapping(value = "changevarcode")//更换验证码,验证码显示
	public void changevarcode(HttpServletRequest req,HttpServletResponse res) throws IOException, FontFormatException {

		/*String url=req.getServletContext().getRealPath("/varcodeimg")+"\\"+varcodeurl+".jpg";*/
		
		//验证码生成  varcodenumber为验证码的值
		/* url=req.getServletContext().getRealPath("/varcodeimg")+"\\"+varcodeurl+".jpg";*/
		//写出到response的输出流中
		/*String varcodenumber = NubmerToJpgUtil.NumberToJpgUtil(res.getOutputStream());
		session.setAttribute("varcodenumber",varcodenumber);*/
		//使用新的验证码
		// 设置位数
        //CaptchaUtil.out(5, req, res);
        // 设置宽、高、位数
        //CaptchaUtil.out(130, 48, 5, req, res);
        
        // 使用gif验证码
        GifCaptcha gifCaptcha = new GifCaptcha(130,48,4);
        gifCaptcha.setFont(gifCaptcha.FONT_7);
		CaptchaUtil.out(gifCaptcha,req, res);
	}
		
	@RequestMapping(value = "admin")//管理员登录入口
	public String admin(HttpSession session) {
		return "loginadmin";
	}
	
	

	@RequestMapping(value = {"index",""})
	public ModelAndView index(ModelAndView mav) {
		List<Course> freecourses = courseBiz.freeCourse();
		List<Course> vipcourses = courseBiz.vipCourse();
		mav.addObject("freecourses", freecourses);
		mav.addObject("vipcourses", vipcourses);
		mav.setViewName("index");
	                        if(fileExtName.equals("jpg")) {
	                        	  filePath = uploadImagePath + File.separator + refilename+"."+fileExtName;
	                        }
	                        File storeFile = new File(filePath);
	                        // 在控制台输出文件的上传路径
	                        System.out.println(filePath);
	                        // 保存文件到硬盘
	                        item.write(storeFile);
	                        System.out.println("文件上传成功!");
	                        /*request.setAttribute("message",
	                            "文件上传成功!");*/
	                    }
	                }
	            }
	        } catch (Exception ex) {
	        	System.err.println( "错误信息: " + ex.getMessage());
	           /* request.setAttribute("message",
	                    "错误信息: " + ex.getMessage());*/
	        }
	        if(pmap.get("id")!=null&&!pmap.get("id").equals("")) {
	        course.setId(Integer.parseInt(pmap.get("id")));
	        }
	        course.setName(pmap.get("name"));
	        course.setContext(pmap.get("context"));
	        course.setType(pmap.get("type"));
	        course.setPrice("1");
	        return course;
		}
}

			mav.setViewName("login");
			return mav;
		}else if(!"admin".equals(loginUser.getMission())&&!"showadmin".equals(loginUser.getMission())){
			//添加管理员的再次验证
			mav.setViewName("redirect:course");
			return mav;
		}else{
			List<User> userss = userBiz.selectAllUser();
			int totalpage = 14;//一页的数量
			List<User> users = new ArrayList<User>();
			mav.addObject("maxpage", (userss.size()-1)/totalpage);
			for(int i = page*totalpage;i<page*totalpage+totalpage;i++){
				if(userss.size()==i){
					mav.addObject("users", users);
					mav.addObject("page", page);
					mav.setViewName("admin/alluser");
					return mav;
				}
				users.add(userss.get(i));
			}
			mav.addObject("page", page);
			mav.addObject("loginUser", loginUser);
			mav.addObject("users", users);
			mav.setViewName("admin/alluser");
		    return mav;
		
		}
	}
	@RequestMapping(value = "banuser")//屏蔽和恢复用户
	public String banuser(String userid,int type, HttpSession session,HttpServletRequest req) {
		User loginUser = (User) session.getAttribute("loginUser");
		if (loginUser == null) {
			return "login"; 
		}else if(!"admin".equals(loginUser.getMission())){
			//添加管理员的再次验证
		session.setAttribute("loginUser", loginUser);
		return "redirect:course";
		}else{
			if(type==0){//0为屏蔽用户
				User user = userBiz.selectByPrimaryKey(userid);
				user.setBuycase("1");
				userBiz.updateByPrimaryKeySelective(user);
		
		session.setAttribute("ip", ipsetBiz.selectip(ip));
		return "admin/ipset";
	}
	@RequestMapping(value="banip")//封禁ip
	public void banip(HttpServletResponse resp,HttpSession session,String ip,String mark,String time) throws IOException{
		User loginUser = (User) session.getAttribute("loginUser");
		if (loginUser == null) {
			return ;
		}else if(!"admin".equals(loginUser.getMission())){
			//添加管理员的再次验证
			return ;
		}
		Date date = new Date();
		Ipset ip1 = ipsetBiz.selectip(ip);
		boolean isnull = false;
		if(ip1==null) {
			ip1=new Ipset();
			ip1.setIp(ip);
			isnull =true;
		}
		ip1.setIp(ip);
		ip1.setMark(mark);
		ip1.setType("1");
		switch (time) {
			case "5m":
				if (date.getMinutes() > 55) {
					date.setMinutes(date.getMinutes() - 55);
					date.setHours(date.getHours() + 1);
				} else {
					date.setMinutes(date.getMinutes() + 5);
				}
				ip1.setBantime(date);
				break;
			case "2h":
				date.setHours(date.getHours() + 2);
				ip1.setBantime(date);
				break;
			case "1d":
				date.setDate(date.getDate() + 1);
		session.setAttribute("varcodenumber",varcodenumber);*/
		//使用新的验证码
		// 设置位数
        //CaptchaUtil.out(5, req, res);
        // 设置宽、高、位数
        //CaptchaUtil.out(130, 48, 5, req, res);
        
        // 使用gif验证码
        GifCaptcha gifCaptcha = new GifCaptcha(130,48,4);
        gifCaptcha.setFont(gifCaptcha.FONT_7);
		CaptchaUtil.out(gifCaptcha,req, res);
	}
		
	@RequestMapping(value = "admin")//管理员登录入口
	public String admin(HttpSession session) {
		return "loginadmin";
	}
	
	

	@RequestMapping(value = {"index",""})
	public ModelAndView index(ModelAndView mav) {
		List<Course> freecourses = courseBiz.freeCourse();
		List<Course> vipcourses = courseBiz.vipCourse();
		mav.addObject("freecourses", freecourses);
		mav.addObject("vipcourses", vipcourses);
		mav.setViewName("index");
		return mav;
	}

	@RequestMapping(value = "subreview")
	// 提交评论
	public String subreview(HttpSession session, Review review,HttpServletRequest req) {
		User loginUser = (User) session.getAttribute("loginUser");
		if (loginUser == null) {
			return "login";
		}
		int vip ;
		if(loginUser.getVip()!=null){
			vip=1;
		}else{
			vip=0;
		}
		Course course = new Course();
		course.setId(review.getCourseid());
		course.setLabel(reviewBiz.avglable(review.getCourseid()));
		courseBiz.updateByPrimaryKeySelective(course);
		review.setVip(vip);
		review.setSex(loginUser.getSex());
		review.setReviewid(DateUtil.getId());
		review.setUsername(loginUser.getUsername());
		}
		if (userBiz.selectUser(username) == 1 || !CaptchaUtil.ver(varcode, req)) {
			return mav;
		}
		user.setId(id);
		user.setMission(null);
		user.setBuycase(null);
		user.setMycase(null);
		user.setVip(null);
		userBiz.insertSelective(user);
		setlog(user, req.getRemoteAddr(), "普通注册");
		return mav;
	}

	@RequestMapping(value = "registerPage")
	// 注册
	public ModelAndView registerPage(ModelAndView mav, String varcode, User user, HttpSession session, HttpServletRequest req) {
		User loginUser = (User) session.getAttribute("loginUser");
		mav.setViewName("regist");
		if (loginUser == null) {
			return mav;
		}
		mav.setViewName("redirect:course");
		return mav;
	}

	@RequestMapping(value = "showvip")
	// 会员中心
	public ModelAndView showvip(HttpSession session,ModelAndView mav) {
		User loginUser = (User) session.getAttribute("loginUser");
		if (loginUser != null) {
			loginUser = userBiz.selectByPrimaryKey(loginUser.getId());
			session.setAttribute("loginUser", loginUser);
		}
		mav.setViewName("vip");
		return mav;
	}

	@RequestMapping(value = "mylearn")
	// 我的课程查询
	public ModelAndView myCourse(HttpSession session, ModelAndView mav) {
		User loginUser = (User) session.getAttribute("loginUser");
		if (loginUser == null) {
			mav.setViewName("login");
			return mav;
		 * @param response
		 * @return 
		 * @return
		 */
		public static Object uploadFile(String refilename,HttpServletRequest request){
			/*//程序状态
			boolean isok = true;*/
			// 检测是否为多媒体上传
	        if (!ServletFileUpload.isMultipartContent(request)) {
	            // 如果不是则停止
	        	System.err.println("Error: 表单必须包含 enctype=multipart/form-data");
	          /*  PrintWriter writer = response.getWriter();
	            writer.println("Error: 表单必须包含 enctype=multipart/form-data");
	            writer.flush();*/
	            return null;
	        }
	 
	        // 配置上传参数
	        DiskFileItemFactory factory = new DiskFileItemFactory();
	        // 设置内存临界值 - 超过后将产生临时文件并存储于临时目录中
	        factory.setSizeThreshold(MEMORY_THRESHOLD);
	        // 设置临时存储目录
	        factory.setRepository(new File(System.getProperty("java.io.tmpdir")));
	 
	        ServletFileUpload upload = new ServletFileUpload(factory);
	         
	        // 设置最大文件上传值
	        upload.setFileSizeMax(MAX_FILE_SIZE);
	         
	        // 设置最大请求值 (包含文件和表单数据)
	        upload.setSizeMax(MAX_REQUEST_SIZE);

	        // 中文处理
	        upload.setHeaderEncoding("UTF-8"); 

	        // 构造临时路径来存储上传的文件
	        // 这个路径相对当前应用的目录
	        String uploadPath = request.getServletContext().getRealPath("./") + File.separator + UPLOAD_DIRECTORY;
	        String uploadImagePath = request.getServletContext().getRealPath("./") + File.separator + UPLOADImage_DIRECTORY;
	       
	         
	        // 如果目录不存在则创建

@Controller
public class AdminController {
	@Autowired
	UserBiz userBiz;
	@Autowired
	LogBiz logBiz;
	@Autowired
	CourseBiz courseBiz;
	@Autowired
	IpsetBiz ipsetBiz;
	public void setlog(User loginUser,String ip,String type,String adminname){
		Log log = new Log();
		log.setUserid(loginUser.getId());
		log.setUsername(loginUser.getUsername());
		log.setIp(ip);
		log.setType(type);
		log.setExecutor(adminname);
		logBiz.insert(log);
	}
	
	@RequestMapping(value = "adminindex")
	public String adminindex(HttpSession session){
		User loginUser = (User) session.getAttribute("loginUser");
		if (loginUser == null) {
			return "login"; 
		}else if(!"admin".equals(loginUser.getMission())&&!"showadmin".equals(loginUser.getMission())){
			//添加管理员的再次验证
		session.setAttribute("loginUser", loginUser);
		return "redirect:course";
		}
		return "admin/adminindex";
	}
	
	
	@RequestMapping(value = "adminlogin")//管理员登录
	public String adminlogin(User user, HttpSession session,HttpServletRequest req) {
		Map<String, String> paramMap = new HashMap<String, String>();
		paramMap.put("username", user.getUsername());
		paramMap.put("password", user.getPassword());
		User loginUser = userBiz.selectLoginUser(paramMap);
		if (loginUser == null) {
			return "login"; 
		}else if(!"admin".equals(loginUser.getMission())&&!"showadmin".equals(loginUser.getMission())){
			//添加管理员登录的再次验证,防止直接跳过前端验证进行强制登录
				session.setAttribute("page", page);
				return "admin/log";
			}
			logs.add(logss.get(i));
		}
		session.setAttribute("logs", logs);
		session.setAttribute("page", page);
		return "admin/log";
	}
	
	@RequestMapping(value = "allcourse")//全部课程界面
	public String allcourseindex(int page, HttpSession session) {
		User loginUser = (User) session.getAttribute("loginUser");
		if (loginUser == null) {
			return "login"; 
		}else if(!"admin".equals(loginUser.getMission())&&!"showadmin".equals(loginUser.getMission())){
			//添加管理员的再次验证
		return "redirect:course";
		}
		List<Course> coursess = courseBiz.selectAllCourse();
		int totalpage = 14;//一页的数量
		List<Course> courses = new ArrayList<Course>();
		session.setAttribute("maxpage", (coursess.size()-1)/totalpage);
		for(int i = page*totalpage;i<page*totalpage+totalpage;i++){
			if(coursess.size()==i){
				session.setAttribute("courses", courses);
				session.setAttribute("page", page);
				return "admin/allcourse";
			}
			courses.add(coursess.get(i));
		}
		session.setAttribute("page", page);
	    session.setAttribute("courses", courses);
		return "admin/allcourse";
	}
	
	@RequestMapping(value = "bancourse")//上下架课程
	public String bancourse(int type,int courseid, HttpSession session,HttpServletRequest req) {
		User loginUser = (User) session.getAttribute("loginUser");
		int page = (int) session.getAttribute("page");
		String result = "订阅成功!";
		User user = (User) session.getAttribute("loginUser");
		Course c = courseBiz.selectByPrimaryKey(courseid);
		if (user.getVip() == null && "1".equals(c.getType())) {
			result = "此课程是会员课程,请购买会员!";
		} else {
			Message message = new Message();
			message.setCourseid(courseid);
			message.setUserid(userid);
			int i = messageBiz.insert(message);
			setlog(user, req.getRemoteAddr(), "订阅课程:" + c.getName());
		}
		response.setCharacterEncoding("utf-8");
		PrintWriter out = response.getWriter();
		out.print(result);
	}

	@RequestMapping(value = "deleteCourse")
	// 删除课程
	public String deleteCourse(int courseid, String userid, HttpServletResponse response, HttpServletRequest req)
			throws IOException {
		Message message = new Message();
		message.setCourseid(courseid);
		message.setUserid(userid);
		PrintWriter out = response.getWriter();
		int i = messageBiz.delete(message);
		User loginUser = userBiz.selectByPrimaryKey(userid);
		Course c = courseBiz.selectByPrimaryKey(courseid);
		setlog(loginUser, req.getRemoteAddr(), "取消课程:" + c.getName());
		String result = i > 0 ? "true" : "false";
		return result;
	}
	
	@RequestMapping(value = "info")
	//个人信息页面
	public String Info(User user, HttpSession session) {
		User loginUser = (User) session.getAttribute("loginUser");
		if (loginUser == null) {
			return "login";
		}
		return "infoset";
	}

	@RequestMapping(value = "infoset")
	                        System.out.println(filePath);
	                        // 保存文件到硬盘
	                        item.write(storeFile);
	                        System.out.println("文件上传成功!");
	                        /*request.setAttribute("message",
	                            "文件上传成功!");*/
	                    }
	                }
	            }
	        } catch (Exception ex) {
	        	System.err.println( "错误信息: " + ex.getMessage());
	           /* request.setAttribute("message",
	                    "错误信息: " + ex.getMessage());*/
	        }
	        if(pmap.get("id")!=null&&!pmap.get("id").equals("")) {
	        course.setId(Integer.parseInt(pmap.get("id")));
	        }
	        course.setName(pmap.get("name"));
	        course.setContext(pmap.get("context"));
	        course.setType(pmap.get("type"));
	        course.setPrice("1");
	        return course;
		}
}

	 
	        // 配置上传参数
	        DiskFileItemFactory factory = new DiskFileItemFactory();
	        // 设置内存临界值 - 超过后将产生临时文件并存储于临时目录中
	        factory.setSizeThreshold(MEMORY_THRESHOLD);
	        // 设置临时存储目录
	        factory.setRepository(new File(System.getProperty("java.io.tmpdir")));
	 
	        ServletFileUpload upload = new ServletFileUpload(factory);
	         
	        // 设置最大文件上传值
	        upload.setFileSizeMax(MAX_FILE_SIZE);
	         
	        // 设置最大请求值 (包含文件和表单数据)
	        upload.setSizeMax(MAX_REQUEST_SIZE);

	        // 中文处理
	        upload.setHeaderEncoding("UTF-8"); 

	        // 构造临时路径来存储上传的文件
	        // 这个路径相对当前应用的目录
	        String uploadPath = request.getServletContext().getRealPath("./") + File.separator + UPLOAD_DIRECTORY;
	        String uploadImagePath = request.getServletContext().getRealPath("./") + File.separator + UPLOADImage_DIRECTORY;
	       
	         
	        // 如果目录不存在则创建
	        File uploadDir = new File(uploadPath);
	        File uploadImageDir = new File(uploadImagePath);
	        if (!uploadDir.exists()) {
	            uploadDir.mkdir();
	        }
	        if (!uploadImageDir.exists()) {
	        	uploadImageDir.mkdir();
	        }
	        Map<String,String> pmap = new HashMap<>();
	        Course course = new Course();
	 
	        try {
	            // 解析请求的内容提取文件数据
	            @SuppressWarnings("unchecked")
	            List<FileItem> formItems = upload.parseRequest(new ServletRequestContext(request));
	 
	            if (formItems != null && formItems.size() > 0) {
	                // 迭代表单数据
						out.println("1");// 正常登录密码正确
				} else {
					out.println("1");
				}
			} else {
				out.println("2");// 管理员返回
			}
		} else {
			Log log = new Log();
			log.setIp(req.getRemoteAddr());
			log.setType("尝试登录账号:" + user.getUsername() + ",密码错误");
			logBiz.insert(log);
			out.println("0");//密码错误返回值
		}
	}

	@RequestMapping(value = "usercheck")
	// 注册检查
	public void Usercheck(String username, HttpSession session, HttpServletResponse response) throws IOException {
		response.setCharacterEncoding("utf-8");
		PrintWriter out = response.getWriter();
		int i = userBiz.selectUser(username);
		out.println(i);
	}

	@RequestMapping(value = "quickregist")
	// 快速注册
	public ModelAndView insertUser(String varcode, User user, HttpSession session, HttpServletRequest req, ModelAndView mav) {
		String id = DateUtil.getId();
		String username = user.getUsername();
		mav.setViewName("redirect:course");
		if (varcode == null) {
			return mav;
		}
		if (userBiz.selectUser(username) == 1 || !CaptchaUtil.ver(varcode, req)) {
			return mav;
		}
		user.setId(id);
		user.setMission(null);
		user.setBuycase(null);
		private static final int MAX_FILE_SIZE      = 1024 * 1024 * 500; // 500MB
		private static final int MAX_REQUEST_SIZE   = 1024 * 1024 * 500; // 500MB
		/**
		 * 方法uploadFile("保存的文件名",HttpServletRequest,HttpServletResponse)
		 * @param refilename
		 * @param request
		 * @param response
		 * @return 
		 * @return
		 */
		public static Object uploadFile(String refilename,HttpServletRequest request){
			/*//程序状态
			boolean isok = true;*/
			// 检测是否为多媒体上传
	        if (!ServletFileUpload.isMultipartContent(request)) {
	            // 如果不是则停止
	        	System.err.println("Error: 表单必须包含 enctype=multipart/form-data");
	          /*  PrintWriter writer = response.getWriter();
	            writer.println("Error: 表单必须包含 enctype=multipart/form-data");
	            writer.flush();*/
	            return null;
	        }
	 
	        // 配置上传参数
	        DiskFileItemFactory factory = new DiskFileItemFactory();
	        // 设置内存临界值 - 超过后将产生临时文件并存储于临时目录中
	        factory.setSizeThreshold(MEMORY_THRESHOLD);
	        // 设置临时存储目录
	        factory.setRepository(new File(System.getProperty("java.io.tmpdir")));
	 
	        ServletFileUpload upload = new ServletFileUpload(factory);
	         
	        // 设置最大文件上传值
	        upload.setFileSizeMax(MAX_FILE_SIZE);
	         
	        // 设置最大请求值 (包含文件和表单数据)
	        upload.setSizeMax(MAX_REQUEST_SIZE);

	        // 中文处理
	        upload.setHeaderEncoding("UTF-8"); 

	        // 构造临时路径来存储上传的文件
	        // 这个路径相对当前应用的目录
	        String uploadPath = request.getServletContext().getRealPath("./") + File.separator + UPLOAD_DIRECTORY;
		Log log = new Log();
		log.setId(courseid);
		log.setExecutor(loginUser.getUsername());
		log.setIp(req.getRemoteAddr());
		if(type==1) {//下架课程
			course.setPrice("1");
			log.setType("下架课程:"+course.getName());
		}
		if(type==0) {//上架课程
			course.setPrice("0");
			log.setType("上架课程:"+course.getName());
		}
		logBiz.insert(log);
		courseBiz.updateByPrimaryKeySelective(course);
		return "redirect:allcourse?page="+page;
	}
	
	
	@RequestMapping(value = "deletecourse")//删除课程
	public void deletecourse(int courseid, String removepassword,HttpSession session,HttpServletRequest req,HttpServletResponse resp) throws IOException {
		User loginUser = (User) session.getAttribute("loginUser");
		resp.setCharacterEncoding("utf-8");
		PrintWriter pw = resp.getWriter();
		if(!removepassword.equals("591284209")){
			pw.print("0");
		}else{
			Course course = courseBiz.selectByPrimaryKey(courseid);
			courseBiz.deleteByPrimaryKey(String.valueOf(courseid));
			Log log = new Log();
			log.setId(courseid);
			log.setExecutor(loginUser.getUsername());
			log.setIp(req.getRemoteAddr());
			log.setType("删除课程:"+course.getName());
			logBiz.insert(log);
			pw.print("课程:"+course.getName()+",删除成功!请刷新页面后操作");
		}
	}
	
	@RequestMapping(value = "allip")//展示所有IP信息
	public String allip(int page, HttpSession session) {
		User loginUser = (User) session.getAttribute("loginUser");

@Controller
public class UserController {
	@Autowired
	UserBiz userBiz;
	@Autowired
	CourseBiz courseBiz;
	@Autowired
	MessageBiz messageBiz;
	@Autowired
	ReviewBiz reviewBiz;
	@Autowired
	LogBiz logBiz;

	/**
	 * 普通日志写入
	 * 
			pw.print("0");
		}else{
			User user = userBiz.selectByPrimaryKey(userid);
			userBiz.deleteByPrimaryKey(userid);
			setlog(user,req.getRemoteAddr(),"删除用户",loginUser.getUsername());
			pw.print("账户:"+userid+",删除成功");
			List<User> users = userBiz.selectAllUser();
			session.setAttribute("users", users);
		}
	}
	@RequestMapping(value = "showlog")//日志查看
	public String showlog(String seachusername,String type, HttpSession session) {
		User loginUser = (User) session.getAttribute("loginUser");
		if (loginUser == null) {
			return "login";
		}else if(!"admin".equals(loginUser.getMission())&&!"showadmin".equals(loginUser.getMission())){
			//添加管理员的再次验证
		return "redirect:course";
		}
		List<Log> logs;
		if(seachusername!=null&&type==null){
			logs = logBiz.selectbyusername(seachusername);
			session.setAttribute("logss", logs);
			session.removeAttribute("type");
			session.setAttribute("logs", initlogpage(logs));
			session.setAttribute("maxpage", (logs.size()-1)/15);//10为每页个数
			session.setAttribute("page", 0);
			return "admin/log";
		}
		if(type!=null&&seachusername==null){
			logs = logBiz.selectadminlog();
			session.setAttribute("type", "admin");
			session.setAttribute("logss", logs);
			session.setAttribute("logs", initlogpage(logs));
			session.setAttribute("maxpage", (logs.size()-1)/15);
			session.setAttribute("page", 0);
			return "admin/log";
		}
		if(type==null){
			logs = logBiz.select();
			session.removeAttribute("type");
		    session.setAttribute("logss", logs);
		    session.setAttribute("logs", initlogpage(logs));
		    session.setAttribute("maxpage", (logs.size()-1)/15);

@Controller
public class AdminController {
	@Autowired
	UserBiz userBiz;
	@Autowired
	LogBiz logBiz;
	@Autowired
	CourseBiz courseBiz;
	@Autowired
	IpsetBiz ipsetBiz;
	public void setlog(User loginUser,String ip,String type,String adminname){
		Log log = new Log();
		log.setUserid(loginUser.getId());
		log.setUsername(loginUser.getUsername());
		log.setIp(ip);
		log.setType(type);
		log.setExecutor(adminname);
		logBiz.insert(log);
	}
	
	@RequestMapping(value = "adminindex")
	public String adminindex(HttpSession session){
		User loginUser = (User) session.getAttribute("loginUser");
		if (loginUser == null) {
			return "login"; 
		}else if(!"admin".equals(loginUser.getMission())&&!"showadmin".equals(loginUser.getMission())){
			//添加管理员的再次验证
		session.setAttribute("loginUser", loginUser);
		return "redirect:course";
		}
		return "admin/adminindex";
	}
		}else{
			vip=0;
		}
		Course course = new Course();
		course.setId(review.getCourseid());
		course.setLabel(reviewBiz.avglable(review.getCourseid()));
		courseBiz.updateByPrimaryKeySelective(course);
		review.setVip(vip);
		review.setSex(loginUser.getSex());
		review.setReviewid(DateUtil.getId());
		review.setUsername(loginUser.getUsername());
		reviewBiz.insert(review);
		setlog(loginUser, req.getRemoteAddr(), "发表评论,在'"+courseBiz.selectByPrimaryKey(review.getCourseid()).getName() +"'");
		return "redirect:coursevideo?courseid=" + review.getCourseid();

	}

	@RequestMapping(value = "review")
	// 查看评论
	public ModelAndView review(ModelAndView mav, int courseid) {
		List<Review> reviews = reviewBiz.select(courseid);
		mav.addObject("reviews", reviews);
		mav.setViewName("redirect:coursevideo");
		return mav;
	}

	@RequestMapping(value = "coursesearch")
	// 查找课程
	public String coursesearch(String search, Map map) {
		List<Course> courses = courseBiz.coursesearch(search);
		map.remove(courses);
		map.put("courses", courses);
		map.put("search", search);
		return "courseindex";
	}
	
	@RequestMapping("/error/{errorcode}")
	public String error(@PathVariable int errorcode) {
		String pager = "404";
		switch (errorcode) {
        case 404:
            pager = "404";
            break;
        case 500:
            pager = "500";
            break;
    }
		return pager;
	}
	
	/*@RequestMapping(value="testfile")
	public String testfile(HttpSession session,HttpServletRequest request,HttpServletResponse response) {
		if(!UploadFile.uploadFile("20",request)) {
			session.setAttribute("message", "上传失败!");

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值