SSM电影影评管理系统 毕业设计-附源码95985

摘  要

本研究基于SSM框架开发了一款高效、可靠的电影影评管理系统。该系统主要面向管理员和普通用户,涵盖了多个功能模块,包括电影分类管理、电影信息管理、电影评分管理、公告消息管理等。通过对系统需求的分析和设计,采用了合理的数据库结构和前后端技术实现,系统实现了用户注册登录、电影信息展示、电影评分功能等核心功能。借助SSM框架的优势,系统具备良好的代码模块化、可扩展性和易维护性。在系统开发过程中,充分进行了测试和优化,以确保系统的稳定性和性能。同时,注重用户体验,通过友好的界面设计和操作流程,为用户提供个性化的电影推荐和评论服务。

本系统的开发旨在提供准确、高效的电影影评管理解决方案,促进电影行业的发展和用户满意度的提升。通过该系统,管理员可以方便地管理电影信息和用户评分,为电影爱好者提供一个交流和分享的平台。同时,用户可以浏览电影信息、参与评分和查看他人的评论,从而更好地选择适合自己的电影作品。

该电影影评管理系统基于SSM框架的开发为管理员和用户提供了一个高效、可靠的平台,实现了电影信息管理和影评功能。未来可以进一步扩展和优化该系统,增加更多的功能模块和交互体验,以满足不断变化的用户需求,促进电影行业的进一步发展。

关键词:电影影评管理系统;Java;MySQL; SSM

Abstract

This study developed an efficient and reliable movie review management system based on the SSM framework. This system is mainly aimed at administrators and ordinary users, covering multiple functional modules, including movie classification management, movie information management, movie rating management, announcement message management, etc. Through the analysis and design of system requirements, a reasonable database structure and front-end and back-end technology were adopted to implement core functions such as user registration and login, movie information display, and movie rating. By leveraging the advantages of the SSM framework, the system has good code modularity, scalability, and ease of maintenance. During the system development process, sufficient testing and optimization were conducted to ensure the stability and performance of the system. At the same time, we focus on user experience and provide personalized movie recommendation and review services to users through user-friendly interface design and operation processes.

The development of this system aims to provide accurate and efficient film review management solutions, promote the development of the film industry, and improve user satisfaction. Through this system, administrators can easily manage movie information and user ratings, providing a platform for movie enthusiasts to communicate and share. At the same time, users can browse movie information, participate in ratings, and view comments from others, in order to better choose movies that are suitable for themselves.

The development of this movie review management system based on the SSM framework provides an efficient and reliable platform for administrators and users, achieving movie information management and review functions. In the future, the system can be further expanded and optimized by adding more functional modules and interactive experiences to meet the constantly changing user needs and promote the further development of the film industry.

Key words :Film review management system; Java; MySQL; SSM

  

  

  

1 绪论

1.1 研究背景与意义

1.2现状与分析

1.4论文结构与章节安排

2 相关技术介绍 2

2.1 Java编程语言 2

2.2 jQuery框架 2

2.3 MySQL数据库管理系统 2

2.4 SSM框架..............................................2

3 系统需求分析

3.1可行性分析

3.1.1 技术可行性分析

3.1.2 操作可行性分析

3.1.3 经济可行性分析

3.2功能需求分析

3.3用例分析

4系统总体设计

4.1系统功能模块设计

4.1.1 前台页面设计

4.1.2 用户模块设计

4.1.3 评论管理模块设计

4.1.4电影管理模块设计

4.2数据库设计

4.2.1数据库概要设计

4.2.2数据库逻辑设计

5系统详细实现

5.1 系统总体的逻辑结构图

5.1.1系统MVC结构图

5.1.2系统的三层架构图

5.2系统功能实现

5.2.1系统主页功能实现

5.2.2用户注册登录功能实现

5.2.3评论功能实现

5.2.4电影资讯功能实现

5.2.5电影信息功能实现......................................

5.2.6用户管理功能实现

5.2.7形式分类管理功能实现

5.2.8电影评分管理功能实现

6系统测试

6.1 系统测试目的

6.2 系统可用性测试

