【可白嫖源码】毕业设计—电影网站的设计与实现的设计与实现 (案例分析)

摘  要

在信息飞速发展的今天,网络已成为人们重要的信息交流平台。电影院每天都有大量的信息需要通过网络发布,为此,本人开发了一个基于B/S(浏览器/服务器)模式的电影网站。

该系统以Java编程语言、Mysql和MVC等为开发技术,实现了添加、修改、查看、删除系统数据。本系统采取组件化的方式对系统进行拆分,并对数据库中各个表的增删查改、表与表之间的约束关系进行分析与设计,最终实现符合用户需求功能的商业级应用。

系统界面简洁大方,布局合理,易操作易上手。对应用户的每一步操作,系统都能高响应地做出反馈。系统具体包含对首页、个人中心、用户管理、放映厅、电影类型、热门电影、系统管理、订单管理等功能,为电影网站提供一个管理平台,实现对数据地高效、安全地管理。

关键词:B/S模式,Java编程语言,易操作

Design and Implementation of Movie Website

Abstract

With the rapid development of information today, the network has become an important information exchange platform for people. Cinemas have a large amount of information to publish through the network every day. For this reason, I developed a movie website based on B/S (browser/server) mode.

The system uses Java programming language, MySQL, MVC, and other development technologies to add, modify, view, and delete system data. This system adopts a componentized approach to split the system, and analyzes and designs the addition, deletion, query, and modification of various tables in the database, as well as the constraint relationships between tables. Finally, it achieves a commercial level application that meets user needs.

The system interface is simple and generous, with a reasonable layout, and is easy to operate and use. The system can provide highly responsive feedback for each step of the user's operation. The system specifically includes functions such as homepage, personal center, user management, screening hall, movie type, popular movies, system management, and order management, providing a management platform for movie websites to achieve efficient and safe management of data.

Keywords: B/S mode, Java programming language, easy to operate

目 录

第1章 绪论

1.1 研究背景与意义

1.2 开发现状

1.3 本文的组织结构

第2章 相关技术介绍

2.1 前后端分离

2.2 Java编程语言

2.3 JSP技术

2.4 B/S模式

2.5 Tomcat简介

第3章 系统分析

3.1 可行性分析

3.1.1 法律可行性分析

3.1.2 技术可行性分析

3.1.3 经济可行性分析

3.2 功能需求分析

3.3 非功能需求分析

3.4 用例分析

3.5 业务流程分析

3.6 数据流程分析

第4章 系统设计

4.1 系统架构设计

4.2 系统功能结构

4.3 功能模块设计

4.4 数据库设计

4.4.1 E-R图

4.4.2 表结构设计

第5章 系统实现

5.1 开发工具

5.2 注册模块

5.3 登录/注销模块

5.4 用户模块

5.4.1 个人资料模块

5.4.2 评论模块

5.4.3 电影搜索模块

5.4.4 电影购票模块

5.4.5 放映厅查看模块

5.4.6 订单生成模块

5.5 管理员模块

5.5.1 热门电影管理模块

5.5.2 放映厅管理模块

5.5.3 订单管理模块

第6章 系统测试

6.1 测试概述

6.2 测试过程

6.2.1 登录测试

6.2.2 信息录入测试

6.2.3 信息更新测试

6.2.4 信息删除测试

6.3 测试结果

第7章 总结与展望

7.1 总结

7.2 展望

参考文献

致谢

第1章 绪 论

1.1 研究背景与意义

随着社会的发展与进步,国家逐渐加大了对知识产权的保护政策,人们生活水平同时开始提高,同样对物质文化生活的追求和提升促使电影数量大幅增加,电影的欣赏已逐渐进入人们的视野,“重新”换发的电影又回来了!传统的电影资讯是通过海报发布的,并且观看的电影的时间不能及时知晓,无法体现信息时代人性化的选择,加上现在城市人们的生活节奏逐渐加快,对于电影资讯的需求也应相应提高。因此,充分利用信息现代化、因特网的优势,设计“电影宣传网站”,提高电影宣传的范围,提高电影信息的及时性。所以电影网站的建立成为电影管理现代化发展的必然趋势。

电影宣传是现代电影发展的一个很重要步骤。在电影宣传的过程中,往往都要表达一个中心思想,就是电影所展示出来的精神,是所要宣传的信息中的核心,也是吸引有观影想法的人前来观看的一点,它在宣传的过程中起到了重要的作用。建立电影网站,不仅可以解决这些电影宣传的难题,也大大节约了宣传所花费的经济费用,并且可以扩大关注量,增加网上观看群众,激发潜在观影群体。网站的建设,也是电影对于宣传方面的长期广告效应。

网站建设方案第一要素是努力将网站建设成为一个优质实用的网站。电影网站要拥有自己独特的风格设计,电影网站是一个很大众化的网站,信息量也是非常大的,电影网站的用户在浏览页面时可以参与互动,这对于用户及开发者都是非常关键的,然而,电影前期在推广的过程中也碰到过许多阻滞,各式各样的电影网站,都注重利益商业气息浓重,而忽略了真实的情况,更有些网站信息量少甚至有错误存在。

网站开发目的:在IT行业迅速发展的今天,电影网站的建立已经成为电影发展必不可少的趋势。本设计将建立一个以宣传类型为目的的网站,将专注于针对电影的宣传与推广,让更多的网友能通过互联网了解、关注、支持电影以及电影事业的发展。

