——————————DescriptionStart——————————
运行环境 Java≥8、MySQL≥5.7、Tomcat≥8
开发工具 eclipse/idea/myeclipse/sts等均可配置运行
适用 课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SSM+Maven电影在线观看系统(java+ssm+jsp+layui+maven+mysql)
一、项目简述
环境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:
JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 } } @RequestMapping(value = "imageUpdate",produces="text/html;charset=utf-8") @ResponseBody public String imageUpdate (MultipartFile file,HttpSession session,HttpServletRequest request) { User user = (User) session.getAttribute("user" ); JSONObject jsonObject = new JSONObject(); File oldFile = new File(request.getServletContext().getRealPath(user.getImg())); System.out.println(oldFile); if (oldFile.exists()){ } String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("." )); String fileName = user.getUsername()+ "-" + new Date().getTime()+suffix; String src = request.getServletContext().getRealPath("file/user/avatar/" + fileName); try { FileUtils.copyInputStreamToFile(file.getInputStream(),new File(src)); userServiceImpl.updImgById(user.getId(),"file/user/avatar/" + fileName); user.setImg("file/user/avatar/" + fileName); session.setAttribute("user" ,user); jsonObject.put("src" ,"file/user/avatar/" + fileName); jsonObject.put("code" ,1 ); } catch (IOException e) { System.out.println("图片上传失败" ); jsonObject.put("code" ,0 ); return jsonObject.toString(); } return jsonObject.toString(); } @RequestMapping("update") public String update (User user,HttpSession session,HttpServletRequest req) { System.out.println(user); userServiceImpl.updByUser(user); User oldUser = (User) session.getAttribute("user" ); user.setImg(oldUser.getImg()); session.setAttribute("user" ,user); List<Video> collections = userServiceImpl.getCollection(user.getId()); req.setAttribute("collections" ,collections); return "/user/home" ; } @RequestMapping("register") public String register (User user,HttpServletRequest request) { try { userServiceImpl.insert(user); }catch (Exception e){ e.printStackTrace();
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 @Controller @RequestMapping("user") public class UserController { @Resource private UserService userServiceImpl; @Resource private HistoryService historyServiceImpl; @RequestMapping(value = "getAll",produces="text/html;charset=utf-8") @ResponseBody public String getAll (int page,int limit) { int start = (page-1 )*limit; List<User> userList = userServiceImpl.getAll(start, limit); int count = userServiceImpl.getCount(); JSONObject jsonObject = new JSONObject(); jsonObject.put("code" ,0 ); jsonObject.put("count" ,count); jsonObject.put("data" ,userList); return jsonObject.toString(); } @RequestMapping("getCode") public void getCode (HttpServletResponse response, HttpSession session) throws IOException { Object[] objs = CodeImageUtil.createImage(); String code = (String) objs[0 ]; BufferedImage image = (BufferedImage) objs[1 ]; OutputStream os = response.getOutputStream(); ImageIO.write(image,"png" ,os); session.setAttribute("code" ,code); }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 int count = userServiceImpl.getCountByCondition(user); System.out.println(count); JSONObject jsonObject = new JSONObject(); jsonObject.put("code" ,0 ); jsonObject.put("count" ,count); jsonObject.put("data" ,userList); return jsonObject.toString(); } @RequestMapping("user/list") public String user () { return "manage/userlist" ; } @RequestMapping("user/detail/{id}") public String userDetail (@PathVariable("id") int id, HttpServletRequest request) { User user = userServiceImpl.getUserById(id); request.setAttribute("user" ,user); return "manage/user_detail" ; } @RequestMapping("user/delete/{id}") @ResponseBody public int userDelete (@PathVariable("id") int id, HttpServletRequest request) { return userServiceImpl.delById(id); } @RequestMapping("video/list") public String video (HttpServletRequest request) { List<Video> videos = videoServiceImpl.getAllVideos(); List<Category> type = categoryServiceImpl.selByPid(0 ); request.setAttribute("videos" ,videos); request.setAttribute("type" ,type); return "manage/videolist" ; } @RequestMapping("video/getCategoryByPid/{pid}") @ResponseBody public List<Category> getCategoryByPid (@PathVariable("pid") int pid) { return categoryServiceImpl.selByPid(pid); }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 File fileDir = new File(ServerPath + "/" + fileMd5); if (fileDir.isDirectory() && fileDir.exists()){ } } catch (IOException e) { e.printStackTrace(); } System.out.println("合并成功" ); return fileName; } @RequestMapping("video/detail/updDetailAndDate") @ResponseBody public Map<String,Object> updDetailAndDate (VideoDetail detail) { Date date = new Date(); detail.setUploadDate(date); Map<String,Object> map = new HashMap<>(); map.put("code" ,videoServiceImpl.updDetailById(detail)); return map; } @RequestMapping("video/detail/updDetail") @ResponseBody public Map<String,Object> updDetail (VideoDetail detail) { Map<String,Object> map = new HashMap<>(); map.put("code" ,videoServiceImpl.updDetailById(detail)); return map; } @RequestMapping("video/detail/del") @ResponseBody public int delDetail (HttpServletRequest request, Integer id) { VideoDetail detail = videoServiceImpl.getDetailByDetailId(id); File path = new File(request.getServletContext().getRealPath("file/video/videos/" + detail.getFileName())); if (path.exists()){ } return videoServiceImpl.delDetailByDetailId(id); } @RequestMapping("category/list") public String categoryList (HttpServletRequest request) { request.setAttribute("categories" ,categoryServiceImpl.selAll()); request.setAttribute("type" ,categoryServiceImpl.selByPid(0 )); return "manage/categoryList" ; } @RequestMapping("category/getAll") @ResponseBody
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 } @RequestMapping("/getByName/{name}") @ResponseBody public List<Video> getByName (@PathVariable("name") String name) { return videoServiceImpl.getByName(name); } @RequestMapping("detail/{id}") public String detail (@PathVariable("id") int id, HttpServletRequest request) { Video video = videoServiceImpl.getById(id); List<VideoDetail> episodes =videoServiceImpl.getDetailById(id); request.setAttribute("video" ,video); request.setAttribute("episodes" ,episodes); return "video/video_detail" ; } @RequestMapping("download") public void download (HttpServletRequest request, HttpServletResponse response,String fileName) throws IOException { System.out.println(fileName); String newName; String userAgent = request.getHeader("User-Agent" ); if (userAgent.contains("MSIE" ) || userAgent.contains("Trident" ) || userAgent.contains("Edge" )){ newName = java.net.URLEncoder.encode(fileName, "UTF-8" ); }else { newName = new String(fileName.getBytes(StandardCharsets.UTF_8),StandardCharsets.ISO_8859_1); } response.setHeader("Content-Disposition" ,"attachment;filename=" +newName); response.setCharacterEncoding("utf-8" ); File file = new File(request.getServletContext().getRealPath("file/video/videos/" ),fileName); response.setHeader("Content-Length" , String.valueOf(file.length())); OutputStream os = new BufferedOutputStream(response.getOutputStream()); InputStream is = new BufferedInputStream(new FileInputStream(file)); byte [] buffer = new byte [1024 *1024 *5 ]; int len = -1 ; while ((len = is.read(buffer)) != -1 ){ os.write(buffer,0 ,len); } os.flush(); os.close(); is.close(); } @RequestMapping("play")
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 @RequestMapping("video/detail/upload") @ResponseBody public void upload (HttpServletRequest req, MultipartFile file,String fileMd5,String chunk) { File dir = new File(req.getServletContext().getRealPath("file/video/videos/" ) +"/" + fileMd5); if (!dir.exists()){ dir.mkdir(); } File chunkFile = new File(dir + "/" + chunk); try { FileUtils.copyInputStreamToFile(file.getInputStream(),chunkFile); } catch (IOException e) { e.printStackTrace(); } } @RequestMapping("video/detail/checkChunk") @ResponseBody public Map<String,Object> checkChunk (HttpServletRequest req,String fileMd5,int chunk,String chunkSize) { File checkFile = new File(req.getServletContext().getRealPath("file/video/videos/" ) + "/" + fileMd5 + "/" + chunk); Map<String,Object> map = new HashMap<>(); if (checkFile.exists() && checkFile.length() == Integer.parseInt(chunkSize)){ map.put("ifExist" ,1 ); }else { map.put("ifExist" ,0 ); } return map; }
——————————PayStart——————————
项目链接: https://javayms.github.io?id=241422322105200ke https://javayms.pages.dev?id=241422322105200ke