6.3 系统典型测试用例

6.4 测试总结

总结

参考文献

  

1 绪论

1.1 研究背景与意义

随着电影产业的快速发展,越来越多的人愿意通过观影来获取娱乐和文化享受。然而,在选择观影作品时,用户往往需要依赖他人的推荐和评价。传统的电影评价方式存在一些问题,如信息来源不确定、评价偏向性等。因此,开发一款电影影评管理系统具有重要的意义。该系统旨在为用户提供一个可信赖的电影评价平台,集合了广大用户的真实评分和评论。通过这样的系统,用户可以更准确地了解电影的质量和口碑,从而做出更明智的选择。电影行业需要根据观众的反馈和喜好来进行市场推广和作品改进。而用户希望能够通过分享自己的观影体验和评价,与其他电影爱好者交流和互动。因此,开发一款电影影评管理系统能够满足电影行业和用户之间的双重需求,促进电影行业的发展和用户满意度的提升。

通过本研究,电影影评管理系统可以为用户提供准确、可信赖的电影评价,帮助用户做出更好的观影选择。同时,该系统也为电影行业提供了一个实时反馈和数据分析的平台,有助于了解观众喜好和市场需求。这将推动电影行业的创新和进步,并提升用户体验和满意度。

电影影评管理系统的研究背景与意义在于提供一个可信赖的电影评价平台,满足用户对电影作品质量和口碑的需求。同时,该系统也促进了电影行业的发展和用户满意度的提升,为观众和电影从业者之间搭建了一个良好的互动平台。

1.2现状与分析

当今,随着信息化时代的到来,电影影评管理系统得到了广泛的关注和应用。目前,已经存在一些电影影评平台和网站,如豆瓣、IMDb等,它们提供了用户评分和评论的功能,帮助用户选择和了解电影作品。然而,现有的电影影评管理系统还存在一些问题和局限性。首先,存在评价偏向性和不准确性的问题。由于用户对电影的喜好和观影体验各异,个人评价可能会带有主观色彩,难以客观反映电影作品的质量。其次,信息筛选和推荐机制亟需改进。用户在面对众多电影评价时,往往难以快速找到适合自己的参考意见。另外,电影影评系统与实际票房成绩之间的联系也需要进一步探讨,以增强对市场需求和观众喜好的把握能力。

针对以上问题,未来的发展方向包括提高电影影评的准确性和客观性。可以通过引入更多的评价维度和数据分析技术,使电影评价更全面、科学,并结合专业影评家的意见进行综合评估。同时,与电影产业链的其他环节进行深度融合,如票房数据、市场调研等,以实现更全面的市场分析和决策支持。

电影影评管理系统在当前处于发展阶段,虽然存在一些问题,但随着技术的不断进步和用户需求的不断变化,未来将有更多的机会和挑战。通过改进评价准确性、优化用户体验和深度整合电影产业链,电影影评管理系统将更好地满足用户的需求,促进电影行业的发展和创新。

1.3论文结构与章节安排

本文共分为六章,章节内容安排如下:

第一章:引言。第一章主要介绍了课题研究的背景与意义,开发现状分析目前相关研究现状以及技术和本文的研究内容与主要工作。

第二章:相关结束介绍。第二章主要介绍了课题开发技术和框架

第三章:系统需求分析。第三章主要从系统的可行性、功能等方面进行需求分析。

第四章:系统总体设计。第四章主要对系统功能模块、数据库进行功能设计。

第五章:系统详细设计。第五章主要介绍了系统各个用户的功能、系统界面的实现。

第六章:系统测试。第六章主要对系统的部分界面进行测试并对主要功能进行测试

2 相关技术介绍

2.1 Java编程语言