1.2 开发现状

我国的电影诞生于1905年,而在经历了各种历史阶段后,我国的电影行业从1977年才开始复苏,1980年以后才慢慢的发起来。经过几十年的发展,电影从以前的黑白电影变成了彩色电影,无声电影变成了有声电影。小屏幕变成了大屏幕,2D变成了3D。电影的蓬勃发展也使得电影网站的不断地完善发展。电子商务最近几年飞速发展,在电影行业的应用也极其广泛。各个电影院为了提高影票的观看人数,纷纷与各大订票网站开发合作,价格降低了,服务周到了,购票便利了,自然观影人数也在逐年增长。

我国的互联网技术跟国外的网络信息化相比发展晚,信息化程度不如国外的高。随着生活水平的提高,网络购票点网站也是层出不穷。日本的购票渠道在很早以前就实现了多元化的发展,影院可以售票,各大代售点也可以进行售票,当然最多的还是网络的售票。实际上,在国外的很多网站都是实行横向一体化的战略。一个网站可以同时销售电影票、展览票、旅游门票等多种多样的票务。国外网站在国内购票网站的基础上还有许多有特色的特点值得我们借鉴。例如明星的八卦也会出现在购票首页,给客户选择影讯的时候多了几分乐趣。还有的网站引入了评分制度等。

电影作为一个快速发展的行业,值得我们投入时间和经历完善电影网站。让用户的体验走在互联网发展的最前端。

1.3 本文的组织结构

六个章节共同组成了本文研究及设计内容,包括:

第一章:绪论。本文章的开头部分,对本题目的研究背景和研究意义等一些做文字性的描述。

第二章:相关技术介绍。主要介绍Java编程技术、JSP嵌入式脚本语言、B/S模式等。

第三章:系统分析。包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。

第四章:系统设计。本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。

第五章:系统实现。将本系统分为前提的开发工具介绍和后期的功能代码实现。

第六章:系统测试。系统完成后,根据各个模块的测试用例才对各个模块进行功能测试。

第2章 相关技术介绍

2.1 前后端分离

Ajax的出现,也带来了另外一个问题,那就是有了Ajax以后,之前用模板语言实现起来的功能变得简单,之前模板语言实现不了的功能现在也能实现了。这样就造成越来越多的逻辑转移到了javascript上,使其变得越来越复杂。

随着js复杂度的增长,原来的开发模式出现了问题,一个程序员搞定全站变得越来越不靠谱,因此在这个时候就把网站开发这个职位划分成了前端和后端两个职位。但是只划分了前后端的职责范围还是远远不够的,在原来的开发模式下,前后端的代码也在一起的。现在既然已经分为前后端两波人在开发了,维护同一套代码就变得不那么方便。项目越复杂,出现你等我,我等你的情况就会越来越多,这样就拖慢了整体团队的节奏。所以为了团队的效率,前后端的代码也要做分离。

前后端的分离方式分为部分分离和全部分离两种,部分分离是只把脚本和样式分离出去,而html模板还留在后端通过jsp,velocity或者freemarker来渲染;另一种就是完全分离,脚本样式以及模板全都放在前端来维护。

部分分离已经很大程度上解决了前后端开发时的协调问题,开发效率也得到了很大程度的提升。但也得承认,这种方式也还是有问题的。当要开发html模板的时候,就需要搭起一整套后端的开发环境,或者是找后端程序员来协助。

而完全分离一般有两种方案,第一种就是使用velocity这种在nodejs和java下都可以编译的页面模板,在开发时放到前端项目里,但在发布时,会把模板发布到后端的模板目录下,这样,开发时就做到了完全分离。这种方式最大的好处就是线上模板的渲染还是由java来做的,形成的是带有动态数据的html,比较有利于SEO。但这种方式下,前端的开发环境和发布系统的复杂度都相对较高,单纯的前端改动也还是要带着后端一起发布。

第二种完全分离的方式,就是把纯静态的html模板完全放在前端,数据全部通过RESTful接口来进行交互。这样前后端就完全分开了,脱离了后端的模板,而这种方式的系统复杂度也会比第一种完全分离的方式低。但这种方案下,所有的页面数据都是用js渲染的,没有动态模板,不太利于SEO。这个不足我们可以通过做server render或者给蜘蛛做一套定制页面来解决。

2.2 Java编程语言

Java采用函数或者过程来解析对于数据的操作,但又把数据和函数之间相互分开,这样并不利于维护,并会增加程序的工作量。而面向对象的编程将程序的函数和函数对于数据的操作封装在一个类中,作为一个整体来处理。所以Java语言是主要通过面向对象来实现编程,并且摒除了C++语言中的指针、多继承等比较难理解部分,创造出了自身独有的单继承、多接口、高内聚、低耦合等特性[3] [4]。

2.3 JSP技术

JSP技术对动态Web页面的开发作用简直是举足轻重。可以很快的响应到客户端的发送请求。是甲骨文公司旗下的IT及互联网技术服务公司Sun Microsystems公司主导并创立的动态网页技术的标准。而且能依据请求内容动态地生成XML、HTML,为用户的网络请求提供技术服务,而且可以与服务器上的其它Java程序共同处理先对复杂的业务需求[5] [6]。

