基于Jsp和MySQL实现的爱看电影网网站

person 匿名

发布日期: 2021-08-18 09:50:27 浏览量: 217
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

1.引言

1.1 编写目的

本说明书在概要设计的基础上,对影片管理系统的各模块、程序、子系统分别进行了实现层面上的要求和说明。

说明一个软件系统中各个层次中的每一个程序的设计考虑。

软件开发小组的产品实现成员应该阅读和参考本说明书进行代码的编写、测试。

1.2 背景

近年来随着电影行业的快速发展,需要处理的电影信息日趋加大。为了提高电影记录管理的管理水平,优化资源,尽可能的降低管理成本。影片管理系统是从电影的现状出发,根据电影记录管理的新要求进行开发设计,它解决了电影记录管理数据信息量大,修改不方便,对一系列数据进行统计与分析花费时间长等问题,帮助电影管理人员有效管理电影记录信息。

1.3 定义

JS(Javascript)

Javascript简称js,js是一种脚本语言,是不需要进行编译的,也是浏览器中的一部分,经常用在web客户端脚本语言,主要是用来给html增加动态功能。

Servlet

独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

HTML(Hyper Text Markup Language)

HTML称为超文本标记语言,是一种标识性的语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。超文本是一种组织信息的方式,它通过超级链接方法将文本中的文字、图表与其他信息媒体相关联。这些相互关联的信息媒体可能在同一文本中,也可能是其他文件,或是地理位置相距遥远的某台计算机上的文件。这种组织信息方式将分布在不同位置的信息资源用随机方式进行连接,为人们查找,检索信息提供方便。

MySQL

一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

Spring boot

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》。Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的JavaBean实现之前只有EJB才能完成的事情。但是Spring不仅仅局限于服务器端开发,任何Java应用都能在简单性、可测试性和松耦合性等方面从Spring中获益。

2.程序系统的结构

3.后台管理模块设计

3.1 模块分析*

作用

根据用户登录不同的角色实现不同的权限,加载不同的菜单,实现后台的管理,进行数据库的备份和恢复。

与其他模块接口

  • 信息管理模块

  • 新闻管理模块

数据库文件

  • 用户表:决定用户的登录与否

  • 角色表:用于管理不同的模块

  • 菜单表:写到数据库,根据角色判断加载不同的菜单,存储导航菜单

cms1010是数据库文件,存有相应的表,表与表之间有关联。

Java类

  • security:websecuritycofig里面注明前台后台路径和跳转的页面

  • Sysuser:里面是用户定义信息

  • Sysrole:角色说明信息

  • Sysmenu:菜单信息

  • Customerservice:加载了用户角色

  • login.html:登录功能

  • SysuserController:用户的登录控制

  • 后台主页面 SysIndexController:读取登陆成功的用户角色实现加载菜单

  • user list.html:用户列表,实现分页导航等功能

3.2 程序描述

实现后台管理功能:

  • 角色管理

  • 用户管理

  • 菜单管理

3.3 功能

后台定义信息:

  • Sysuse.java:里面是用户定义信息,运用了注解功能,里面也有删除标识位

  • Sysrole.java:角色说明信息

  • Sysmenu .java:菜单信息

具体管理操作 :

  • SysuserController:用于用户的登录控制

  • 后台主页面 SysIndexController:读取登陆成功的用户角色实现加载菜单

3.4 性能

  • 灵活性:窗口响应快捷菜单和控制面板操作

  • 时间特性:根据不同操作加载时间不同

3.5 输入项

输入用户名和密码,验证成功后成功登录,根据角色加载菜单,实现具体的功能,否则登陆失败。

3.6 输出项

登陆成功后根据用户角色加载不同菜单完成相应的操作后返回正确信息,否则无法执行操作返回错误的信息。

3.7 各个类主要函数设计

3.7.1 Sysmenumapper.java

  1. // 查询角色关联查询角色菜单
  2. SysRole findRoleAndMenu(Integer id);
  3. // 根据id删除所有角色菜单
  4. deleteRoleMenus(SysRole sysRole);
  5. // 批量插入角色菜单
  6. void insertRoleMenus(SysRole sysRole);
  7. SysUser findUserByName(String username);

3.7.2 SysUserMapper.Java

  1. // 根据主键获得用户名
  2. SysUser findUserById(Integer id);
  3. // 插入角色
  4. void insertRoles(SysUser sysUser);
  5. // 删除角色
  6. void deleteRoles(SysUser sysUser);

3.7.3 WebSecurityConfig .java

  1. // 开启spring security功能
  2. public SessionRegistry getSessionRegistry()

3.7.4 UploadFileController.java

  1. // 上传文件
  2. public FileResult fileUpload(MultipartFile file)

3.8 流程逻辑

3.9 存储分配

本程序需要此系统的所有数据表项,进行数据备份和恢复。

3.10 限制条件

只有管理员身份才可以进行后台管理的各种操作。

4.信息管理模块

作用

用于管理影片介绍、公告展示以及影片推荐等信息。

与其他模块接口

  • 后台管理模块

  • 电影简介模块

  • 影片推荐模块

包含的类

  • 公共类:

    • FileResult.java
    • SysUserServiceImpl.java
    • SysMenuServiceImpl.java
  • 信息管理类:

    • SysMenu.java
    • SysDict.java
    • SysRole.java
    • SysUser.java
    • Film.java

4.1 程序描述

当影库有新的信息更新时,应及时对影片简介、电影推荐以及图片展示等信息进行更新,并保存到数据库。

