作者主页:夜未央5788

简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

springboot电影推荐网站。本系统采用企业级开发标准,使用SpringBoot架构,数据访问层采用Spring Data Jpa,业务控制层采用SpringMvc,安全框架采用Shiro,实现了完整权限系统,Controller方法采用shiro注解,来实现有效的权限控制;界面采用了Easyui技术;在该项目中可以收录电影,收录电影网站,电影网站动态信息以及通过关键字查询你想要看的电影。在后台可以添加电影信息,对电影信动态的管理,电影信息管理,网站信息的管理等。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

6.数据库:MySql 5.7版本;

技术栈

1. 后端:SpringBoot+Spring Data Jpa+shiro

2. 前端:html+easyui+bootstrap

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 将项目中application.yml配置文件中的数据库配置改为自己的配置

3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;

4. 前台运行地址:http://localhost:8085
后台运行地址:http://localhost:8085/login

管理员账户:admin  密码:123456

运行截图

后管界面

代码相关

电影控制器

/*** 电影控制器* @author Administrator**/
@Controller
@RequestMapping(value = "/film")
public class FilmController {@Resourceprivate FilmService filmService;@Resourceprivate WebSiteInfoService webSiteInfoService;/*** 搜索电影 简单模糊查询* @param q* @return* @throws Exception*/@RequestMapping("/search")public ModelAndView search(@Valid Film film,BindingResult bindingResult)throws Exception{ModelAndView mav=new ModelAndView();if(bindingResult.hasErrors()){mav.addObject("error", bindingResult.getFieldError().getDefaultMessage());mav.addObject("title", "首页");mav.addObject("mainPage", "film/indexFilm");mav.addObject("mainPageKey", "#f");mav.addObject("film", film);mav.setViewName("index");}else{List<Film> filmList=filmService.list(film, 1, 32);mav.addObject("filmList", filmList); // 最多查询32条数据mav.addObject("title", film.getName());mav.addObject("mainPage", "film/result");mav.addObject("mainPageKey", "#f");mav.addObject("film", film);mav.addObject("total", filmList.size());mav.setViewName("index");         }return mav;}/*** 分页查询电影信息* @return* @throws Exception*/@RequestMapping("/list/{id}")public ModelAndView list(@PathVariable(value="id",required=false) Integer page)throws Exception{ModelAndView mav=new ModelAndView();List<Film> filmList=filmService.list(null, page, 20);Long total=filmService.getCount(null);mav.addObject("filmList", filmList);mav.addObject("pageCode",PageUtil.genPagination("/film/list", total, page, 20));mav.addObject("title", "电影列表");mav.addObject("mainPage", "film/list");mav.addObject("mainPageKey", "#f");mav.setViewName("index");return mav;}/*** 根据id查询电影详细信息* @return* @throws Exception*/@RequestMapping("/{id}")public ModelAndView view(@PathVariable("id") Integer id)throws Exception{ModelAndView mav=new ModelAndView();Film film=filmService.findById(id);mav.addObject("film", film);mav.addObject("title", film.getTitle());mav.addObject("pageCode", this.genUpAndDownPageCode(filmService.getLast(id),filmService.getNext(id)));mav.addObject("randomFilmList", filmService.randomList(8));mav.addObject("webSiteInfoList", webSiteInfoService.getByFilmId(id));mav.addObject("mainPage", "film/view");mav.addObject("mainPageKey", "#f");mav.addObject("film", film);mav.setViewName("index");   return mav;}/*** 获取下一篇博客和下一篇博客代码* @param lastBlog* @param nextBlog* @return*/private String genUpAndDownPageCode(Film lastFilm,Film nextFilm){StringBuffer pageCode=new StringBuffer();if(lastFilm==null || lastFilm.getId()==null){pageCode.append("<p>上一篇:没有了</p>");}else{pageCode.append("<p>上一篇:<a href='/film/"+lastFilm.getId()+"'>"+lastFilm.getTitle()+"</a></p>");}if(nextFilm==null || nextFilm.getId()==null){pageCode.append("<p>下一篇:没有了</p>");}else{pageCode.append("<p>下一篇:<a href='/film/"+nextFilm.getId()+"'>"+nextFilm.getTitle()+"</a></p>");}return pageCode.toString();}}

后管电影控制器

/*** 电影Controller类* @author Administrator**/
@RestController
@RequestMapping(value = "/admin/film")
public class FilmAdminController {@Resourceprivate FilmService filmService;@Resourceprivate WebSiteInfoService webSiteInfoService;@Value("${imageFilePath}")private String imageFilePath;@Resourceprivate InitSystem initSystem;/*** 分页查询电影* @param page* @param rows* @return* @throws Exception*/@ResponseBody@RequestMapping("/list")public Map<String,Object> list(Film film,@RequestParam(value="page",required=false)Integer page,@RequestParam(value="rows",required=false)Integer rows)throws Exception{List<Film> filmList=filmService.list(film,page,rows);Long total=filmService.getCount(film);Map<String, Object> resultMap = new HashMap<>();resultMap.put("rows", filmList);resultMap.put("total", total);return resultMap;}/*** 下拉框模糊查询* @param name* @return* @throws Exception*/@ResponseBody@RequestMapping("/comboList")public List<Film> comboList(String q)throws Exception{if(StringUtil.isEmpty(q)){return null;}Film film=new Film();film.setName(q);return filmService.list(film, 1, 30); // 最多查询30条记录}/*** 添加或者修改电影* @param film* @return* @throws Exception*/@ResponseBody@RequestMapping("/save")public Map<String,Object> save(Film film,@RequestParam("imageFile")MultipartFile file,HttpServletRequest request)throws Exception{if(!file.isEmpty()){// 获取文件名String fileName = file.getOriginalFilename();// 获取文件的后缀名String suffixName = fileName.substring(fileName.lastIndexOf("."));String newFileName=DateUtil.getCurrentDateStr()+suffixName;FileUtils.copyInputStreamToFile(file.getInputStream(), new File(imageFilePath+newFileName));film.setImageName(newFileName);            }film.setPublishDate(new Date());Map<String, Object> resultMap = new HashMap<>();filmService.save(film);initSystem.loadData(request.getServletContext());resultMap.put("success", true);return resultMap;}/*** 删除电影信息* @param ids* @param response* @return* @throws Exception*/@ResponseBody@RequestMapping("/delete")public Map<String,Object> delete(@RequestParam(value="ids")String ids,HttpServletRequest request)throws Exception{String []idsStr=ids.split(",");Map<String, Object> resultMap = new HashMap<>();boolean flag=true;for(int i=0;i<idsStr.length;i++){Integer filmId=Integer.parseInt(idsStr[i]);if(webSiteInfoService.getByFilmId(filmId).size()>0){flag=false;}else{filmService.delete(filmId);                             }}initSystem.loadData(request.getServletContext());if(flag){resultMap.put("success", true);           }else{resultMap.put("success", false);resultMap.put("errorInfo", "电影动态信息中存在电影信息,不能删除!");}return resultMap;}/*** 根据id查询实体* @param id* @return* @throws Exception*/@ResponseBody@RequestMapping("/findById")public Film findById(@RequestParam(value="id")Integer id)throws Exception{Film film=filmService.findById(id);return film;}/*** 上传图片* @param file* @return*/@ResponseBody@RequestMapping("/ckeditorUpload")public String ckeditorUpload(@RequestParam("upload")MultipartFile file,String CKEditorFuncNum)throws Exception{// 获取文件名String fileName = file.getOriginalFilename();// 获取文件的后缀名String suffixName = fileName.substring(fileName.lastIndexOf("."));String newFileName=DateUtil.getCurrentDateStr()+suffixName;FileUtils.copyInputStreamToFile(file.getInputStream(), new File(imageFilePath+newFileName));StringBuffer sb=new StringBuffer();sb.append("<script type=\"text/javascript\">");sb.append("window.parent.CKEDITOR.tools.callFunction("+ CKEditorFuncNum + ",'" +"/static/filmImage/"+ newFileName + "','')");sb.append("</script>");return sb.toString();}}

如果也想学习本系统,下面领取。回复:040springboot

Java项目:springboot电影推荐网站相关推荐