JSP主要优势如下:

(1)一旦程序有一次成功的编写,就能在多处运行起来。

(2)支持面特别广,许多平台已经引入该技术。

2.4 B/S模式

计算机的系统软件主要分为两种:系统软件和应用软件。应用软件则是为了某个特定的应用而开发的一类软件,比如文字处理软件word、QQ、开发本软件用的myeclise工具等。而应用型软件大致的分为B/S和C/S两种模式,常用的QQ、Office办公软件就是C/S结构的,另外常见基于的B/S结构开发的有各种网站,比如淘宝、企业的门户网站[7]。

B/S模式的优势有三个:第一是开发和业务扩展简单、只需要改变网页代码,就可以达到想要的网页效果;第二学生的操作显浅易懂;第三具有分布性特定,可以随时随地的进行查询、浏览等业务的处理。这是C/S所无法实现的。综上因素,选择B/S模式来设计和实现本系统[8]。

2.5 Tomcat简介

Tomcat是开发源代码,使用者可根据个人习惯、系统的需求对tomcat进行配置;另外对于系统的发布和运行是非常简单的[10],开发人员只需要在MyEclipse开发工具中导入Tomcat,服务器的配置就算完成了;这是非常适合JSP程序的。对于程序人员开发程序经常可能会遇到乱码的问题,而使用tomcat作为服务器,只需要在tomcat的安装目录下找到配置文件夹conf下的服务器配置文件server.xml,打开后改动端口号为8080的接收环节与请求处理环节的连接器Connector为相对应的编码,运行项目后,就不会出现中文乱码问题。本系统的设计和实现编码使用的是UTF-8,所以需要在端口号为8080的连接器中设置编URIEncoding="UTF-8"[11] [12]。

第3章 系统分析

3.1 可行性分析

3.1.1 法律可行性分析

开发软件有没有触犯法律,这涉及到软件或者系统能不能发布的问题。如果触犯了法律,就必将会受到法律的制裁。常见法律问题就是软件抄袭问题,若是抄袭别人软件,将会受到严厉惩罚。

3.1.2 技术可行性分析

软件产业经过多年的发展,现在已经达到了很大的规模,从事软件开发的专业人员不计其数,软件产业的重要性已经上升到了影响和推动国民经济发展的核心地位。本系统基于的架构,目前技术已经非常的成熟,是不存在技术上面难以实现的麻烦。

3.1.3 经济可行性分析

开发软件所需的时间、人力和物力成本,开发完成后的收益如何,从投资回报的角度软件所需功能在现有经济条件能不能实现等进行深入的考虑,都符合实际的要求。所以洗衣店管理系统具有经济可行性和实用性,可以节约管理成本

3.2 功能需求分析

电影网站主要是为了管理和控制电影网站信息情况,对首页、个人中心、用户管理、放映厅、电影类型、热门电影、系统管理、订单管理提供了方便的机制。本系统有多类使用者,分别是超级管理员、和普通用户。以下是从这两种用户的角度分别介绍本系统所要实现的功能。

普通用户:

注册:首先检查用户名和邮箱是否存在,如果都不存在才能进行注册,并将用户输入的密码进行MD5加密,注册成功后提示注册成功,并将用户信息保存到数据库中。

登录:使用系统前提是需要登录账号。

交流:进入交流界面,发表个人的交流信息以及回复已存在的交流信息,更新后,其他用户可以查看回复的交流。

评价:在电影的基础上发表对电影的评价,评价按时间形成评价列表。

收藏:在电影的基础上对电影的收藏,收藏按时间形成收藏列表,个人对其收藏夹进行维护和整理。

资讯搜索和浏览:资讯展示功能模块主要包括资讯搜索、查看资讯详情功能。未注册用户(游客)和已注册用户均可以在首页进行资讯搜索及查看资讯详情。

电影搜索和浏览:电影展示功能模块主要包括电影搜索、查看电影详情功能。未注册用户(游客)和已注册用户均可以在首页进行电影搜索及查看电影详情。具体功能需求如下:(1)电影搜索:前台用户可以在前台输入关键词进行搜索,搜索成功后返回该电影的动态排序列表,且能够进行分页展示。(2)查看电影详情:用户可点击对应电影,从而查看该电影的电影详情。

电影购票:电影已存在的前提下,提供电影的购票功能,电影购票成功后,可以查看到个人已有的电影购票列表。

影院查看:影院已存在的前提下,提供影院的查看功能,根据影院可以查看到各个电影票的销量。

订单提交:用户提交个人订单,提交成功后,可以查看到个人已提交的订单记录,并可以对其进行编辑更新删除等操作。

管理员:

用户管理:(1)新增用户,用于创建新用户。管理员在页面上选择"新增用户",输入用户所需的信息后保存。(2)查找用户信息,可根据条件查找用户。管理员第一次点击"用户列表"时,默认用户列表显示出全部的用户,可以根据用户姓名和出生年月进行模糊搜索,系统将查询到的用户显示到用户列表。如果不加限制、直接点击搜索按钮,则查询出全部的用户。(3)删除用户,用于删除已有用户。在用户列表显示出用户后,选择用户进行删除。在确定删除之后,该条记录将从数据库中删除,并提示删除成功,确认后列表会重新刷新。(4)修改用户信息,在用户列表显示出用户后,选择用户进行编辑。表单将出现已有用户信息,用户可以对已有信息进行确认更改。更改完成后选择确认,列表会重新刷新。