信息管理该模块主要是用于管理所有应及时更新的信息,包括:影片简介,电影推荐,图片展示,三个基本功能。

  • Class

    • SysRoleController.java
    • SysMenuController.java
    • SysUserController.java
    • SysDictController.java
    • SysDictController.java
    • SysIndexController.java
    • UploadFileController.java
    • FilmController.java
  • Bll

    • FilmController.java
  • Js

    • Jquery.js
    • Login.js
    • Index.js

4.2 功能

  • HTML:

    • Login.html:处理用户登录信息
    • Menulist.html:处理影片列表信息
    • Userlist.html:处理用户列表信息
    • Filmform.html:影片表单
    • Filmlist.html:影片管理
    • Filmdetails.html:影片详细信息
    • Roleform.html:角色表单
    • Userform.html:用户表单
  • JavaBean

    • film.java:提供影片的详细信息
  • Js

    • Upload.js:上传影片内容
    • Util.js:影片上传信息

4.3 性能

灵活性及时间特性,详见3.3。

4.4 输入项

  • SysUserServiceImpl的输入项:name,telephone,password

  • SysUserServiceImpl的输入项:title,actor,nation

  • Film的输入项:title

  • SysMenuMapper的输入项:sysmenu,rolemenu,userrole,userid

4.5 输出项

  • SysMenuController的输出项

    • 添加成功, 提示添加成功信息
    • 添加失败,提示添加失败信息并返回添加页面重新添加
  • Filmlist的输出项

    • 删除成功,列出要删除的影片列表,提示是否确认删除
    • 删除失败,提示删除失败并返回删除页面
  • SysUser的输出项

    • 修改成功,提示修改成功信息
    • 修改失败,提示修改失败,返回修改页面

4.6 各类中主要函数设计

4.6.1 SysDict.java

  • 函数: c

  • 描述:创建影片上传信息、影片类型、详细描述以及该电影的上传者、影片时长,为后续上传提供直接可以参考的参数

4.6.2 CustomUserService.java

  1. // 当用户名不为空时,获取用户角色,创建角色内容,将此角色加入到用户列表中并自动检查,若已存在则继续执行否则返回信息“do not exist”
  2. loadUserByUsername
  3. // 查询当前角色拥有的影片名单,更新授权并给当前角色绑定对应影片名单
  4. saveRole(SysRole sysRole, int[] roleMenus)
  5. // 查询出所有菜单、查询当前角色拥有的影片名单,rootMenu存放根影片名单,取出pid为0的节点,把根节点放在Mpa里面,并去调用递归算法去查询子树
  6. getRoleMenuTree(SysRole role)
  7. // 选出一个根节点下面的子树,递归。取出pid为0的节点,查询出子节点
  8. querySubMenuTree(Map<String, Object> rootMap, List<SysMenu> sysMenus, List<SysMenu> roleMenu)

4.6.3 SysMenuServiceImpl.java

  1. // 根据影片名单,返回对应的用户名
  2. findListByName(String username)
  3. // 构造影片名单内容的树图
  4. queryMenuTree()
  5. // 获取子影片名单
  6. querySubMenuTree(Map<String, Object> rootMap, List<SysMenu> sysMenus)
  7. // 封锁影片名单数据
  8. packageData(SysMenu sysMenu, Map<String, Object> map)
  9. // 获取父级影片名单
  10. queryMenuById(Integer menuId)
  11. // 保存已经创建或者修改的影片名单
  12. saveMenu(SysMenu sysMenu)
  13. // 删除影片名单,查询是否含有子影片名单,有则删除失败
  14. deleteMenu(Integer menuId)

4.7 员工管理接口

4.8 存储分配

对于产品的所有信息都需要从‘影片数据库’得到从而进行添加,修改数据并保存到‘影片数据库’;但是当删除产品信息时,因而需要修改‘影片数据库’,因而总共需要用到‘影片数据库’三次来存储,访问数据。在添加影片时需要事先在数据库中加入影片主键,才可以在网页端添加。

4.9 注释设计

同3.11注释设计。

4.10 限制条件

完整功能限超级管理员使用,分店管理员可以使用增加和删除影片两项功能。

5.新闻管理模块设计

作用

用于实时更新新闻信息。

与其他模块接口

  • 后台管理模块

  • 信息管理模块

5.1 程序描述

  • Filmdetails.html:完成影片的细节导航,找到片名,主演 上映时间等信息

  • filmController.java:完成影片的各种控制行为

  • Film.java:影片的定义信息

  • FilmMapper.java:影片接口信息

  • IFilmService.java:影片服务类

  • FrontFilmController.java:影片信息控制器

5.2 性能

灵活性及时间特性,详见3.3。

5.3 输出项

新闻更新:ResponseResult.java

5.4 各类中主要函数设计

FrontFilmController.java

  1. // 获取菜单信息
  2. String index(Model model, Integer pageNo)
  3. // 获取电影影片细节信息
  4. String details(Model model, Film film)
  5. // 获得影片id
  6. Film get(Integer id)

5.5 接口

接口调用图

相联系的接口类

  • FilmMapper.java:影片接口

  • SysDictMapper.java:路径接口

  • SysMenuMapper.java:菜单接口

  • SysRoleMapper.java:角色接口

  • SysUserMapper.java:用户接口

5.6 存储分配

  • film表

  • sys_dict表

  • Sys_menu表

5.7 注释设计

同3.11注释设计。

5.8 限制条件

完整功能限超级管理员使用,分店管理员可以使用增加和删除影片两项功能。

6.产品展示

前台总界面

用户修改密码

前台界面详情

后台用户管理界面

登陆页面

后台菜单管理界面

上传的附件 cloud_download 爱看电影网详细设计说明书.doc ( 6.61mb, 3次下载 ) cloud_download project.zip ( 6.45mb, 2次下载 )
error_outline 下载需要12点积分
eject