早在上个世纪90年代,Java就由詹姆斯·高斯林进行开发,自诞生之日起,Java就一直深深的受到了程序开发者的广泛喜爱,它作为计算机主要的编程语言,一直到今。Java语言是真的是一种纯面向对象的计算机语言,在Java的世界中,所有的方法、数据类型、符号等都是以类的方式存在的,最顶层的就是Object,所有的类都是对object的继承。继承是Java中的核心思想,与C语言不同的是,子类只有一个父类,这样的好处就是操作更加的简便,让人更容易理解,在代码的书写上也会容易较多。Java另外一个特性就是多态性,调用父类接口的方法可以实现子类的实现,这样的好处就是很好的对实现方法进行了隐藏(封装),而且又能够把API进行公开,一举两得。接口思想很好的诠释了想象对象的思想,让面向对象编程渐渐转向面向接口编程。如今,随着编程思想的继续发展,Java也加入了一些函数式编程的思想,这样的好处就是让编程代码更加的简洁与方便。本管理系统采用Java编程语言进行后台的开发,一是鉴于标准化制定以后[4],Java语言常用于大型商业应用程序后台系统中,生态稳定;二是也希望通过本系统的开发提高自己编写Java代码的能力。

2.2 jQuery框架

在Web项目中,异步请求是必须要使用的技术,最早是通过javaScript进行异步请求,这样的操作非常的繁琐,随着jquery的出现,给代码的书写提供了很多的方便,ajax就可以操作相应的代码,本质上说,jQuery是js的封装的库,js在获取DOM元素的时候需要书写的代码量大,而且随着如今前台项目越来越庞大,js完全不能满足当前的需求,通过jquery则可以非常简单的获取相应的DOM元素。正是如此,jquery在前台应用十分广阔,成为必备的前台技术之一。

2.3 MySQL数据库管理系统

数据库作为数据的存储地方是项目必须的,MySQL是一款非常优秀的关系型数据库,早期的Mysql并不是甲骨文公司的,后来才被他收购的。Mysql非常的小巧,安装包才几兆,sql语言的书写也比较容易学习,最重要的是mysql同时也是一款开源的软件,所以不需要额外进行付费,本系统本身也是以学习总结所学知识为主,在系统的开发上最好尽量使用免费的软件,所以选用mysql进行数据库管理。Mysql的容量也是非常大的,同时支持分库分表的操作,支持分布式,所以越来越多的中小企业选择该款数据库管理工具。另外值得一提的是,开源也有一个不好的地方,就是容易遭到破解和黑客攻击,所以mysql在使用上还是更多的使用在中小项目中。

2.4 SSM框架

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。

1.8.1 Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。
1.8.2 SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
1.8.3 mybatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。

页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。

3 系统需求分析

3.1可行性分析

通过以下的系统总体需求分析,进而分析是否拥有达成需求的技术、资金和开发人员等条件。那么就从以下几点进行简单的说明:

3.1.1 技术可行性分析

电影影评管理系统通过分析以上的系统需求,首先需要使用数据库存储各种数据,包括电影信息数据、电影评分数据、形式分类数据、地区分类数据等。其次,后端数据要调到页面上来,所以需要使用到前端技术,包括html,css 和javascript三大技术。当前端发出请求的时候,还需要中间件的支持等。这些技术在学校基本都学习过了,而且在使用上如果发生遗忘都可以查询到相关知识进行补充。所以总的来说,技术可行性是没有问题的。

3.1.2 操作可行性分析

总体来严,该系统的操作设计和逻辑设计还是比较简单的。因为总体的设计目标只是包括数据的读取等基本内容。而且,就目前使用的客户一般都是用户和管理人员,都是有较高文化的一群人和学习能力较强的人。但是还是要把程序的操作设计得尽量简单,比如电影评分等功能,比如用户的登录和登出功能等,都需要尽量的简单,这样让系统用户更容易上手。针对管理员的操作,这边需要指出,是需要一定的理解的,比如电影信息管理,电影评分管理的设定,比如各类信息的添加和修改等,还是需要一定的计算机基本认识,如有需要,可以对其进行简单的介绍或者培训。

3.1.3 经济可行性分析

整体来说,项目的开发使用的硬件和软件还是不多的,硬件就是一台电脑,软件需求比较多,因为现在都有很多开源软件可是使用,所以投入也是不高的,项目使用的开源软件还是比较多的,比如mysql,tomcat,mybatis等,图标字体阿里巴巴的图标字体库,版本控制使用的git等。总体的投入主要就是开发的时间投入,所以总的来说,经济可行性也是没有问题的。