电影管理:

(1) 电影列表:展示所有电影信息,形成的列表样式。

(2) 电影搜索:通过电影名、电影类目来搜索电影。

(3) 图片上传:给电影添加电影图片。

(4) 增加电影;

(5) 更新电影:更新电影的信息,如编号、类别、名称、海报、上映日期、价格、已售数量、简介等。

(6) 电影上下架;

影院管理:

(1)新增影院;

(2)删除影院;

(3)更新影院;

资讯数据管理:

(1) 图片上传:给资讯添加资讯图片。

(2) 增加资讯;

(3) 更新资讯:更新资讯的信息,如资讯标题、内容等。

(4) 资讯数据删除销毁;

类目管理:

(1)添加类目:管理员可对类目进行管理,点击添加类目选择父类并输入类目名称即可添加类目。

(2)修改类目:管理员可对类目的名称进行修改。

(3)查看子类目:管理员可查看所有平级类目的类目ID,类目名称等。

购票记录管理:

(1)按购票记录编号查询购票记录:

(2)查看购票记录详情:

图像统计:常用的图像统计方式有柱状图、曲线图、折线图、饼状图等,本模块中以柱状图的形式来统计不同分型数据所占的情况。

3.3 非功能需求分析

系统非功能需求有非常多,比如性能需求、可承载最大用户数、稳定性、易用性需求等。本系统分析时考虑到易用性需求,因为系统是给人使用的,所以必须充分从用户的角度出发,考虑用户体验,使系统易理解易上手易操作。

3.4 用例分析

1.普通用户主要使用系统的电影购票业务,下图所示为普通用户的用例图。

图3-1 普通用户用例图

2.管理员主要负责首页、个人中心、用户管理、放映厅、电影类型、热门电影、系统管理、订单管理,下图所示描述管理员的用例图。

图3-2 管理员用例图

3.5 业务流程分析

系统业务流程图如下所示。

图3-3 系统业务流程图

首先系统使用用户分2种,使用购票功能的为普通用户,使用管理功能的为管理员用户,普通用户注册成功后得到账号和密码,在登录页输入账号密码后登录到系统,普通用户便可以浏览到系统展示的电影,然后进行电影购票,接着形成个人电影购票记录;管理员用户对系统的数据进行维护,包括电影信息的维护,对电影的属性及数据等进行更新和编辑,对客户的电影购票记录进行确认和维护等。

3.6 数据流程分析

如下为系统的顶层数据流图,外部实体有用户和管理员,分别对系统输入数据,从而得到要输出的数据。

    

图3-4系统顶层数据流图

如下图所示为系统底层数据流图。

图3-5系统底层数据流图

电影网站底层数据流图主要描述系统底层模块的数据流、数据载体、数据处理、外部实体的具体交互。本系统就是管理员和普通用户在电影资讯管理、电影类别管理、电影信息管理、购票管理、订单管理、销量统计等模块上的数据交互。

第4章  系统设计

4.1 系统架构设计

本系统采用MVC结构,结构包括了View、Controller、Service、ServiceImpl、Dao等模块。系统架构图如下图所示。

图4-1系统架构图

根据本系统需求分析,应为系统搭建多个包,分别为Controller、Service、ServiceImpl、Dao、Entity、Util。

现对上述的包进行简要的功能阐述,Controller层负责接收前台传来的请求并对取到的数据进行封装。Service层主要负责处理业务逻辑。Dao层负责数据库方面的交互。Entity包放置实体类,对应数据库里面一张张的表。Util包放置工具类,比如以json数据的格式返回前台的JSONUtil类,自动生成id的GenerateID类等。通过applicationContext.xml,applicationContext-dataSource.xml,web.xml这三个配置文件来搭建本系统。

首先配置applicationContext.xml,主要是自动扫描控制器,视图模式,注解的启动。

applicationContext.xml是springMVC的一些相关。

4.2 系统功能结构

为了将系统从“做什么”落实到“怎么做”,基于系统设计原则,对系统功能进行更适合编码实现的功能划分。根据上图的系统架构设计,整理出规范的系统功能结构图,为系统的实现编码做好准备。

如下图所示为系统功能结构图。

图4-2系统功能结构图

4.3 功能模块设计

用户管理针对所有用户和管理员。未注册用户点击注册,进入注册页面填写新用户信息,得到自定义生成账号后,注册完成。未注册用户注册的活动图如下图所示。

图4-3未注册用户注册活动图

用户可进行登录使用更多功能,首先进入用户登录界面,输入用户账号和密码,后台对账号和密码信息进行核对验证,验证成功则页面直接显示登录用户昵称代表登录成功,否则返回用户登录界面。用户登录活动图如下图。

图4-4用户登录活动图

用户登录后,进入功能页面,可对自己的信息进行管理,包括个人信息,放映厅、热门电影、电影资讯、后台管理、个人中心。用户使用功能活动图如下图所示。

图4-5用户使用功能活动图

用户功能界面可对自己的密码进行修改。进入修改密码界面后核对当前密码,核对成功后填写新密码。如下图所示。

图4-6修改密码活动图

