├── .idea ├── compiler.xml ├── dictionaries │ └── lmy.xml ├── encodings.xml ├── inspectionProfiles │ └── Project_Default.xml ├── misc.xml ├── uiDesigner.xml ├── vcs.xml └── webContexts.xml ├── README.md ├── generatorConfig.xml ├── pom.xml ├── src └── main │ ├── java │ └── com │ │ └── example │ │ ├── controller │ │ ├── CategoryController.java │ │ ├── ManagerController.java │ │ ├── UserController.java │ │ └── VideoController.java │ │ ├── interceptor │ │ ├── ManagerInterceptor.java │ │ └── UserInterceptor.java │ │ ├── mapper │ │ ├── AdminMapper.java │ │ ├── CategoryMapper.java │ │ ├── HistoryMapper.java │ │ ├── UserCollectionMapper.java │ │ ├── UserMapper.java │ │ ├── VideoDetailMapper.java │ │ └── VideoMapper.java │ │ ├── page │ │ └── PageInfo.java │ │ ├── pojo │ │ ├── Admin.java │ │ ├── Category.java │ │ ├── History.java │ │ ├── User.java │ │ ├── UserCollection.java │ │ ├── Video.java │ │ ├── VideoCategory.java │ │ └── VideoDetail.java │ │ ├── service │ │ ├── CategoryService.java │ │ ├── HistoryService.java │ │ ├── ManagerService.java │ │ ├── UserService.java │ │ ├── VideoService.java │ │ └── impl │ │ │ ├── CategoryServcieImpl.java │ │ │ ├── HistoryServiceImpl.java │ │ │ ├── ManagerServiceImpl.java │ │ │ ├── UserServiceImpl.java │ │ │ └── VideoServiceImpl.java │ │ ├── test │ │ ├── MBGTest.java │ │ └── Test1.java │ │ └── utils │ │ └── CodeImageUtil.java │ ├── resources │ ├── applicationContext.xml │ ├── db.properties │ ├── log4j.properties │ ├── mapper │ │ ├── AdminMapper.xml │ │ ├── CategoryMapper.xml │ │ ├── HistoryMapper.xml │ │ ├── UserCollectionMapper.xml │ │ ├── UserMapper.xml │ │ ├── VideoDetailMapper.xml │ │ └── VideoMapper.xml │ └── springmvc.xml │ └── webapp │ ├── WEB-INF │ ├── jsp │ │ ├── common │ │ │ ├── footer.jsp │ │ │ └── header.jsp │ │ ├── manager │ │ │ ├── index.jsp │ │ │ ├── login.jsp │ │ │ ├── user_detail.jsp │ │ │ ├── userlist.jsp │ │ │ └── videolist.jsp │ │ ├── user │ │ │ ├── home.jsp │ │ │ └── register.jsp │ │ └── video │ │ │ ├── play.jsp │ │ │ ├── play1.jsp │ │ │ └── video_detail.jsp │ └── web.xml │ ├── file │ ├── user │ │ └── avatar │ │ │ └── 4f456e40-1415-408d-adb1-c376456e4402.png │ └── video │ │ └── images │ │ ├── 诛仙.jpg │ │ └── 轮播图 │ │ ├── 功夫.jpg │ │ ├── 好小子.jpg │ │ ├── 慎重勇者.jpg │ │ ├── 狄仁杰2四大天王.jpg │ │ ├── 超人高中生们.jpg │ │ └── 过春天.jpg │ ├── index.jsp │ ├── jsp │ ├── common │ │ ├── footer.jsp │ │ └── header.jsp │ ├── manager │ │ ├── addCategory.jsp │ │ ├── categoryList.jsp │ │ ├── index.jsp │ │ ├── login.jsp │ │ ├── test.jsp │ │ ├── user_detail.jsp │ │ ├── userlist.jsp │ │ ├── video_detail.jsp │ │ └── videolist.jsp │ ├── user │ │ ├── home.jsp │ │ └── register.jsp │ └── video │ │ ├── play.jsp │ │ ├── play1.jsp │ │ └── video_detail.jsp │ └── static │ ├── 11-HTML5-视频播放器-.html │ ├── css │ ├── full.css │ ├── global.css │ ├── iconfont.eot │ ├── iconfont.svg │ ├── iconfont.ttf │ ├── iconfont.woff │ ├── movieglobal.css │ ├── register.css │ ├── userHome.css │ ├── video │ │ ├── css.css │ │ └── font-awesome.css │ ├── video_detail.css │ └── video_play.css │ ├── images │ ├── into.png │ ├── layuiimages │ │ ├── avatar │ │ │ ├── 0.jpg │ │ │ ├── 00.jpg │ │ │ ├── 1.jpg │ │ │ ├── 10.jpg │ │ │ ├── 11.jpg │ │ │ ├── 2.jpg │ │ │ ├── 3.jpg │ │ │ ├── 4.jpg │ │ │ ├── 5.jpg │ │ │ ├── 6.jpg │ │ │ ├── 7.jpg │ │ │ ├── 8.jpg │ │ │ ├── 9.jpg │ │ │ └── default.png │ │ ├── case.png │ │ ├── fly.jpg │ │ ├── logo-1.png │ │ ├── logo.png │ │ ├── other │ │ │ ├── 1437100018023.jpg │ │ │ └── study-a.png │ │ └── weixin.jpg │ ├── logo.png │ ├── register.png │ ├── search.png │ ├── 用户.png │ └── 管理员头像.png │ ├── js │ └── movie.js │ ├── mods │ ├── case.js │ ├── face.js │ ├── index.js │ ├── jie.js │ └── user.js │ └── plugins │ ├── jquery │ └── jquery.js │ ├── layui │ ├── css │ │ ├── layui.css │ │ ├── layui.mobile.css │ │ └── modules │ │ │ ├── code.css │ │ │ ├── laydate │ │ │ └── default │ │ │ │ └── laydate.css │ │ │ └── layer │ │ │ └── default │ │ │ ├── icon-ext.png │ │ │ ├── icon.png │ │ │ ├── layer.css │ │ │ ├── loading-0.gif │ │ │ ├── loading-1.gif │ │ │ └── loading-2.gif │ ├── font │ │ ├── iconfont.eot │ │ ├── iconfont.svg │ │ ├── iconfont.ttf │ │ ├── iconfont.woff │ │ └── iconfont.woff2 │ ├── images │ │ └── face │ │ │ ├── 0.gif │ │ │ ├── 1.gif │ │ │ ├── 10.gif │ │ │ ├── 11.gif │ │ │ ├── 12.gif │ │ │ ├── 13.gif │ │ │ ├── 14.gif │ │ │ ├── 15.gif │ │ │ ├── 16.gif │ │ │ ├── 17.gif │ │ │ ├── 18.gif │ │ │ ├── 19.gif │ │ │ ├── 2.gif │ │ │ ├── 20.gif │ │ │ ├── 21.gif │ │ │ ├── 22.gif │ │ │ ├── 23.gif │ │ │ ├── 24.gif │ │ │ ├── 25.gif │ │ │ ├── 26.gif │ │ │ ├── 27.gif │ │ │ ├── 28.gif │ │ │ ├── 29.gif │ │ │ ├── 3.gif │ │ │ ├── 30.gif │ │ │ ├── 31.gif │ │ │ ├── 32.gif │ │ │ ├── 33.gif │ │ │ ├── 34.gif │ │ │ ├── 35.gif │ │ │ ├── 36.gif │ │ │ ├── 37.gif │ │ │ ├── 38.gif │ │ │ ├── 39.gif │ │ │ ├── 4.gif │ │ │ ├── 40.gif │ │ │ ├── 41.gif │ │ │ ├── 42.gif │ │ │ ├── 43.gif │ │ │ ├── 44.gif │ │ │ ├── 45.gif │ │ │ ├── 46.gif │ │ │ ├── 47.gif │ │ │ ├── 48.gif │ │ │ ├── 49.gif │ │ │ ├── 5.gif │ │ │ ├── 50.gif │ │ │ ├── 51.gif │ │ │ ├── 52.gif │ │ │ ├── 53.gif │ │ │ ├── 54.gif │ │ │ ├── 55.gif │ │ │ ├── 56.gif │ │ │ ├── 57.gif │ │ │ ├── 58.gif │ │ │ ├── 59.gif │ │ │ ├── 6.gif │ │ │ ├── 60.gif │ │ │ ├── 61.gif │ │ │ ├── 62.gif │ │ │ ├── 63.gif │ │ │ ├── 64.gif │ │ │ ├── 65.gif │ │ │ ├── 66.gif │ │ │ ├── 67.gif │ │ │ ├── 68.gif │ │ │ ├── 69.gif │ │ │ ├── 7.gif │ │ │ ├── 70.gif │ │ │ ├── 71.gif │ │ │ ├── 8.gif │ │ │ └── 9.gif │ ├── lay │ │ └── modules │ │ │ ├── carousel.js │ │ │ ├── code.js │ │ │ ├── colorpicker.js │ │ │ ├── element.js │ │ │ ├── flow.js │ │ │ ├── form.js │ │ │ ├── jquery.js │ │ │ ├── laydate.js │ │ │ ├── layedit.js │ │ │ ├── layer.js │ │ │ ├── laypage.js │ │ │ ├── laytpl.js │ │ │ ├── mobile.js │ │ │ ├── rate.js │ │ │ ├── slider.js │ │ │ ├── table.js │ │ │ ├── transfer.js │ │ │ ├── tree.js │ │ │ ├── upload.js │ │ │ └── util.js │ ├── layui.all.js │ └── layui.js │ └── webUploader │ ├── Uploader.swf │ ├── webuploader.css │ └── webuploader.js ├── video.iml └── video.sql /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/dictionaries/lmy.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | Android 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/webContexts.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # video 2 | **新手项目,SSM,layui 电影网站前台及后台** 3 | 4 | # 环境及框架 5 | - jdk1.8 6 | - tomcat8.5 7 | - mysql5.7 8 | - Spring5.1 9 | - Spring MVC5.1 10 | - Mybatis3.5.2 11 | - layui2.5.6 12 | - webuploader 13 | 14 | # 实现功能 15 | - 前台 16 | - 登陆 注册 注销 17 | - 关键词搜索 18 | - 分类筛选 19 | - 查看电影详情 20 | - 在线播放 21 | - 下载视频 22 | - 视频选集 23 | - 收藏、取消收藏电影 24 | - 收藏中心 25 | - 历史记录 26 | - 修改登陆密码 27 | - 修改个人资料,修改头像 28 | - 后台 29 | - 所有后台管理展示均使用带条件查询 30 | - 用户管理:用户的增删查,按照名称、手机号、性别等一个或多个信息进行查找 31 | - 电影管理:电影视频信息的增删改查,电视剧的分集的增删改查,视频上传,断点续传,海报上传,按照条件查找 32 | - 分类信息管理:电影分类信息的增删改查,按照条件进行查找 33 | 34 | # 前台预览 35 | ![image](https://github.com/ishardtogetaname/imagesForReadMe/blob/master/%E9%A1%B9%E7%9B%AE%E6%88%AA%E5%9B%BE/%E9%A6%96%E9%A1%B5.png) 36 | ![image](https://github.com/ishardtogetaname/imagesForReadMe/blob/master/%E9%A1%B9%E7%9B%AE%E6%88%AA%E5%9B%BE/%E7%99%BB%E5%BD%95.png) 37 | ![image](https://github.com/ishardtogetaname/imagesForReadMe/blob/master/%E9%A1%B9%E7%9B%AE%E6%88%AA%E5%9B%BE/%E6%9D%A1%E4%BB%B6%E7%AD%9B%E9%80%89.png) 38 | ![image](https://github.com/ishardtogetaname/imagesForReadMe/blob/master/%E9%A1%B9%E7%9B%AE%E6%88%AA%E5%9B%BE/%E6%B3%A8%E5%86%8C.png) 39 | ![image](https://github.com/ishardtogetaname/imagesForReadMe/blob/master/%E9%A1%B9%E7%9B%AE%E6%88%AA%E5%9B%BE/%E7%94%B5%E5%BD%B1%E8%AF%A6%E6%83%85.png) 40 | ![image](https://github.com/ishardtogetaname/imagesForReadMe/blob/master/%E9%A1%B9%E7%9B%AE%E6%88%AA%E5%9B%BE/%E8%A7%86%E9%A2%91%E6%92%AD%E6%94%BE%E5%92%8C%E9%80%89%E9%9B%86.png) 41 | ![image](https://github.com/ishardtogetaname/imagesForReadMe/blob/master/%E9%A1%B9%E7%9B%AE%E6%88%AA%E5%9B%BE/%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF.png) 42 | ![image](https://github.com/ishardtogetaname/imagesForReadMe/blob/master/%E9%A1%B9%E7%9B%AE%E6%88%AA%E5%9B%BE/%E6%94%B6%E8%97%8F.png) 43 | ![image](https://github.com/ishardtogetaname/imagesForReadMe/blob/master/%E9%A1%B9%E7%9B%AE%E6%88%AA%E5%9B%BE/%E5%8E%86%E5%8F%B2%E8%AE%B0%E5%BD%95.png) 44 | # 后台预览 45 | ![image](https://github.com/ishardtogetaname/imagesForReadMe/blob/master/%E9%A1%B9%E7%9B%AE%E6%88%AA%E5%9B%BE/%E7%AE%A1%E7%90%86%E5%91%98%E7%99%BB%E5%BD%95.png) 46 | ![image](https://github.com/ishardtogetaname/imagesForReadMe/blob/master/%E9%A1%B9%E7%9B%AE%E6%88%AA%E5%9B%BE/%E7%94%A8%E6%88%B7%E5%88%97%E8%A1%A8.png) 47 | ![image](https://github.com/ishardtogetaname/imagesForReadMe/blob/master/%E9%A1%B9%E7%9B%AE%E6%88%AA%E5%9B%BE/%E8%A7%86%E9%A2%91%E5%88%97%E8%A1%A8.png) 48 | ![image](https://github.com/ishardtogetaname/imagesForReadMe/blob/master/%E9%A1%B9%E7%9B%AE%E6%88%AA%E5%9B%BE/%E4%BF%AE%E6%94%B9%E8%A7%86%E9%A2%91%E4%BF%A1%E6%81%AF.png) 49 | ![image](https://github.com/ishardtogetaname/imagesForReadMe/blob/master/%E9%A1%B9%E7%9B%AE%E6%88%AA%E5%9B%BE/%E6%B7%BB%E5%8A%A0%E8%A7%86%E9%A2%91.png) 50 | ![image](https://github.com/ishardtogetaname/imagesForReadMe/blob/master/%E9%A1%B9%E7%9B%AE%E6%88%AA%E5%9B%BE/%E8%A7%86%E9%A2%91%E8%AF%A6%E6%83%85.png) 51 | ![image](https://github.com/ishardtogetaname/imagesForReadMe/blob/master/%E9%A1%B9%E7%9B%AE%E6%88%AA%E5%9B%BE/%E5%88%86%E7%B1%BB%E7%AE%A1%E7%90%86.png) 52 | -------------------------------------------------------------------------------- /generatorConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 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 | -------------------------------------------------------------------------------- /src/main/java/com/example/controller/CategoryController.java: -------------------------------------------------------------------------------- 1 | package com.example.controller; 2 | 3 | import com.example.pojo.Category; 4 | import com.example.service.CategoryService; 5 | import org.springframework.stereotype.Controller; 6 | import org.springframework.web.bind.annotation.PathVariable; 7 | import org.springframework.web.bind.annotation.RequestMapping; 8 | import org.springframework.web.bind.annotation.ResponseBody; 9 | 10 | import javax.annotation.Resource; 11 | import java.util.List; 12 | 13 | @Controller 14 | @RequestMapping("category") 15 | public class CategoryController { 16 | @Resource 17 | private CategoryService categoryServiceImpl; 18 | 19 | @RequestMapping("getByPid/{pid}") 20 | @ResponseBody 21 | public List getByPid(@PathVariable("pid")int pid){ 22 | return categoryServiceImpl.selByPid(pid); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/example/controller/VideoController.java: -------------------------------------------------------------------------------- 1 | package com.example.controller; 2 | 3 | import com.example.page.PageInfo; 4 | import com.example.pojo.Video; 5 | import com.example.pojo.VideoDetail; 6 | import com.example.service.VideoService; 7 | import org.apache.commons.io.FileUtils; 8 | import org.springframework.stereotype.Controller; 9 | import org.springframework.web.bind.annotation.PathVariable; 10 | import org.springframework.web.bind.annotation.RequestMapping; 11 | import org.springframework.web.bind.annotation.RequestParam; 12 | import org.springframework.web.bind.annotation.ResponseBody; 13 | 14 | import javax.annotation.Resource; 15 | import javax.servlet.ServletOutputStream; 16 | import javax.servlet.http.HttpServletRequest; 17 | import javax.servlet.http.HttpServletResponse; 18 | import java.io.*; 19 | import java.net.URLDecoder; 20 | import java.nio.charset.StandardCharsets; 21 | import java.util.List; 22 | 23 | @Controller 24 | @RequestMapping("video") 25 | public class VideoController { 26 | @Resource 27 | private VideoService videoServiceImpl; 28 | 29 | @RequestMapping("getAll/{pageNum}/{pageSize}") 30 | @ResponseBody 31 | public PageInfo