  1. 计算机毕业设计JAVA电影推荐网站mybatis+源码+调试部署+系统+数据库+lw

    计算机毕业设计JAVA电影推荐网站mybatis+源码+调试部署+系统+数据库+lw 计算机毕业设计JAVA电影推荐网站mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构:B ...

  2. java毕业设计电影推荐网站mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计电影推荐网站mybatis+源码+调试部署+系统+数据库+lw java毕业设计电影推荐网站mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构:B/S架构 开 ...

  3. HTML学习1:开发电影推荐网站

    目录 前言 一.html基本结构 二.html基本标签 1.标签 2.标签 3.标题标签 4.简单标签 5.注释和特殊符号 三.html图像插入 四.链接 1.页面间的链接 2.锚链接 3.功能性链接 ...

  4. springboot手机推荐网站 毕业设计-附源码052329

    摘 要 随着社会的发展,计算机的优势和普及使得手机推荐网站的开发成为必需.手机推荐网站主要是借助计算机,通过对首页.手机问答.公告消息.手机资讯.手机测评.我的.跳转到后台等信息进行管理.减少管理员的 ...

  5. (附源码)springboot手机推荐网站 毕业设计052329

    摘 要 随着社会的发展,计算机的优势和普及使得手机推荐网站的开发成为必需.手机推荐网站主要是借助计算机,通过对首页.手机问答.公告消息.手机资讯.手机测评.我的.跳转到后台等信息进行管理.减少管理员的 ...