4.4 数据库设计

电影网站采用的数据库是Mysql2008,该部分将根据系统需求和设计,设计合理的数据库。本系统考虑到之后系统的扩展集群,数据库将不使用外键。此外,不用外键时数据管理也较为简单,操作更加方便,性能更高。

4.4.1 E-R图

E-R图,更加直观的告诉开发人员系统的各个数据的属性,各个数据之间的联系,各个数据的类型。能通过该模型更直观地了解数据库的设计,并根据对其逐渐改善。

本系统图设计,如下图所示。

图4-7系统E-R图

4.4.2 表结构设计

本系统根据第三范式的思想设计数据库,减少最大程度的冗余,总共建立有多个表,用户表、管理员表、电影表、订单表、电影表、评论表、资讯表。

表结构如下所示。

表名:orders

功能:订单

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

orderid

varchar

200

订单编号

tablename

varchar

200

商品表名

remendianying

userid

bigint

用户id

goodid

bigint

商品id

goodname

varchar

200

商品名称

picture

longtext

4294967295

商品图片

buynumber

int

购买数量

price

float

价格

0

discountprice

float

折扣价格

0

total

float

总价格

0

discounttotal

float

折扣总价格

0

type

int

支付类型

1

status

varchar

200

状态

address

varchar

200

地址

tel

varchar

200

电话

consignee

varchar

200

收货人

remark

varchar

200

备注

logistics

longtext

4294967295

物流

表名:news

功能:电影资讯

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

picture

longtext

4294967295

图片

content

longtext

4294967295

内容

表名:fangyingting

功能:放映厅

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yingtingmingcheng

varchar

200

映厅名称

tupian

longtext

4294967295

图片

yingtingleixing

varchar

200

映厅类型

yingtingmianji

varchar

200

映厅面积

yingtingzuowei

int

映厅坐位

yingtingxiangqing

longtext

4294967295

映厅详情

表名:discussremendianying

功能:热门电影评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

avatarurl

longtext

4294967295

头像

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表名:dianyingleixing

功能:电影类型

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

dianyingleixing

varchar

200

电影类型

表名:config

功能:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

表名:yonghu

功能:用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yonghuzhanghao

varchar

200

用户账号

mima

varchar

200

密码

yonghuxingming

varchar

200

用户姓名

touxiang

longtext

4294967295

头像

xingbie

varchar

200

性别

lianxifangshi

varchar

200

联系方式

money

float

余额

0

vip

varchar

200

是否会员

表名:aboutus

功能:关于我们

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

subtitle

varchar

200

副标题

content

longtext

4294967295

内容

picture1

longtext

4294967295

图片1

picture2

longtext

4294967295

图片2

picture3

longtext

4294967295

图片3

表名:users

功能:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表名:token

功能:token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

userid

bigint

用户id

username

varchar

100

用户名

tablename

varchar

100

表名

role

varchar

100

角色

token

varchar

200

密码

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

expiratedtime

timestamp

过期时间

CURRENT_TIMESTAMP

表名:storeup

功能:收藏表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

refid

bigint

商品id

tablename

varchar

200

表名

name

varchar

200

名称

picture

longtext

4294967295

图片

type

varchar

200

类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注)

1

inteltype

varchar

200

推荐类型

remark

varchar

200

备注

表名:remendianying

功能:热门电影

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

dianyingmingcheng

varchar

200

电影名称

haibao

longtext

4294967295

海报

dianyingleixing

varchar

200

电影类型

daoyan

varchar

200

导演

zhuyan

varchar

200

主演

yuyan

varchar

200

语言

pianzhang

varchar

200

片长

bofangyingting

varchar

200

播放影厅

bofangshijian

datetime

播放时间

pianhua

longtext

4294967295

片花

dianyingjieshao

longtext

4294967295

电影介绍

thumbsupnum

int

0

crazilynum

int

0

clicktime

datetime

最近点击时间

clicknum

int

点击次数

0

price

float

价格

vipprice

float

会员价

-1

number

int

座位总数

selected

longtext

4294967295

已选座位[用,号隔开]

第5章 系统实现

5.1 开发工具

系统中应用的开发工具总结如下表所示。

表5-1开发工具

名称

工具

版本

操作系统

IDE(Integrated Development Environment)

windows

Myeclipse

7/8/10

2017

服务器

Tomcat

9.10.7

JDK(Java Development Kit)

JDK

Java SE 8.0 (1.8.0)

数据库

浏览器

界面工具

Mysql

谷歌

Photoshop

2008

6.0

2016

5.2 注册模块

未注册用户在用户注册界面uerRegister.jsp,输入新用户信息,点击注册后,新用户信息由界面传入控制层userAction,调用addUser(user)方法,通过userDAOImp向数据库用户表插入用户信息,由于用户账号是自动生成的,若成功则反馈注册成功,并提示新用户的用户账号;若失败则回到登录界面,并显示登录失败。

注册界面如下所示。

图5-1注册界面

5.3 登录/注销模块

用户在首页点击登录,进入用户登录界面uerLogin.jsp,输入用户账号和密码,点击登录,用户账号和密码信息由界面传入控制层userAction,调用userLogin(user)方法,通过userDAOImp向数据库用户表搜索该用户账号与密码,将最终结果反馈到前端。若成功则回到首页;用户成功登录,若失败则回到登录界面,并显示登录失败。