3.2功能需求分析

电影影评管理系统的主要目的分为两个。

(1)电影影评管理系统提供了一个用户和用户,用户与管理员进行互动交流的系统,用户可以通过注册获取一个帐户,查询电影信息,进行电影评分等。在这个系统中,用户之间可以进行随时查询、评分、评论等。

(2)该系统需要很好的功能扩充性和可维护性。由于该系统是涉及的用户比较多,对管理员来说同样也是一个信息管理系统,包括用户信息,资讯信息,电影信息等。而且,随着用户数量的增加,必然对程序的更新迭代要求更高,所有在开发的时候就需要注意程序的可维护性和可拓展性。

3.3用例分析

电影影评管理系统中的管理员角色主要负责了如下功能操作。

(1)轮播图/公告消息信息管理功能需求:管理员可以对这两部分进行添加,修改,删除和查询等。

(2)用户管理功能需求:用户管理部分包括了管理员和普通用户两部分,管理员可以对这两部分进行添加,修改,删除以及查询等。

(3)电影信息管理功能需求:管理员可以对其进行添加,修改,删除,查询等。

(4)电影评分管理功能需求:管理员可以进行查询,编辑,删除操作。

(5)形式分类管理功能需求:管理员可以进行添加、查询,编辑,删除操作。

(6)地区分类管理功能需求:管理员可以进行添加、查询、编辑,删除操作。

(7)资源管理:管理员可以对电影影评管理系统前台展示的电影资讯以及资讯所属的分类进行管控。

图3-1管理员角色用例图

电影影评管理系统中的前台普通用户角色主负责了如下功能操作。

(1)用户查看系统信息功能需求:用户可以通过系统首页查看电影影评管理系统,包括首页,公告消息、电影资讯、电影信息,同时可以输入关键词进行电影查询等模块,用户可以对电影信息进行评分、收藏,评论等操作。

(2)用户登录与注册功能需求:用户可以通过注册获取帐户。

(3)电影信息功能需求:用户登录系统以后,是可以进行对电影信息查看,进行电影评分、收藏、点赞、评论等操作。

(4)公告消息功能需求:用户登录系统以后,是可以进行对公告消息信息进行浏览。

(5)我的账户功能需求:用户登录系统以后,是可以进行我的账户进行管理的,包括个人资料,修改密码两部分。

(6)电影资讯:用户可以查看电影资讯信息,在查询到自己想要了解的电影资讯的时候,可以进入查看详细的介绍进行评论、点赞、收藏操作。

图3-2 前台普通用户角色用例图

4系统总体设计

4.1系统功能模块设计

电影影评管理系统的整体架构确定以后,再来看电影影评管理系统的主要功能模块图。整体的功能模块包括前台和后台,前台就是主要的页面,包括首页,公告消息、电影信息、电影资讯等页面。后台的模块主要实现了管理员用户,有系统用户、电影信息管理、摄影评分管理、公告消息管理、资源管理、年代分类管理、类型管理、形式分类管理、地区分类管理、系统管理等。确定了模块以后,再设计各个模块的功能特点,方便抽取出各个模块的公共部分来。

图4-1电影影评管理系统功能模块图

4.1.1 前台页面设计

本电影影评管理系统的前台页面所有的页面设计主要是上中下的结构,这样的好处是让所有的页面更加的整洁。主题的页面颜色采用淡色为主,为突出页面的美观。主页面上分为导航栏,导航栏的每个导航项目设计为一张Java页面,除此之外,还有就是用户中心页面,后台管理的页面了。后台管理页面已简单的上下结构为主。

4.1.2 用户模块设计

(1)用户模块结构图

本系统的用户包括管理员和普通用户模块。两种用户模块的功能基本是相同的,普通用户模块比管理员多了一个注册功能,所以以用户模块的结构图为例进行分析,如下图:

图4-2用户模块结构图

(2)各个结构的具体业务逻辑

