基于J2EE的大型视频影音系统的设计与实现

news2024/9/20 22:26:58

目 录
毕业设计(论文)任务书 I
摘 要 II
ABSTRACT III
第1章 绪 论 1
1.1 课题的提出 1
1.1.1 Web2.0浪潮进一步影响全球互联网发展 1
1.1.2 视频分享成为2.0浪潮的最新爆发点 1
1.2 系统研究目的 2
1.3 系统设计目标 2
第2章 关键技术介绍 4
2.1 网页制作工具——Dreamweaver 4
2.1.1 Dreamweaver概述 4
2.1.2 Dreamweaver简介 4
2.1.3 Dreamweaver的作用 4
2.2 数据库——MySQL 5
2.2.1 MySQL的概述 5
2.2.2 MySQL的特性 5
2.3 开发语言 5
2.3.1 JSP的基础——Servlet 技术 5
2.3.2 JavaBeans技术 6
2.3.3 JSP简介 6
2.3.4 JavaScript简介 7
2.3.5 AJAX、DWR框架简介 7
2.4 网站开发工具——Eclipse 7
2.5 免费服务器——Tomcat 8
2.6 环境的安装与配置 8
第3章 系统分析 10
3.1 需求分析 10
3.2 软件用例分析 10
3.3 用例建模 11
3.3.1 标识参与者 11
3.3.2 用例图 12
3.3.3 活动图 12
3.4 分析类 14
3.4.1 边界类 14
3.4.2 实体类 15
3.4.3 控制类 16
3.5 系统结构选择 16
第4章 系统设计 19
4.1 系统结构图 19
4.2 数据库E-R图 19
4.3 数据库设计 21
第5章 系统实现 24
5.1 注册用户设计 24
5.2 系统登录页面设计 25
5.3 视频信息管理页面设计 26
第6章 系统测试 28
6.1 测试方案及测试用例 28
6.1.1 登录过程测试用例 28
6.1.2 用户信息修改测试用例 29
6.1.3 数据录入测试用例 29
6.2 测试结论 29
第7章 结 论 30
参考文献 32
致 谢 33
第3章 系统分析
3.1 需求分析
第一部分:用户使用部分:
(1)非用户要注册成为本系统用户,输入注册用户名、注册密码、Email、性别、所在地,如果用户与已在数据库的用户名重复、两次密码输入不正确、Email格式不正确则提醒用户。
(2)用户登陆时要通过用户验证,输入用户名,密码。选择是否保存密码及保存多久,如果用户名密码不正确,则返回登陆界面。
(3)用户可以查看自己的用户个人信息及修改个人信息。
(4)用户修改密码要通过密码验证,输入旧密码及输入两次新密码,两次密码输入不正确则提醒用户,旧密码不正确则返回提醒用户。
(5)用户可以上传更改头像,方便用户之间交流。
(6)用户可以上传视频与其它用户分享,及修改视频基本信息。
第二部分:管理员管理部分:
(1)管理员登陆时要通过用户验证,输入用户名、密码,判断是该用户是否为管理员。选择是否保存密码及保存多久,如果用户名密码不正确,则返回登陆界面。
(2)管理员可以使用普通用户的所有权限。
(3)管理员可以删除用户上传的不合法的视频。
(4)管理员可以删除非法用户。
(5)管理员可以删除非法评论。
第三部分:所有用户(包括非注册用户)搜索、观看及评论视频部分:
(1)所有用户可以查询自己感兴趣的视频
(2)所有用户可以看视频。
(3)所有用户可以发表评论,注册用户可以显示发表评论用户名。
3.2 软件用例分析
用例是从用户和业务的角度来描述系统提供需要执行的功能。下面列出了本系统主要的用例:
(1)用户登录
使用本系统的用户必须登录才能上传视频及用户间的交互。
(2)用户注销
用户退出本系统。
(3)个人基本信息管理
用户对个人信息进行修改,包括头像、性别、地区等。
(4)视频上传
用户上传视频与其它用户分享。
(5)视频信息管理
用户对视频信息的添加及修改。
(6)视频查询
用户为观看感兴趣的视频而查询视频。
(7)视频观看
用户观看感兴趣的视频。
(8)视频留言
用户查看所有视频留言并发表自己的评论。
(9)管理员管理评论
管理员对违规留言进行删除。
(10)管理员管理视频
管理员对违规视频进行修改及删除。
(11)管理员管理用户
管理员删除非法用户。
3.3 用例建模
用例模型描述的是外部执行者(Actor)所理解的系统功能。它的建立是系统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达成的共识。在需求分析阶段,可以用用例来捕获用户需求,以描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。
3.3.1 标识参与者
参与者是指系统的分类用户,分别代表一个唯一的角色。对本系统来说,存在相互联系如下3类用户:
管理员:通过系统管理所有的用户、视频、评论等等信息。管理员是系统中权限最大的用户,权限几乎涉及所有方面。
注册用户:通过系统管理自己的基本信息、修改密码、上传头像,管理本人上传的视频、修改信息及删除视频等
非注册用户:通过系统搜索观看视频、并对视频进行评论等。
3.3.2 用例图
用例图(Use Case)是参与者(系统外部用户)所能观察到的系统功能的模型图(见图1),它描述参与者与系统提供的用例之间的某种联系。用例是系统中的一个功能单元,是对系统提供的功能的一种描述,是参与者与系统之间的一次交互过程。参与者是那些可能使用这些用例的人或者外部系统。用例图就是从参与者的角度描述出系统中的用例和参与者,以及用例与参与者之间的关系(哪个参与者参与了哪个用例的执行),本系统用例图见图3.1所示。
在这里插入图片描述
图 3.1 用例图

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib  prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'main.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
  	<c:import url="top.jsp"></c:import>
  	<h1 style="color: red">${param.loginError }</h1>
    <a href="getAllVideosServlet">显示所有视频</a>&nbsp;&nbsp;&nbsp;<a href="getPhotosServlet">显示图片</a>
    <a href="getVideosByPaginationServlet">分页显示视频</a>
    <c:import url="bottom.jsp"></c:import>
    <%--<c:redirect url="login.jsp"></c:redirect>相当于response.sendRedirect() --%>
  </body>