  6. java项目springboot医院固定资产检修管理系统

    功能介绍 主要对主页.个人中心.员工管理.供应商管理.设备类型管理.仪器设备管理.设备采购管理.设备入库管理.设备申请管理.检修信息管理的实现. springboot是spring家族中的一个全新框架 ...

  7. java基于springboot美食推荐管理系统附源码风格

    美食推荐管理系统是基于java编程语言,springboot框架,mysql数据库开发,本系统主要分为用户和管理员两个角色,其中用户注册登陆后可以查看美食,教程,社区,资讯公告,收藏,评论:管理员对用 ...

  8. Java项目:SSM企业门户网站

    作者主页:夜未央5788 简介:Java领域优质创作者.Java项目.学习资料.技术互助 文末获取源码 项目介绍 本项目分为前后台,前台主要用于官网展示,后台主要为管理员管理, 管理员角色包含以下功能 ...

  9. java基于springboot班级同学录网站管理系统附源码

    班级同学录管理系统是基于java编程语言,springboot框架,mysql数据库开发的,本设计主要分为用户,管理员两个角色,其中用户注册登陆后可以查看系统公告,校园校友风采,在线交流,在线报名聚会 ...

最新文章

  1. python for循环删除
  2. icmp报文格式_IPV6报文格式和IPV4有什么区别?
  3. 怎么用python编贪吃蛇_少儿编程分享:手把手教你用PYTHON编写贪吃蛇(二)
  4. html5 type submit,input type=submit
  5. azure api 管理_具有Azure功能的无服务器API
  6. solidity开发以太坊代币智能合约
  7. 火种 ctf_分析我的火种数据
  8. Java 的Tuple(类似.net等的元组)
  9. js 字符串替换_正则精要:玩转JS正则表达式,也许只需这一篇(建议收藏)
  10. 95-270-020-源码-指标监测-概述
  11. java实例变量,局部变量,类变量和final变量
  12. Linux 基本命令(七)--cat,less,more,head,tail,nl 常用命令
  13. 2017年初BAT的JAVA面试题汇集
  14. Object-C,NSSet,不可变集合
  15. 【读书笔记】《华为工作法》
  16. (强烈推荐)无线网络密码破解方法
  17. 1.1 爬虫入门介绍
  18. 域名解析后主机记录和记录值怎么填写?
  19. JavaScript中获取键盘事件
  20. 苹果设计思维案例研究,困难期生存的关键

热门文章

  1. 索尼电视android屡次停止,索尼电视应用助手目前暂停使用怎么办 教你解决
  2. 建筑结构设计毕业论文参考范文
  3. 记录常用的代码工具(二)--Poi工具类
  4. mesos java_Mesos实战 PDF 下载
  5. Arcgis for Js之加载wms服务
  6. ui设计师职业规划怎么写_UI设计师该如何做职业规划呢?
  7. [绍棠] Promise入门详解和基本用法
  8. vue3项目中引入icon font图标使用
  9. php youtube 信息,如何通过php 获取Youtube某个User所有Video信息
  10. gitlab云盘定时自动备份,gitlab服务器迁移、还原恢复