a.查询用户信息:设计最基础的查询功能,主要就是根据用户id查询用户信息。该功能主要体现在管理员用户信息查询和用户自己查询信息的时候。

b.修改用户信息:用户可以根据情况,对自己的基本信息进行修改,包括名字修改、密码修改、头像修改等操作。

c.增加用户:用户可以通过注册来获得账号

d.删除用户信息:管理员没有权利进行删除信息的删除,最多把用户加入到黑名单中,禁止用户进行登录操作。

4.1.3 评论管理模块设计

(1)评论模块结构图

电影影评管理系统是一个交流性质的公开系统,用户和用户之间可以对系统上的内容,比如电影信息等进行点评,增加用户之间的互动性。但是同时也为了更好的规范评论的内容,给予管理员删除不合适的言论的功能,所以需要专门设计一个评论管理模块,具体的结构图如下:

图4-3评论模块结构图

(2)各个结构的具体业务逻辑

a.查询评论:设计最基础的查询功能,主要就是根据用户id查询该用户下的所有评论信息。

b.发布评论:普通用户用户可以根据情况,发布自己评论信息到系统上。

c.删除评论:管理员没有权限修改用户的评论信息,但是可以删除用户的整条评论。

4.1.4电影管理模块设计

(1)电影信息模块结构图

电影影评管理系统是中需要存储不少电影信息,普通用户可以查看电影信息,管理员可以添加,修改,删除电影信息等,具体的结构图如下:

图4-4电影信息模块结构图

(2)各个结构的具体业务逻辑

a.添加电影信息:管理员可以对电影信息进行添加。

b.修改电影信息:管理员可以对电影信息进行修改。

c.删除电影信息:管理员可以对电影信息进行删除。

3.2数据库设计

3.2.1数据库概要设计

电影影评管理系统根据上面的E-R实体图,就再找到实体与实体之间的关系来,制作总的E-R图,实体之间的关系一共有4种,也就是一对一,多对一,一对多和多对多,总的E-R图是设计数据库表格的依据,如下图是系统的总E-R图。

图4-5系统总体E-R图

4.2.2数据库逻辑设计

通过上一小节中电影影评管理系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。