</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/60488.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#使用策略模式或者委托替代多IfElse判断和Switch语句

这篇文件介绍使用设计模式中的策略模式和委托来解决多个IfElse判断语句和Switch语句&#xff0c;这种替换方式在其他语言也一样可以做到&#xff0c;比如PHP、JavaScript、Python或者Java等。 这里以C#为例进行演示。 需要为一个程序编写计算方法&#xff0c;根据标签名称来决定…

【华为上机真题 2022】TLV解码

&#x1f388; 作者&#xff1a;Linux猿 &#x1f388; 简介&#xff1a;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我&#xff0c;关注我&#xff0c;有问题私聊&#xff01; &…

abc280

D 解法1&#xff0c;直接暴力&#xff0c;答案一定在2~1e6里面或者k本身&#xff08;如果k是个质数的话&#xff09; #include<bits/stdc.h> using namespace std; signed main() {long long k;cin>>k;for(long long i1;i<2000010;i) {k/__gcd(k,i);if(k1) {co…

在Linux中,使用Docker,安装es和kibana

1.部署单点es 1.1.创建网络 因为我们还需要部署kibana容器&#xff0c;因此需要让es和kibana容器互联。这里先创建一个网络&#xff1a; # 创建一个网络&#xff1a;es-net docker network create es-net# 查看本机的网络 docker network ls# 删除一个网络&#xff1a;es-ne…

Allegro如何缩放数据操作指导

Allegro如何缩放数据操作指导 Allegeo上可以缩放数据,尤其是在做结构时候非常有用,具体操作如下 以下图为例,需要把这个数据缩小0.5倍 点击Create Detail命令 Option里面选定一个层面,比如放在Board Geomertry,silkscreen top层 Scaling Factor输入0.5 Find选择所有 …

UE5 中 LiveLink 的开发全流程教程

注意&#xff0c;需要有源代码版本的 Unreal Engine&#xff0c;而不是从游戏 Launcher 中下载的 Unreal 版本。 本文使用是 Unreal Engine 5.1 版本。关于一些基础 API 介绍&#xff0c;可以参考之前的一篇。 起点 可以将 Engine\Source\Programs\BlankProgram 作为模板拷贝…

虚拟机搭载Linux · VMware + Ubuntu 部署 路线参考(20.04.5)

提前回家&#xff0c;要部署OS的实验环境。感谢广源同学给予的帮助和支持~ 电脑文件系统进行了整理&#xff0c;重型文件大部分转移到移动硬盘上。 &#xff08;解压了好久然后我找到镜像源了呜呜没发过来&#xff09; 一、VMware 16 安装 VMware虚拟机安装Linux教程(超详细)…

详解 Spring Boot 项目中的日志文件