用户点击注销,清空浏览器session值,然后返回登录页或者首页。

登录界面如下所示。

图5-1登录界面

5.4 用户模块

5.4.1 个人资料模块

登录用户在首页点击进入用户中心userCenter.jsp,再点击修改个人信息按钮进入userChangeInfo.jsp界面,系统根据session中存储的目前登录的用户的账号,向控制层userAction发送请求,搜索当前用户信息,userAction向userDAOImp调用queryByUserId(user),向数据库的用户表搜索当前用户信息并将用户信息以对象的形式层层返回到userChangeInfo.jsp界面,显示出当前用户的个人信息。

若用户要对个人信息进行修改,则通过修改当前信息之后点击确认,向控制层userAction发送更改后的用户信息,调用changeUser(user)方法,通过userDAOImp向数据库用户表更新用户信息,若成功则反馈注册成功,则返回的userChangeInfo.jsp界面被更改成功;若失败则显示修改失败。

5.4.2 评论模块

用户可以发表自己的评论。将页面session中的用户账号userId和发表评论文字框内容和评分传入控制层PinglunAction,调用addPinglun方法,通过PinglunDAOImp向数据库评论表插入,将结果返回Pinglun_list.jsp界面。

评论发表界面如下所示。

图5-1评论发表界面

5.4.3 电影搜索模块

用户可以在首页进行电影搜索,在搜索框输入关键词后,前台发起请求,将传递的keyword参数信息从前台传递DianyingController类里,匹配到list()方法,list()方法调用DianyingServiceImpl类的getDianyingByKeywordCategory()方法,如果没有该关键词,则返回空的结果集。

电影搜索界面如下。

图5-1电影搜索界面

5.4.4 电影购票模块

用户在登录状态下浏览电影时可将该电影加入电影购票记录,从session中取出该用户的信息,点击加入电影购票记录后前台发起请求,将对应的电影数量shuliang、id参数信息从前台传递GoumaiController类里,匹配到add()方法,add()方法调用GoumaiServiceImpl类的add()方法。

电影购票界面如下所示。

图5-1电影购票界面

5.4.5 放映厅查看模块

用户在登录状态下浏览放映厅,从session中取出该用户的信息,点击加入放映厅查看记录后前台发起请求,将对应的放映厅id参数信息从前台传递fangyingtingController类里,匹配到select()方法,select ()方法调用fangyingtingServiceImpl类的select ()方法。

放映厅查看界面如下所示。

图5-1放映厅查看界面

5.4.6 订单生成模块

用户提交订单后后台会自动生成订单列表。从session中取出该用户信息,前台发起请求,将对应的用户信息、dingdanpId参数信息从前台传递DingdanController类里,匹配到create()方法,create()方法调用DingdanServiceImpl类的createDingdan()方法获取数据,调用本类的getCartDingdanItem()方法得到订单列表。

订单提交界面如下所示。

图5-1订单提交界面

5.5 管理员模块

5.5.1 热门电影管理模块

管理员在后台管理界面点击到所有电影界面dianyingxinxi_list.jsp,向控制层dianyingxinxiAction发送请求,搜索当前所有电影信息,dianyingxinxiAction向dianyingxinxiDAOImp调用搜索全部电影的请求,向数据库的电影表搜索当前所有电影并将电影信息以对象的形式层层返回到dianyingxinxi_list.jsp界面,显示出当前所有电影信息。若要对电影信息进行修改和删除,则分别进入dianyingxinxi_updt.jsp或dianyingxinxi_delete.jsp,通过dianyingxinxiAction向dianyingxinxiDAOImp调用对应的修改或删除方法,向数据库的电影表做相应的持久层操作。

电影管理界面如下所示。

图5-1热门管理界面

5.5.2 放映厅管理模块

管理员在后台管理界面点击到所有放映厅界面fangyingtingxinxi_list.jsp,向控制层fangyingtingxinxiAction发送请求,搜索当前所有放映厅信息,fangyingtingxinxiAction向fangyingtingxinxiDAOImp调用搜索全部放映厅的请求,向数据库的放映厅表搜索当前所有放映厅并将放映厅信息以对象的形式层层返回到fangyingtingxinxi_list.jsp界面,显示出当前所有放映厅信息。

放映厅管理界面如下所示。

图5-1放映厅管理界面

5.5.3 订单管理模块

管理员在后台管理界面点击到所有订单界面dingdan_list.jsp,向控制层dingdanAction发送请求,搜索当前所有订单信息,dingdanAction向dingdanDAOImp调用搜索全部订单的请求,向数据库的订单表搜索当前所有订单并将订单信息以对象的形式层层返回到dingdan_list.jsp界面,显示出当前所有订单信息。

订单管理界面如下所示。

图5-1订单管理界面

第6章 系统测试

6.1 测试概述

软件测试是软件开发完成后必须经过的一道程序,它在软件开发过程中地位十分重要,需要由专业的测试工程师来对软件进行各方面的测试,大到功能模块测试,小到代码的单元测试,这对测试工程师来说需要有足够的耐心和专业的测试方案,软件测试归根结底就是对软件的结构和功能的综合测评,需要做到结构稳定和功能正确,二者兼顾。软件测试也叫寻找系统bug的过程,世界上没有完美无缺、不存在bug的软件,只能将软件的bug降到最低最小,来追求极致。