表chronological_classification (年代分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

chronological_classification_id

int

10

0

N

Y

年代分类ID

2

chronological_classification

varchar

64

0

Y

N

年代分类

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表formal_classification (形式分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

formal_classification_id

int

10

0

N

Y

形式分类ID

2

formal_classification

varchar

64

0

Y

N

形式分类

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表movie_information (电影信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

movie_information_id

int

10

0

N

Y

电影信息ID

2

movie_title

varchar

64

0

Y

N

电影名称

3

formal_classification

varchar

64

0

Y

N

形式分类

4

type_classification

varchar

64

0

Y

N

类型分类

5

regional_classification

varchar

64

0

Y

N

地区分类

6

chronological_classification

varchar

64

0

Y

N

年代分类

7

film_director

varchar

64

0

Y

N

电影导演

8

release_time

date

10

0

Y

N

上映时间

9

movie_popularity

varchar

64

0

Y

N

电影热度

10

movie_ratings

varchar

64

0

Y

N

电影评分

11

recommendation_index

varchar

64

0

Y

N

推荐指数

12

film_review_index

varchar

64

0

Y

N

影评指数

13

movie_cover

varchar

255

0

Y

N

电影封面

14

movie_introduction

longtext

2147483647

0

Y

N

电影简介

15

hits

int

10

0

N

N

0

点击数

16

praise_len

int

10

0

N

N

0

点赞数

17

recommend

int

10

0

N

N

0

智能推荐

18

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

19

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表movie_ratings (电影评分)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

movie_ratings_id

int

10

0

N

Y

电影评分ID

2

movie_title

varchar

64

0

Y

N

电影名称

3

formal_classification

varchar

64

0

Y

N

形式分类

4

type_classification

varchar

64

0

Y

N

类型分类

5

regional_classification

varchar

64

0

Y

N

地区分类

6

chronological_classification

varchar

64

0

Y

N

年代分类

7

film_director

varchar

64

0

Y

N

电影导演

8

release_time

date

10

0

Y

N

上映时间

9

regular_users

int

10

0

Y

N

0

普通用户

10

scoring_score

varchar

64

0

Y

N

评分分数

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表regional_classification (地区分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regional_classification_id

int

10

0

N

Y

地区分类ID

2

regional_classification

varchar

64

0

Y

N

地区分类

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_gender

varchar

64

0

Y

N

用户性别

4

user_age

varchar

64

0

Y

N

用户年龄

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表type_classification (类型分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_classification_id

int

10

0

N

Y

类型分类ID

2

type_classification

varchar

64

0

Y

N

类型分类

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

5系统详细实现

5.1 系统总体的逻辑结构图

5.1.1系统MVC结构图

首先从项目整体的进行逻辑设计,采用的是目前流行的MVC模式进行开发。Model层是系统的核心层,里面含有项目的核心逻辑代码和数据库,View层是Model层的显示实例,Controller的主要的功能就是处理用户与数据交互的。值得注意的是,MVC模式的特点是为了更好的对前台和后台进行解耦的操作,控制器就是充当解耦的中间层,他可以分发前台的请求,然后通过调用模型层来处理数据。本系统使用的控制器是springMVC,springMVC的dispatchServlet是对servlert的封装。

图5-1电影影评管理系统MVC结构图

5.1.2系统的三层架构图

电影影评管理系统使用的SSM框架搭建后台系统,把所有的对象都交予spring的ioc容器进行管理,这样的好处就是能够更好的让系统掌握对象的生命周期还有方便进行依赖注入,减少代码的书写量和对象之间的耦合。具体的三层包括,控制层、业务逻辑层和数据持久化层,也就是controller, service和dao层。Dao层的实现类通过mybatis映射文件进行实例化操作。三层架构的好处就是能够更好的对系统操作进行解耦,方便维护与分工。

图5-2 电影影评管理系统三大操作类结构图

4.2系统功能实现

4.2.1系统主页功能实现

用户进入首页之后会显示如下的一个窗口。如下图:

图4.3电影影评管理系统主界面

由于该项目只是用来测试,用户登录首页展示的图片等数据有的是从项目本地拿到的,有的则是从数据库中获取的。页面中的搜索部分,页头部分等都是属于公共样式,可以进行公告样式的抽取,然后再引入到Java页面中。

4.2.2用户注册登录功能实现

该电影影评管理系统用户是需要先注册的,没有登录的情况下,用户进行任何的操作,都会跳到登录页面,提示注册。具体的流程图和实现界面如下:

图5-4电影影评管理系统用户注册登入流程图

图5-5电影影评管理系统用户注册界面

注册关键代码如下所示。

 /**

     * 注册

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(HttpServletRequest request) throws IOException {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = service.readBody(request.getReader());

        query.put("username",String.valueOf(map.get("username")));

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}

    public Map<String,Object> readBody(BufferedReader reader){

        BufferedReader br = null;

        StringBuilder sb = new StringBuilder("");

        try{

            br = reader;

            String str;

            while ((str = br.readLine()) != null){

                sb.append(str);

            }

            br.close();

            String json = sb.toString();

            return JSONObject.parseObject(json, Map.class);

        }catch (IOException e){

            e.printStackTrace();

        }finally{

            if (null != br){

                try{

                    br.close();

                }catch (IOException e){

                    e.printStackTrace();

                }

            }

        }

        return null;

    }

    public void insert(Map<String,Object> body){

        E entity = JSON.parseObject(JSON.toJSONString(body),eClass);

        baseMapper.insert(entity);

        log.info("[{}] - 插入操作:{}",entity);

}

5.2.3评论功能实现

用户可以进行评论,以用户评论为例,界面如图:

图5-6电影影评管理系统用户评论界面

主要的实现代码是:普通用户评论主要是对电影资讯进行评论。其中评论中保存了评论的宿主编号。

5.2.4电影资讯功能实现

当访客点击电影影评管理系统中导航栏上的“电影资讯”后将会进入到该“电影资讯”列表的界面,然后选择想要看的电影资讯信息,点击进入到详细界面,在详细界面可以收藏+赞+评论等操作,具体的实现界面如下图:

图5-7电影资讯界面

5.2.5 电影信息功能实现

用户可以查看电影信息,在查询到自己想要了解的电影的时候,可以进入查看详细的介绍,点击“评分”这一按钮以后会跳转到评分信息填写的界面,根据提示填写好评分的信息,点击“提交”以后评分就完成了,在电影信息详情这个界面,同时支持用户对喜欢的电影进行收藏、点赞的功能,具体的流程图和实现界面如下:

图5-8 电影影评管理系统电影信息流程图

图5-9电影影评管理系统电影信息界面

5.2.6用户管理功能实现

管理员在用户管理模块,可以对用户信息进行管理,用户管理模块由管理员和普通用户两部分组成组成,这里以普通用户管理为例,具体的实现界面如下图:

图5-10用户管理界面

用户管理关键代码如下:

 @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

    @Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

}

5.2.7形式分类管理功能实现

点击“形式分类”按钮会显示自己发布的所有的形式分类信息,如果想要添加新的形式分类,点击“添加”按钮根据提示输入形式分类信息,点击“提交”后在形式分类界面就可以显示了,如果信息有错,点击“编辑”按钮可以对形式分类信息进行更新维护,也可以直接删除某一形式分类,具体的实现界面如下图:

图5-11形式分类管理界面

形式分类管理关键代码如下:

 @RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

}

5.2.8电影评分管理功能实现

管理员点击“电影评分”会显示出所有的电影评分信息,支持输入电影名称对电影评分信息进行查询,可以选择某一条电影评分信息,点击“删除”进行删除,具体的实现界面如下图:

图5-12电影评分物管理界面

电影评分管理关键代码如下:

  @RequestMapping("/get_obj")

    public Map<String, Object> obj(HttpServletRequest request) {

        List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));

        if (resultList.size() > 0) {

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("obj",resultList.get(0));

            return success(jsonObject);

        } else {

            return success(null);

        }

}

5系统测试

5.1 系统测试目的

系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。

5.2 系统可用性测试

系统的可用性测试是测试系统最基本的功能,比如鼠标点击是否可用,页面跳转是否正常等。下面是具体的测试结果。

表5-1电影影评管理系统可用性测试

测试项

测试人员评价

窗口移动、改变大小、关闭等操作是否正常

操作模块是否友好

模块和提示内容等文字描述是否正确

模块布局是否合理、协调

模块的状态是否正确(对选中项能否发生对应切换)

键盘、鼠标操作是否支持

所需的数据项是否正确显示

操作流程是否合理

是否提供帮助信息

5.3 系统典型测试用例

对系统的主要页面和功能点的测试用例如下:

(1) 用户登陆系统测试用例如表 5-2 所示。

表5-2用户登录系统测试用例

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

(2)形式分类信息测试用例如表 5-3 所示

表5-3 形式分类测试用例

用例名称

形式分类

目的

测试形式分类功能

前提

测试流程

打开形式分类界面

预期结果

可以进行查看形式分类详细

实际结果

实际结果与预期结果一致

(3)评论试用例如表 5-4所示

表5-4评论测试用例

用例名称

评论

目的

测试评论模块功能

前提

测试流程

用户在评论区进行点评操作。

预期结果

评论提交以后,可以查看到自己的评论信息

实际结果

实际结果与预期结果一致

(4)电影信息添加信息测试用例如表 5-5 所示

表5-5 电影信息添加测试用例

用例名称

电影信息添加

目的

测试电影信息添加功能

前提

测试流程

管理员点击电影信息添加,输入电影信息

预期结果

提交电影信息后可以查看电影信息

实际结果

实际结果与预期结果一致

5.4 测试总结

通过系统的调试,能够检测项目的稳定性,为项目正式运行、稳定运行提供了可预测性的维护备案。能够帮助用户熟悉整个项目,并对项目可能出现的错误有所了解。本文提供了部分调试用例及调试日志,可以帮助用户解决简单的错误问题,也加深了开发者对于此框架下的项目编写的了解度,为后期开发者顺利完成项目、发布项目提供了非常大的帮助。

总结

本次设计中,我还学会了很多,例如良好的编程思想和完善的规划思想。在着手编程之前需要罗列出程序框架的大概,脑海中构建出程序的主题框架。做好这一步我们才能胸有成竹的经行开发项目。当设计框架了熟于心之后,需要思考本次编程所需的主要知识点和技术点,并充分学习。如此一来项目的开发才能循序渐进、如丝般顺滑,长久以往就能养成良好的开发习惯。一个程序好不好还要看出的bug多不多,如果在项目完成前做好bug的查验与预防可能发生的事故才能保证程序的稳定长久性运行。如果项目在完工后出现各种问题自己,那么在进入社会后,不仅会给团队带来麻烦和增加不必要的工作,还会导致客户流失,公司对自己的评价下降。

在本次项目中我也暴露了诸多问题。对于Java的编程知识有所欠缺,环境配置和算法上出现诸多问题,时常导致项目运行出错,或者目标的实现有问题。或者实现想法时算法未优化,使得代码冗长,程序运行不顺畅。

参考文献

[1]韩小龙,司珍,吕晓峰等. 基于面向对象编程的Java语言程序设计方法分析 [J]. 集成电路应用, 2024, 41 (01): 228-229.

[2]谭光兴,甘景,戚秋晨. 基于Java语言的远程数据采集系统设计与实现 [J]. 科技与创新, 2024, (01): 19-22.

[3]袁爱平,陈畅,孙士兵等. 基于SSM框架的高校学生信息管理系统设计与实现 [J]. 工业控制计算机, 2023, 36 (12): 127-129.

[4]马庆. 计算机软件开发中JAVA编程语言的应用 [J]. 山西电子技术, 2023, (06): 84-86+98.

[5]刘方磊. 基于SSM框架的旅游大数据分析系统设计与实现 [J]. 中国新技术新产品, 2023, (21): 22-25.

[6]赵进步,袁慧. 基于SSM框架的“云节”系统设计与实现 [J]. 电脑编程技巧与维护, 2023, (10): 90-92.

[7]Liang C . School Vehicle Management System Based on JAVA Language [J]. Academic Journal of Computing & Information Science, 2023, 6 (9):

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

[9]Kline K . The Java Language Extension for SQL Server Is Now Open Source [J]. Database Trends and Applications, 2020, 34 (4): 31-31.

[10]张韶琳,曹平,付海亮. 用于分层架构设计的SSM框架设计方法[P]. 北京市: CN111143451A, 2020-05-12.

[11]李天庆. 基于SSM框架的电子商城项目的设计与实现[D]. 山东大学, 2019.

[12]李艳鹏,曲源,宋杨. 互联网轻量级SSM框架解密[M]. 电子工业出版社: 201903. 528.

[13]方春露,杨文琦,陈滔等. 基于Javaweb技术广东省学生体质争优运动处方数据库和视频库的构建[C]// 中国生理学会运动生理学专业委员会,北京体育大学. 2018年中国生理学会运动生理学专业委员会会议暨“科技创新与运动生理学”学术研讨会论文集. 广州体育学院;国家体育总局运动技战术诊断与机能评定重点实验室;, 20198: 2.

  

至此论文结束,感谢您的阅读。在此我要感谢我的导师,虽然我在实习期间很忙,论文撰写总是停停改改,但是导师依然十分负责,时不时的询问我的任务进展情况,跟进我的论文进度。虽然我在实习期间很忙,以至于很晚才开始进行论文撰写和编写程序的工作,但是在指导老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识,和经验,这些知识和经验令我受益匪浅。也从导师身上看到了自己的不足,不论是在即使层面上还是在对待工作的态度上,倒数如同明镜一般照出了我的缺点我的不足。此外,我还要感谢在我实习期间在论文和程序上帮助过我的同学和社会人士,此前我对于框架及JQuery和BootSatrp方面的一些知识还不了解,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测。没有他们我是不能顺利完成本次毕业设计的。至此,我的毕业设计就花上了一个圆满的句号了。

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

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值