基于javaweb的动漫影视管理系统(java+ssm+jsp+jquery+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的动漫影视管理系统(java+SSM+JSP+jQuery+Mysql)
项目介绍
本项目分为前后台,前台为普通用户登录,后台为管理员登录。
管理员角色包含以下功能: 管理员登陆,用户管理,影片列表管理,管理影片等功能。
用户角色包含以下功能: 用户登录注册,用户首页,视频简介,视频播放,评论视频,查看我收藏的视频,查看我的评论等功能。
环境需要
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.数据库:MySql 5.7版本; 6.是否Maven项目:是;
技术栈
- 后端:Spring+SpringMVC+Mybatis 2. 前端:JSP+CSS+JavaScript+jQuery
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/ 登录
用户管理控制层:
/**
- 这个类是User控制器,负责接收JSP的值,补充数据后,然后跳转到其他页面
*/
@Controller
@RequestMapping(“/user”)
public class UserController extends BaseController {
@Autowired
private UserService userService;
// --------------------------------------- 华丽分割线 ------------------------------
/*********************************查询列表【不分页】 @param user 用户对象
-
@param model model对象,Spring框架的,在这里用来向JSP页面传值
-
@param request request对象,JSP内置对象,不一定用到,一般用来做传值或者保存数据到前台,或者获取session
-
@param response response对象,JSP内置对象,不一定用到,一般用来向前端返回值
-
@return 一个字符串,根据字符串的值来跳转到相应页面
*/
@RequestMapping(value = “/listAll”)
public String listAll(User user, Model model, HttpServletRequest request, HttpServletResponse response){
List listAll = userService.listAll();
model.addAttribute(“list”, listAll);
return “user/user”;
/**
-
通过传入的entity,具体是什么看参数名字查询数据,然后返回跳转到jsp中
-
@param user 用户对象
-
@param model model对象,Spring框架的,在这里用来向JSP页面传值
-
@param request request对象,JSP内置对象,不一定用到,一般用来做传值或者保存数据到前台,或者获取session
-
@param response response对象,JSP内置对象,不一定用到,一般用来向前端返回值
-
@return 一个字符串,根据字符串的值来跳转到相应页面
*/
@RequestMapping(value = “/listByEntity”)
public String listByEntity(User user, Model model, HttpServletRequest request, HttpServletResponse response){
List listAll = userService.listAllByEntity(user);
model.addAttribute(“list”, listAll);
return “user/user”;
/**
-
通过传入的entity,具体是什么看参数名字然后查询数据,然后返回跳转到jsp中
-
@param user 用户对象
-
@param model model对象,Spring框架的,在这里用来向JSP页面传值
-
@param request request对象,JSP内置对象,不一定用到,一般用来做传值或者保存数据到前台,或者获取session
-
@param response response对象,JSP内置对象,不一定用到,一般用来向前端返回值
-
@return 一个字符串,根据字符串的值来跳转到相应页面
*/
@RequestMapping(value = “/listByMap”)
public String listByMap(User user, Model model, HttpServletRequest request, HttpServletResponse response){
//通过map查询
Map<String,Object> params = new HashMap<String,Object>();
if(!isEmpty(user.getNickname())){
params.put(“nickname”, user.getNickname());
if(!isEmpty(user.getName())){
params.put(“name”, user.getName());
if(!isEmpty(user.getPhone())){
params.put(“phone”, user.getPhone());
if(!isEmpty(user.getIdCard())){
params.put(“idCard”, user.getIdCard());
if(!isEmpty(user.getPassword())){
params.put(“password”, user.getPassword());
if(!isEmpty(user.getEmail())){
params.put(“email”, user.getEmail());
if(!isEmpty(user.getIsDelete())){
params.put(“isDelete”, user.getIsDelete());
List listAll = userService.listByMap(params);
model.addAttribute(“list”, listAll);
return “user/user”;
/*********************************查询列表【分页】 @param user 用户对象
-
@param model model对象,Spring框架的,在这里用来向JSP页面传值
-
@param request request对象,JSP内置对象,不一定用到,一般用来做传值或者保存数据到前台,或者获取session
-
@param response response对象,JSP内置对象,不一定用到,一般用来向前端返回值
-
@return 一个字符串,根据字符串的值来跳转到相应页面
*/
@RequestMapping(value = “/findByObj”)
public String findByObj(User user, Model model, HttpServletRequest request, HttpServletResponse response) {
//分页查询
Pager pagers = userService.findByEntity(user);
model.addAttribute(“pagers”, pagers);
//存储查询条件
model.addAttribute(“obj”, user);
return “user/user”;
/**
-
根据传入的sql,去数据库中查询,最后跳转到对应的页面
-
@param user 用户对象
-
@param model model对象,Spring框架的,在这里用来向JSP页面传值
-
@param request request对象,JSP内置对象,不一定用到,一般用来做传值或者保存数据到前台,或者获取session
-
@param response response对象,JSP内置对象,不一定用到,一般用来向前端返回值
-
@return 一个字符串,根据字符串的值来跳转到相应页面
*/
@RequestMapping(value = “/findBySql”)
public String findBySql(User user, Model model, HttpServletRequest request, HttpServletResponse response) {
//分页查询
String sql = "SELECT * FROM user WHERE isDelete = 0 ";
if(!isEmpty(user.getNickname())){
sql += " and nickname like ‘%“+user.getNickname()+”%’";
if(!isEmpty(user.getName())){
sql += " and name like ‘%“+user.getName()+”%’";
if(!isEmpty(user.getPhone())){
sql += " and phone like ‘%“+user.getPhone()+”%’";
if(!isEmpty(user.getIdCard())){
sql += " and idCard like ‘%“+user.getIdCard()+”%’";
if(!isEmpty(user.getPassword())){
sql += " and password like ‘%“+user.getPassword()+”%’";
if(!isEmpty(user.getEmail())){
sql += " and email like ‘%“+user.getEmail()+”%’";
if(!isEmpty(user.getIsDelete())){
sql += " and isDelete like ‘%“+user.getIsDelete()+”%’";
sql += " ORDER BY ID DESC ";
Pager pagers = userService.findBySqlRerturnEntity(sql);
model.addAttribute(“pagers”, pagers);
//存储查询条件
model.addAttribute(“obj”, user);
return “user/user”;
/**
-
根据传入的map,查询数据库后,根据return的值跳转到对应的JSP中
-
@param user 用户对象
-
@param model model对象,Spring框架的,在这里用来向JSP页面传值
-
@param request request对象,JSP内置对象,不一定用到,一般用来做传值或者保存数据到前台,或者获取session
-
@param response response对象,JSP内置对象,不一定用到,一般用来向前端返回值
-
@return 一个字符串,根据字符串的值来跳转到相应页面
*/
@RequestMapping(value = “/findByMap”)
public String findByMap(User user, Model model, HttpServletRequest request, HttpServletResponse response) {
//通过map查询
Map<String,Object> params = new HashMap<String,Object>();
if(!isEmpty(user.getNickname())){
params.put(“nickname”, user.getNickname());
if(!isEmpty(user.getName())){
params.put(“name”, user.getName());
if(!isEmpty(user.getPhone())){
params.put(“phone”, user.getPhone());
if(!isEmpty(user.getIdCard())){
params.put(“idCard”, user.getIdCard());
if(!isEmpty(user.getPassword())){
params.put(“password”, user.getPassword());
if(!isEmpty(user.getEmail())){
params.put(“email”, user.getEmail());
if(!isEmpty(user.getIsDelete())){
params.put(“isDelete”, user.getIsDelete());
//分页查询
Pager pagers = userService.findByMap(params);
model.addAttribute(“pagers”, pagers);
//存储查询条件
model.addAttribute(“obj”, user);
return “user/user”;
/*********************************【增删改】 @return 一个字符串,根据字符串的值来跳转到相应页面/
@RequestMapping(value = “/add”)
public String add() {
return “user/add”;
/**
-
根据ID查看表的某一条数据
-
@param id 主键ID
-
@param model model对象,Spring框架的,在这里用来向JSP页面传值
-
@return 一个字符串,根据字符串的值来跳转到相应页面
*/
@RequestMapping(value = “/view”)
public String view(Integer id,Model model) {
User obj = userService.load(id);
model.addAttribute(“obj”,obj);
return “user/view”;
/**
-
添加数据后跳转到jsp
-
@param user 用户对象
-
@param model model对象,Spring框架的,在这里用来向JSP页面传值
-
@param request request对象,JSP内置对象,不一定用到,一般用来做传值或者保存数据到前台,或者获取session
-
@param response response对象,JSP内置对象,不一定用到,一般用来向前端返回值
-
@return 一个字符串,根据字符串的值来跳转到相应页面
*/
@RequestMapping(value = “/exAdd”)
public String exAdd(User user, Model model, HttpServletRequest request, HttpServletResponse response) {
userService.insert(user);
return “redirect:/user/findBySql.action”;
/**
-
更新数据后跳转到JSP
-
@param id 主键ID
-
@param model model对象,Spring框架的,在这里用来向JSP页面传值
-
@return 一个字符串,根据字符串的值来跳转到相应页面
*/
@RequestMapping(value = “/update”)
public String update(Integer id,Model model) {
User obj = userService.load(id);
model.addAttribute(“obj”,obj);
return “user/update”;
/**
*更新数据后跳转到JSP
-
@param user 用户对象
-
@param model model对象,Spring框架的,在这里用来向JSP页面传值
-
@param request request对象,JSP内置对象,不一定用到,一般用来做传值或者保存数据到前台,或者获取session
-
@param response response对象,JSP内置对象,不一定用到,一般用来向前端返回值
-
@return 一个字符串,根据字符串的值来跳转到相应页面
*/
@RequestMapping(value = “/exUpdate”)
public String exUpdate(User user, Model model, HttpServletRequest request, HttpServletResponse response) {
//1.通过实体类修改,可以多传修改条件
userService.updateById(user);
//2.通过主键id修改
//userService.updateById(user);
return “redirect:/user/findBySql.action”;
/**
-
数据删除
-
@param id 主键ID
-
@param model model对象,Spring框架的,在这里用来向JSP页面传值
-
@param request request对象,JSP内置对象,不一定用到,一般用来做传值或者保存数据到前台,或者获取session
-
@param response response对象&#x