6.2 测试过程

6.2.1 登录测试

登录测试是系统最开始就要进行,测试用户能否登录,才能完成后续的功能操作。

登录测试用例表如下所示。

表6-1登录测试

用例编号

YL001

程序版本

1.00

功能名称

使用者登录测试

编制人

李铁蛋

功能描述

根据用户的登录情况测试

用例目的

测试用户登录情况是否正确

测试项

测试数据

测试结果

预期结果

用户名

为空

请输入用户名

请输入用户名

密码

为空

请输入密码

请输入密码

用户密码组合

用户名:klouse 密码 klouses

用户与密码不匹配

用户与密码不匹配

用户密码组合

用户名 : klouse 密码

klouse

进入系统

正确的用户名和密码

登录系统

6.2.2 信息录入测试

管理员在发布信息页面,通过按照预先格式发布信息,如果因为输入时候缺少相关内容,就不能发布成功,且有相应错误提示

信息录入发布测试用例表如下所示。

表6-1信息录入发布测试

用例编号

YL002

程序版本

1.00

功能名称

信息发布测试

编制人

李铁蛋

功能描述

对使用者发布或者录入信息进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者录入发布信息进行原型测试。

测试项

测试数据

测试结果

预期结果

属性1

为空

请输入属性1对应的数据

请输入属性1对应的数据

属性2

为空

请输入属性2对应的数据

请输入属性2对应的数据

属性3

为空

请输入属性3对应的数据

请输入属性3对应的数据

全部输入

数据均填入

录入发布成功

录入发布成功

6.2.3 信息更新测试

管理员在更新信息页面,通过按照预先格式更新信息,如果因为输入时候缺少相关内容或者更新的数据不符合当前规范的话,就不能更新成功,且有相应错误提示

信息更新测试用例表如下所示。

表6-1信息更新测试

用例编号

YL003

程序版本

1.00

功能名称

信息更新测试

编制人

李铁蛋

功能描述

对使用者更新信息进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者更新信息进行原型测试。

测试项

测试数据

测试结果

预期结果

属性1

编号:321

编号更新成功

编号更新成功

属性2

名称:名称1

名称更新成功

名称更新成功

属性3

内容:内容1234内容

内容更新成功

内容更新成功

全部输入

数据均未更改

更新成功

更新成功

6.2.4 信息删除测试

管理员在信息页面,通过点击数据删除按钮来删除该条数据,如果该数据和其他数据有关联,则提示是否确定删除。

信息删除测试用例表如下所示。

表6-1信息删除测试

用例编号

YL004

程序版本

1.00

功能名称

信息删除测试

编制人

李铁蛋

功能描述

对使用者删除信息进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者删除信息进行原型测试。

测试项

测试数据

测试结果

预期结果

数据1

无任何关联的数据1

数据删除成功

数据删除成功

数据2

和其他数据有关联的数据2

请确认是否删除

请确认是否删除

6.3 测试结果

在经过之前的所有的工作之后,通过对软件的测试方法、测试原则还有典型的测试用例进行全面的、深入的介绍。经过对系统的全面测试,系统目前所具有的所有功能均成功的实现并且通过了测试,整个系统实现了基于 Java 开发的期望。

第7章  总结与展望

7.1 总结

电影网站采用MVC结构,该结构非常完美的集优点于一身,成熟、强大、易理解易使用,通过使用这个结构,降低了开发的难度。本系统实现了基于Java的电影网站,将数据操作维护的过程转化成电脑操作流程,具体实现了对系统首页、个人中心、用户管理、放映厅、电影类型、热门电影、系统管理、订单管理,并提供查询功能来对电影相关数据进行统计分析,让使用者能更清晰的掌握运营情况,帮助使用者进行数据操作维护,简化工作流程,提高工作效率和盈利。

7.2 展望

目前完成的电影网站,还有许多有待改进的地方。一个是功能上的改进,用户理应可以修改自己的相关信息,故应增设个人中心功能;另外,系统如果能提供更多的功能就会使得系统更加丰富和多样化,比如数据当前分析和未来预测等。第二个是技术上的改进,由于对开发框架不太熟悉,权限管理这部分,本系统采用一个jsp页面来规定好导航栏,即跳转的页面,这相对比较不灵活,如果将URL路径记录到数据库并实现增删查改会比较好;另外就是对EasyUI的使用还不够熟练,视觉效果和界面观感有待提升,希望日后能对这个系统有所改进。

参考文献

[1]Paul Krill. Oracle makes Java discovery service free to all[J]. InfoWorld.com,2022.

[2]Paul Krill. Java 20 begins to take shape[J]. InfoWorld.com,2022.

[3]张晨.Java Web反序列化网络安全漏洞分析[J].四川职业技术学院学报,2022,32(05):158-162+168.DOI:10.13974/j.cnki.51-1645/z.2022.05.021.

[4]Paul Krill. Java collections framework needs sequences, OpenJDK proposal says[J]. InfoWorld.com,2022.

[5]李乐.Java语言应用研究[J].智慧中国,2022(09):80-81.

[6]吴京京,丁捷,蒋小龙,孙荣西,王景燕.基于快照技术的场景化数据管理的研究[J].微型电脑应用,2022,38(09):177-180.