目录 1. 日志的作用 2. 自定义日志打印 2.1 日志的基本格式 2.2 得到日志对象 2.3 使用日志对象提供的方法&#xff0c; 打印自定义的日志内容 2.4 日志框架的说明 3. 日志的持久化 3.1 配置日志文件的文件名 3.2 配置日志文件的保存路径 3.3 持久化日志的特性 4. 日…

Java集合(Collection List Set Map)

文章目录Collection接口和常用方法Collection接口遍历元素方式1 -使用Iterator(迭代器)Collection接口遍历对象方式2-for循环增强List接口和常用方法List[ArrayList, LinkedList, Vector]的三种遍历方式ArrayList的注意事项ArrayList的底层操作机制源码分析Vector和ArrayList的…

【已解决】vue后台页面跳转无法正常显示

今天写后端&#xff0c;发现一个问题&#xff0c;我的其他页面之间都可以正常跳转显示&#xff0c;但是我的其中一个页面&#xff08;简称U页面&#xff09;&#xff0c;我跳转到U页面时还可以显示&#xff0c;但之后点击其他页面就无法正常显示了&#xff08;能跳转不能显示&a…

chapter6——流水线的艺术

目录1.影响最大时钟频率的因素2.流水线3.DLX指令集的实现4.流水线对吞吐率的影响5.流水线原理6.流水线冒险结构冒险数据冒险控制冒险其他冒险对高速ASIC日益增长的需求使得越来越需要增加电路每个时钟周期的计算吞吐率。可以通过流水线提高ASIC在这方面的性能&#xff0c;但是也…

首个大规模图文多模态数据集LAION-400M介绍

前言 openAI的图文多模态模型CLIP证明了图文多模态在多个领域都具有着巨大潜力&#xff0c;随之而来掀起了一股图文对比学习的风潮。 就在前几天&#xff08;2022年12月&#xff09;&#xff0c;连Kaiming都入手这一领域&#xff0c;将MAE的思路与CLIP的思路结合&#xff0c;…

MySQL常用高级语句

SQL高级语句 DISTINCT 不显示重复的内容 语法&#xff1a;SELECT DISTINCT “字段” FROM “表名”; select distinct name from lk1;SELECT 显示表格中一个或数个栏位的所有资料 语法&#xff1a;SELECT “字段” FROM “表名”; select * from lk1; #查看表格详细信息…

微机原理与汇编语言—理论知识复习

书上重点内容 本篇博客整理老师课上强调的重点理论知识&#xff0c;以便复习备考&#xff0c;如有错误欢迎指正。 这门课主要讲CPU芯片与其他芯片&#xff08;内存芯片和I/O接口芯片&#xff09;之间交互。 一条指令的执行过程&#xff1a;取指&#xff08;从主存取到CPU寄…

最优化理论笔记及期末复习(《数值最优化》——高立)

目录一、预备知识二、无约束最优化方法的基本结构三、凸集和凸函数四、负梯度方法和Newton型方法五、共轭梯度法六、约束最优化问题的最优性理论七、罚函数方法八、期末复习8.1 知识点复习8.2 习题复习8.3 大实验代码8.3.1实验内容8.3.2实验目的8.3.3算法描述8.3.4程序中的参数…

[附源码]计算机毕业设计基于Springboot的中点游戏分享网站

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【C++】STL:String

&#x1f431;作者&#xff1a;傻响 &#x1f431;专栏&#xff1a;《C/C - STL》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; ​ 目录 STD - String标准库 字符串类介绍 字符串类构造函数 No.1 string() ; No.2 string(const char…

实操1 : Jupyter Notebook 如何更换主题+全部主题展示+深色主题下如何设置可视化图表

文章目录(一) 如何更换主题(二) 全部主题展示(三) 深色主题下设置可视化图表(一) 如何更换主题 1.打开 Jupyter Notebook, 新建一个Python文件 在文件中输入下方命令开始安装主题 pip install --upgrade jupyterthemes -i https://pipy.douban.com/simple2.win R 打开 cmd 命…

效率工具之Arthas

Arthas 阿里巴巴开源的Java诊断工具&#xff1b;追踪方法执行链、反编译、监控JVM状态 在线安装 使用 1. trace 跟踪调用链 解决痛点&#xff1a;定位问题根据日志推理分析&#xff0c;方法出入参不可见&#xff0c;分支判断太多情况下 定位很慢&#xff0c;分析出可能有问…

[附源码]JAVA毕业设计科院垃圾分类系统(系统+LW)

[附源码]JAVA毕业设计科院垃圾分类系统&#xff08;系统LW&#xff09; 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术…