[7]李伟.基于Java技术平台的办公管理系统设计与实现[J].信息与电脑(理论版),2022,34(13):152-154.

[8]吴拓.Java编程语言在计算机软件开发中的应用[J].无线互联科技,2022,19(12):35-37.

[9]武国庆. 基于生成对抗网络的电影推荐系统研究与应用[D].东北林业大学,2022.DOI:10.27009/d.cnki.gdblu.2022.000684.

[10]李俊甲.基于JAVA的文字速录系统的设计与实现[J].信息与电脑(理论版),2021,33(13):94-96.

[11]刘子凡,郭昱君.基于SpringBoot+Mybatis的个人博客系统设计与实现[J].现代信息科技,2021,5(08):104-107+111.DOI:10.19850/j.cnki.2096-4706.2021.08.029.

[12]王宗崇.浅析电影网站信息管理发展现状、问题及对策[J].劳动保障世界,2017(17):52+62.

[1]Liu Yuru,Wan Yan,Kang Jun. Impact of Community-Based Governance Mechanisms on Transaction Intention on a Second-Hand Trading Platform[J]. Journal of Theoretical and Applied Electronic Commerce Research,2023,18(1).

[2]Park Hyun Hee. Scarce fashion products consumption in the C2C second‐hand trading platform[J]. Family and Consumer Sciences Research Journal,2023,51(3).

[3]Maruti Endang Sri,Yulianto Bambang,Suhartono Suhartono,Yohanes Budinuryanta,Cahyono Bambang Eko Hari. Scale development as a measuring tool of critical Javanese language’ awareness for pre-service Javanese teachers[J]. Cogent Arts & Humanities,2022,9(1).

[4]赵静.基于SSM+VUE框架的企业合规管理系统[J].数字通信世界,2022(11):17-19.

[5]李乐.Java语言应用研究[J].智慧中国,2022(09):80-81.

[6]黎洁霞,甘渐宽,王方会,白玉.基于SSM框架的新型可视化食堂管理系统[J].网络安全技术与应用,2022(08):40-41.

[7]宋旸.使用Java语言开发Web应用软件的知识探讨[J].中国设备工程,2022(14):121-123.

[8]王露秋,刘志邦,吴佳伟,纪福海.基于SSM框架的在线排班系统与开发[J].网络安全技术与应用,2022(07):43-44.

[9]王柯,周祎,纪雯烩.基于SSM框架的IT知识学习交流平台的设计与实现[J].电子制作,2022,30(13):52-57.DOI:10.16589/j.cnki.cn11-3571/tn.2022.13.011.

[10]谷光明,龙安全.基于Java技术的校园二手商城网站开发[J].安顺学院学报,2022,24(03):117-120+132.

[11]宋锦华.基于SSM框架的在线教育平台设计与实现[J].电脑编程技巧与维护,2022(05):27-29.DOI:10.16184/j.cnki.comprg.2022.05.048.

[12]曹嵩彭,王鹏宇.浅析Java语言在软件开发中的应用[J].信息记录材料,2022,23(03):114-116.DOI:10.16009/j.cnki.cn13-1295/tq.2022.03.009.

[13]孟维成.对基于Java语言实现数据库的访问研究[J].软件,2022,43(02):169-171.

[14]张倩,陈嘉濠,廖秀秀.基于SSM框架的学生综合测评系统的设计与实现[J].现代计算机,2022,28(03):93-97+120.

[15]王慧芳,孙方,陈玉,朱茜.基于SSM框架的大数据个性化推荐系统设计[J].信息与电脑(理论版),2022,34(02):90-92.

[16]陈玥.基于Java语言开发的宿舍管理系统[J].信息与电脑(理论版),2021,33(21):38-40.

[17]Siyi Liu. Explore Java Language and Android Mobile Software Development[J]. International Journal of Frontiers in Engineering Technology,2021,3.0(2.0).

[18]Kevin Kline. The Java Language Extension for SQL Server Is Now Open Source[J]. Database Trends and Applications,2020,34(4).

[19]宁克南. 基于lightGBM的电子商城二手商品价格推荐分析[D].天津财经大学,2019.DOI:10.27354/d.cnki.gtcjy.2019.000112.

[20]刘子才. 网络二手市场“柠檬”问题研究[D].四川省社会科学院,2018.

致  谢

在老师的教导和帮助下,本人完成了本篇论文,老师对论文的内容、格式都有非常严格的要求,在我写毕业论文的过程中,他多次给出了建议,并定期检查,对我们严格要求,帮助我们在文档的编写上写到极致和正确,他这种教学和工作态度,让我对他产生无限的敬佩感和尊敬感。写毕业论文的同时,作为应届生,我也忙着找工作中,遇到了很多选择,感到困惑迷茫的时候,老师给了我很多意见,感谢老师的耐心开导,跟她的聊天我明白了许多。

我还要感谢我的父母,一直以来都非常支持和相信我,在精神和经济上给了我很多力量,如今我将毕业走上工作之路,终于能报答父母的养育教导之恩。还有我大学期间所有老师和全体同学,遇到问题时,这些老师同学总是无私地帮助我,真的非常感谢,我也会加油努力成长为一个有用的人。

点赞+收藏+关注  →私信领取本源代码、数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值