• 【毕业设计】基于javaEE+SSH+MySql+MVC的动漫论坛设计与实现(毕业论文+程序源码)——动漫论坛


    基于javaEE+SSH+MySql+MVC的动漫论坛设计与实现(毕业论文+程序源码)

    大家好,今天给大家介绍基于javaEE+SSH+MySql+MVC的动漫论坛设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。

    文章目录:

    1、项目简介

    1. 动漫论坛作为最先开始热爱动漫人士进行交流的方式之一,是爱好者们共享信息,寻找同伴的重要渠道之一。在这次毕业设计中,使用MVC模式,采用MySQL5.0数据库和JSP技术,开发了界面友好、操作简单易懂的动漫论坛。

    2. 在设计过程中,在以下论文里说明了九重天动漫论坛系统的设计方案,主要包括系统运用的关键技术,数据库设计,对各个功能模块的详细设计以及实现,本次设计主要实现论坛系统中以下几个功能:注册会员,会员登录,管理员登录,浏览帖子,发帖回帖,管理员具有删除用户,管理板块,能够增加、删除、修改板块信息的功能。

    3. 动漫论坛项目主要用于实现动漫爱好者的互相交流,基本功能包括:注册用户、登录、浏览帖子、发布新帖、回复帖子、等。本系统结构如下:
      (1)普通用户:
      注册用户:如果用户为非会员用户,通过注册,经审核通过之后成为会员,获得一个登陆身份;
      登录:如果用户已经是注册会员,可以进行登录,登陆后实现别的功能;
      浏览帖子:用户查看系统中的帖子,了解最新的资讯和各种动态等信息;
      发布新帖:用户可以发表一些帖子,来与其他论坛用户共享信息;
      回复帖子:对于自己或者别的会员发表的帖子,可以进行回复。
      (2)管理员:
      管理员登录:对于已经登录的用户,若权限为管理员,可以进行管理员的登录,登陆之后才能有权限进行下一步操作;
      帖子管理:管理员可以对发表的帖子进行查询、修改、删除等操作,对好的帖子进行标识,删除或转移不适合的帖子;
      模块管理:论坛中的模块,管理员可对其进行添加、修改、删除等操作;
      用户管理:用户注册成功后,管理员可以对用户进行添加、删除操作。
      (3)游客:
      游客可以对论坛进行访问,浏览帖子的功能,但不能参与回复操作,也没有发布帖子的权限。


    2、资源详情

    项目难度:中等难度
    适用场景:相关题目的毕业设计
    配套论文字数:29417个字
    包含内容:整套源码+完整毕业论文+答辩PPT+任务书+辅导视频+运行截图


    3、关键词:

    动漫论坛、JSP、MySQL、java

    4、毕设简介:

    提示:以下为毕业设计的简略介绍,项目源码及完整毕业论文下载地址见文末。

    绪论
    1.1 课题背景
    动漫论坛作为动漫爱好者最早开始交流的平台之一,由于该产业的独特性,线上交流是爱好者们进行交互的主要方式。现在国内外著名的ACG论坛,如天使动漫论坛、精灵动漫论坛等注册人数均已过万。

    为了是广大动漫爱好者更好的进行交流,本次课题设计了九重天动漫论坛。该论坛系统的设计方案包括论坛的设计与实现的相关技术、开发环境,数据库设计,对各个功能模块的详细设计,包括注册会员,会员登录,管理员登录,浏览帖子,发帖回帖,管理员具有删除用户,管理板块,能够增加、删除、修改板块信息的功能。
    省略

    1.2 国内外现状
    bbs诞生于20世纪70年代的美国,主要用来成员之间的交流,随着互联网的发展,其许多特性被后面的应用取代,90年代bbs的功能主要转移到了我们现在所熟知的论坛上来。又值90年代动漫发展迅速,动漫论坛便成为了爱好者相互交流的主要途径之一。由于互联网发展迅猛,通讯方式和通讯工具的多元化,论坛不如鼎盛时期一样人气爆棚,但作为最先开始传播讯息的供人民交流的平台之一,直到今天论坛也在发挥其功能。依旧是爱好者们交流、共享信息、分享资源必不可少的平台。

    1.3 动漫论坛系统特点
    动漫论坛系统有以下几个特点:
    (1)人性化的界面
    一个动漫论坛能否吸引人,其界面的美观是必不可少的,对于爱好者来讲,毫不夸张的说,一个是否让人感觉舒适、友好界面是决定其是否使用该论坛的要素之一。人性化的界面,让用户在使用时更加舒适。其界面风格也会由热门作品、节日等因素影响定期更换,保证了新鲜度,是用户不易产生审美疲劳。

    (2)完整的管理功能
    论坛系统一般有明确的制度,为此需要一套合理完整的管理功能,由于我们无法左右他人的思想和发言,会不可避免的出现过激的言论和不健康的内容,因此,一套完整的管理功能显得尤为重要。它约束用户的行为,定期清理不良信息。对于论坛的主题,帖子有着编辑增加修改的功能,对于用户也删除封号等功能,通过这些管理功能的实现来保证广大用户使用论坛的感受。

    (3)覆盖 范围广
    论坛的成员可以来自各个地方,大家因为同一个兴趣爱好聚集起来,由于是线上活动,所以对于成员的地域约束不是很大,因此论坛中成员的覆盖范围较广

    (4)话题性明确
    作为动漫论坛,其主题相当明确,用户也是针对爱好者这一群体。可以在论坛中讨论关于ACG相关的话题。

    1.4 发展前景
    论坛作为一种着重依靠内容和话题去促进用户交流的平台,只要话题还存在,其就有发展的可能性,现在的论坛已经足够完善和成熟,与曾经的顶峰时期相比,并不会再和那时一样聚集全网络的目标,这并不是一件坏事,只能说明我们的交流方式日益多样化,成熟化。而具有主题鲜明的论坛,比如动漫论坛将会继续存在并且活跃下去。现如今国内动漫产业发展迅猛,动漫论坛今后也将乘着国漫大发展的东风,走向更好的未来。

    1.5所做的主要工作
    首先,对论坛进行可行性分析和需求分析,掌握所做论坛都需要哪些功能。论坛分为两大模块,分为前台帖子浏览模块、后台帖子管理模块,在后台帖子管理模块当中,应该具有对帖子的管理功能,对注册用户的管理的功能,在前台帖子浏览模块当中,应该具有帖子的浏览、发表新的帖子、注册用户看完帖子之后的回帖等等。

    然后,要对论坛进行系统的设计,它包括各个功能模块的设计和数据库结构的设计。论坛采用动态服务器网页JAVA作为开发语言,MySQL作为后台数据库来开发。功能模块的设计,分为前台帖子浏览模块设计,后台帖子管理模块设计,在功能模块设计中,要确定各个分模块之间的联系,以及前台模块与后台模块之间的联系。在数据库结构设计中,要考虑建立几个数据表。各个数据表之间的关系,以及如何把网页与数据库连接起来。

    最后,就是系统的实现,根据前面所做的工作,对论坛进行详细的设计与实现,通过参考大量的书籍掌握Java语言的用法,以及怎样用JDBC连接数据库的。再实现各个功能模块。
    (1)阐述整个个性化页面的系统结构及工作原理;分析了系统实现中的特殊性、难点和重点。

    (2)设计实现用户管理、帖子管理、版面管理、数据库管理、浏览查找功能等。

    (3)分析并解决实现中的若干技术问题。

    (4)建立完整的网上论坛,进行测试并分析结果。

    2 可行性分析及需求分析
    2.1 可行性分析
    省略

    2.1.1 经济可行性
    省略

    2.1.2 技术可行性
    省略

    本系统采用JSP技术,开发调试相对简单,灵活使用css可以使界面更加简洁美观友好, MyEclipse8.5集成开发环境是一套完整的开发工具集,可以用于生成基于JSP的应用程序,还提供MySQL数据库各种操作,这些大大提高了编程的效率和代码质量,而现在开发所需语言技术都是在大学期间学过的,从而在技术上为本系统的设计和开发提供了可能。

    2.1.3 运行可行性
    省略

    2.2 需求分析
    省略

    2.2.1 功能需求
    指所开发软件系统必须提供的服务,划分出系统必须完成的所有功能。在本动漫论坛系统中,存在下列功能需求:

    A.面向普通用户的功能需求
    1、注册用户
    如果用户为非会员用户,通过注册,经审核通过之后成为会员,获得一个登陆身份。
    2、登录
    如果用户已经是注册会员,可以进行登录,登陆后实现别的功能。
    3、浏览帖子
    用户查看系统中的帖子,了解最新的资讯和各种动态等信息。
    4、发布新帖
    用户可以发表一些帖子,来与其他论坛用户共享信息。
    5、回复帖子
    对于自己或者别的会员发表的帖子,可以进行回复。

    B.面向管理员的功能需求
    1、管理员登录
    对于已经登录的用户,若权限为管理员,可以进行管理员的登录,登陆之后才能有权限进行下一步操作。
    2、帖子管理
    管理员可以对发表的帖子进行查询、修改、删除等操作,对好的帖子进行标识,删除或转移不适合的帖子。
    3、模块管理
    论坛中的模块,管理员可对其进行添加、修改、删除等操作。
    4、用户管理
    用户注册成功后,管理员可以对用户进行添加、删除操作。

    C.面向游客的功能需求:
    游客可以对论坛进行访问,浏览帖子的功能,但不能参与回复操作,也没有发布帖子的权限。

    2.2.2 非功能需求
    省略

    3 系统开发环境及技术介绍
    3.1 开发环境
    本动漫论坛系统的运行平台设置分为硬件环境和软件环境。
    (1) 硬件环境:系统的硬件环境配置为处理器Intel COREi5-3230M,内存4G,硬盘500G。

    (2) 软件环境:系统的软件环境配置为:操作系统:Windows 7,数据库:MySql,JDK1.8、MyEclipse8.5开发工具包和MyEclipse自带的Tomcat服务器。

    3.2 开发工具
    3.2.1 MyEclipse8.5
    MyEclipse是一个非常好的集成开发环境,旨在简化多操作系统软件工具的开发过程,可用于管理各种开发任务,包括测试,性能调优和程序调试,还可以从 针对多个供应商的第三方应用开发工具。 通过集成大量插件,Eclipse的功能可以扩展到支持各种不同的应用程序。主要用于Java、Java EE以及移动应用的开发。MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。

    3.2.2 MySql
    MySQL是一个关联的数据库管理系统,由瑞典MySQL AB 公司开发,它将数据与不同表中的数据进行关联,而不是将所有数据放在大型存储库中。 这提高了速度并提高了灵活性。 MySQL的SQL结构化查询语言是用于访问数据库的最常用的标准化语言。MySQL是开源的,所以不需要支付其他的费用,可以到官方的网站进行下载。MySQL不仅支持中小型的数据库,也支持拥有上万条数据记录的大型数据库。而且MySQL是适合于多个系统上的,它支持很多语言。也正是由于其体积小,速度快,总体拥有成本低,特别是开源这一功能,许多中小型网站为了降低网站的总体拥有成本,并选择MySQL作为网站数据库。

    3.3 相关技术介绍
    本系统中使用了JSP技术、JDBC技术、MVC模式与struts框架技术,下面将简单介绍这些技术。
    3.3.1 JSP技术简介
    省略

    JSP是面向服务器的,因此支持任何浏览器。当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器——Web服务器——后台数据库的三层架构模式。因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。

    3.3.2 JDBC技术技术简介
    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。简单来说。JDBC可以做三件事情:与数据库建立连接、发送操纵数据库的语句、返回处理结果。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。

    3.3.3 MVC模式与Struts框架技术
    MVC模式:
    MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

    视图V:
    视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和像XHTML,XML/XSL,WML等一些标识语言和Web services.
    如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

    模型M
    模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

    控制器C
    控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。

    Struts框架技术:
    Struts 框架就是基于Model 2 的架构,也就是基于MVC模式的框架技术。它是一个免费的开源的WEB层的应用框架,具有很高的可配置性,和有一个不断增长的特性列表。一个前端控制组件,一系列动作类,动作映射,处理XML的实用工具类,服务器端java bean 的自动填充,支持验证的WEB 表单,国际化支持,生成HTML,实现表现逻辑和模板组成了struts的灵魂。

    4 总体设计
    省略

    4.1 系统模块总体设计
    省略

    九重天动漫论坛的总体设计包括两大部分:一是前台的总体设计,也就是对于普通用户模块的设计,包括注册会员,会员登录,浏览帖子,发表帖子,回复帖子的功能;二是后台的设计,也就是对于管理员的模块设计,包括管理员对版块进行增加修改删除的操作,对用户进行删除操作,对帖子进行删除操作等基本功能。

    功能结构如图4.1.1
    在这里插入图片描述

    4.1.1 普通用户模块设计
    1、会员注册与登录
    访问到论坛主页时,所有用户都默认为游客,只能执行浏览、搜索帖子的功能,希望进行下一步操作需要进行会员登陆。

    如果用户为非会员用户,通过注册,经审核通过之后成为会员,获得一个登陆身份;登陆之后可以进行发帖,评论等功能。

    2、会员登录
    如果用户为会员,可以直接登陆。登陆之后才能进行发帖、评论等功能。

    3、浏览帖子
    访问到论坛时,页面会显示版块、分区和发表的帖子,用户可以直接浏览帖子的内容,也可以选择感兴趣的版块或者分区,从里面浏览该分区内的帖子的内容。该模块没有权限设置,无论是会员还是管理员都可以进行操作。

    4、发表帖子
    用户登陆后可以发表一些帖子来与他人共享最新资讯。

    5、回复帖子
    用户登陆后可以在自己或别人发表的帖子下发表评论或者回复,发表自己的想法。

    会员在登录后可进行的操作如图4.1.2所示:
    在这里插入图片描述

    4.1.2 管理员模块设计
    1、 管理员登录
    对于已经登录的用户,若权限为管理员,可以进行管理员的登录,登陆之后才能有权限进行下一步操作。

    2、帖子管理
    管理员可以对发表的帖子进行查询、删除等操作。

    3、分区管理
    论坛中的分区,管理员可对其进行添加、修改、删除等操作。

    4、版块管理(子版块管理)
    论坛中的分区下有不同的版块,可以对指定分区下的版块进行添加、修改、删除等操作。

    子版块位于版块之内,可以对指定版块进行添加子版块,编辑和删除子版块的操作。

    5、用户管理
    用户注册成功后,管理员可以对用户进行删除操作。

    管理员模块设计结构如图4.2.1
    在这里插入图片描述

    4.2 数据库设计
    本系统是一个中小型的动漫论坛系统,考虑到开发成本、用户信息量客户需求等问题,决定采用MYSQL作为项目中的数据库。

    省略

    4.2.1 数据库分析
    通过对系统的需求和功能的分析将系统的数据结构主要划分为四个部分:用户、管理员、帖子、模块这四个。

    用户执行的主要是注册会员,会员登录,浏览帖子,发表帖子,回复帖子的功能。

    管理员则主要进行后台管理,包括对分区、版块以及子版块进行增加修改删除的操作,对用户进行删除操作,对帖子进行删除操作等基本功能。

    帖子是用户之间进行交流的直接手段,其中包括帖子的题目,内容,发帖人,发帖时间,所属板块信息。

    模块是最先展示给用户的,包括具体的分区、板块和子版块。模块间的关系,如:同级、上下层的关系要把握好。

    从这上面的信息,我们可以将数据库这样设计:
    设计四个表,信息如下:
    t_user用于存放用户注册信息。
    t_topic用于存放版面信息。
    t_threads用于存放贴子信息。
    t_forums用于存放论坛类别介绍。

    这四个表的详细的逻辑设计详见4.2.3.

    4.2.2 数据库结构设计
    E-R模型的基本概念
    ER图即实体关系图,是描述实体和关系的图。ER图构建实体间的关系模型。ER图的思想是:项目所有参与者能理解ER图。ER图的构成要素是:实体,关系类型,属性。实体是现实事物的形象或者抽象描述,必须有业务意义。特性是用来描绘实体,关系存在于实体之间
    (1)实体:现实世界中的各种事物;
    (2)属性:事物的特性;
    (3)联系:事物之间的关系。实体的关系有一对一、一对多、多对多联系。
    根据系统的总体设计,我们可以看出看系统的主要实体有用户、管理员、帖子、模块这四个。

    大体的概念模型设计如下图4.2.2所示
    在这里插入图片描述

    4.2.3 数据库逻辑设计

    表1 t_user(用户信息表)
    在这里插入图片描述

    该表用于存放用户注册信息
    id是t_user表的主键,是表示用户的编号。
    userName是用户名,是用户登录所需要的信息之一。
    userPW是用户密码,和用户名一起作用于用户登录。
    userPW是用户真实姓名,用于用户注册,对管理员可见。
    Email是邮箱,用于注册,对管理员可见。
    Usertype 是用户类型,用来表示用户的权限,我们设置usertype为0的是管理员,具有更高的权限,usertype为1的是普通用户,只能实现前端的功能。
    isDel是删除标记,表示该用户是否被删除,被删除用户发表帖子依旧能显示在论坛中,所以删除用户不是讲用户从数据库中移除,而是将其删除标记置为1。

    表2 t_forums(论坛类别介绍表)
    在这里插入图片描述

    该表用于存放论坛类别介绍
    fid是编号,用来表示管理员最近添加或者修改删除的分区、版块、子版块。是该介绍表的主键
    Type表示的是类型,用来表示管理员实施操作是对分区、版块还是子版块进行的,通过type表示区分三者。
    Name是名称,表示管理员实施操作时的分区、版块及子版块的名称。
    Fup表示的上级模块,默认最顶层的为0,即每个分区的上层为0,每个版块的上层对应的编号是每个分区的编号(fid),每个子版块对应的上层编号是每个模块对应的编号(fid)。
    Status表示状态,即这些模块存在与否,对于存在的记为“1”不存在的记为“0”.

    表3 t_topic(版面信息表)
    在这里插入图片描述

    该表用于存放版面信息。
    Pid即新帖编号,也就是发布的新的帖子的编号,是该表的主键。
    fid是编号,用来表示新帖所属的模块(子版块)。
    Author表示发帖的作者名字。
    Authorid 表示发帖的作者编号。
    Subject 表示发表的新帖子的内容。
    View 表示有多少观看量(浏览量)。
    Replies 表示回复帖子的数量。
    Addtime 表示帖子发布的时间。

    表4 t_threads(贴子信息表)
    在这里插入图片描述

    该表用于存放贴子信息。
    Tid 即帖子的编号,这个帖子可以表示新发布的新帖,也可以表示是回复的帖子,是该表的主键。
    Pid 即新帖编号,也就是发布的新的帖子的编号,如果帖子是回复帖子的话,该编号反应的是回复帖子所属于的帖子的编号。
    Fid 是编号,用来表示新帖所属的模块(子版块)。
    Ftype 表示帖子的类型,如果帖子的类型标志为“0”啧表示该帖是新发布的帖子,如果帖子的类型标识为“1”,则表示该帖子是回复别的帖子的帖子。
    Author表示发帖的作者。
    Authorid 表示发帖作者的编号。
    Subject 表示帖子的题目。
    Content 存放帖子的内容。
    Addtime 表示帖子发布的时间。
    tnum 表示帖子的数量。

    4.2.3 数据库连接

    <bean id="dataSource"
    		class="org.apache.commons.dbcp.BasicDataSource">
    		<property name="driverClassName"
    			value="com.mysql.jdbc.Driver">
    		</property>
    		<property name="url"
    			value="jdbc:mysql://localhost:3306/db_bbs?useUnicode=true&amp;amp;amp;amp;amp;amp;characterEncoding=utf-8">
    		</property>
    		<property name="username" value="root"></property>
    		<property name="password" value="root"></property>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    5 功能模块的设计与实现
    省略

    在本动漫论坛系统中,有以下几个模块:登录模块、注册模块、发表新帖模块、回复帖子模块、用户管理模块、分区管理模块、版块管理模块、子版块管理模块这几大模块,在本章中我们来对这些模块的设计与实现进行讨论。

    5.1 主界面
    主界面是论坛的门户,是给用户留下第一印象的重要界面,九重天动漫论坛的主界面包括用户登录注册、管理员登录、退出,分区,各个分区下的版块,各版块最后发表的帖子内容等信息。
    主界面如下图5.1所示
    在这里插入图片描述

    5.2 前端
    5.2.1 用户登录
    用户进入主页面,若想浏览具体的帖子或者执行发帖、回复帖子等功能必须先登录。点击工具栏上“登录”按钮则进入登录页面(如图5.2所示)。该模块在用户登录要进行用户名和密码的有效性检验,查询用户表,如果该用户存在则进入主页面,如果用户表内没有用户相关信息,或者密码不正确,则不能登录成功,并弹出窗口提示用户名不存在或者密码错误,回到登录页面以便用户再次输入用户名及密码登录。

    登录界面如下图5.2.1所示
    在这里插入图片描述

    主要代码:

    public String login(String userName,String userPw)
    	{
    		String result="no";
    		try
    		{
    			String sql="from TUser where userName=? and userPw=? and isDel=0 ";
    			Object[] con={userName,userPw};
    			
    			List userList=userDAO.getHibernateTemplate().find(sql,con);
    			if(userList.size()==0)
    			{
    				 result="no";
    			}
    			else
    			{
    				 WebContext ctx = WebContextFactory.get(); 
    				 HttpSession session=ctx.getSession(); 
    				 TUser user=(TUser)userList.get(0);
    	             session.setAttribute("user", user);
    	              result="yes";
    			}	
    		}catch(Exception e)
    		{
    			e.printStackTrace();
    		}
    		return result;
    	}
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    5.2.2 用户注册
    若用户是第一次使用该动漫论坛,需要进行注册,点击工具栏中的“注册”按钮进入注册界面。注册成功后跳转至主界面,获得一个登陆身份,可以执行浏览帖子、发表新帖子和回复帖子等功能用户注册信息必须完善,如果两次密码不正确或者信息没有填完整,则不能完成注册并且提示错误,如“两次密码不一致”“请输入邮箱”“请输入真实姓名”,回到注册界面使用户继续完成注册。
    注册界面如下图5.2.2所示
    在这里插入图片描述

    主要代码:

     public String userReg(){
    		TUser user = new TUser();
    		user.setUserName(userName);
    		user.setUserPw(userPw);
    user.setEmail(email);
    user.setRealName(realName);
    		user.setUserType(1);
    		user.setIsDel(0);
    		
    		userDAO.save(user);
    		
    		Map session= ActionContext.getContext().getSession();
    		session.put("user", user);
    		this.setMessage("注册成功");
    		this.setPath("bbs/jump.jsp");
    		return "succeed";
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    5.2.3 浏览帖子
    一个论坛,帖子是用户之间交流最直接的手段,完成注册或者登陆后,用户可以通过选择感兴趣的分区、版块、子版块来浏览帖子。
    浏览帖子如下图5.2.3所示

    在这里插入图片描述

    5.2.4 发表新帖
    当用户完成登录之后,若要发布新帖,点击“新帖”发表新帖子,依次写入标题与正文内容,之后点击“发新话题”即完成新帖的发表。
    发表新帖如下图5.2.4所示
    在这里插入图片描述

    5.2.5 回复帖子
    对于已经发表的帖子,不论是自己发表的帖子还是别人发表的帖子都可以进行回复帖子的操作,在原贴内容最下方的“快速回复主题”中输入自己要回复的内容,点击“发表回复”即可完成回复帖子的功能。
    回复新帖如下图5…2.5所示
    在这里插入图片描述

    5.3 后台管理
    为了论坛能够更好的工作,后台的设计必不可少,后台是为了前台更加良好的运作而服务的。后台管理的功能只有管理员才能实现,要进入后台首先要进行管理员的登录,在后台管理中,我们有以下几个功能:分区管理:包括添加分区、编辑分区和删除分区;版块管理:包括添加版块,编辑版块和删除版块;子版块管理:包括在指定的版块下添加子版块、编辑子版块和删除子版块;帖子管理:可以查询和删除帖子;用户管理:可以查询和删除用户。
    后台主界面如下图5.3.1所示:
    在这里插入图片描述

    5.3.1 管理员登录
    为了进入后台进行操作,管理员首先要进行登录,管理员一开始的登录入口与普通用户相同,在进入到主界面后,管理员有“管理员登录”的选项。点击“管理员登录”即可进行到后台管理的登录操作。
    管理员登录如下图5.3.2所示
    在这里插入图片描述

    5.3.2 分区管理
    分区管理是将论坛的几个大的分区进行添加、修改、删除的功能。
    A、添加分区:
    点击“分区管理”框内的“分区添加”,管理员在“添加分区”的框内写入要新增的分区,点击“提交”即可完成分区的添加,对应数据库内新增一条信息。
    添加分区如下图5.3.3所示:
    在这里插入图片描述

    主要代码:

    public String toEdit(){
    		TForums forums = forumsDAO.findById(fid);
    		String txt = "";
    		String td = "";
    		List forumsList = new ArrayList();
    		if(typeForum.equals(forums.getType())){
    			//添加版块
    			forumsList = getForumsByType(typeGroup);//获取分区
    			txt = "编辑版块";
    			td = "上级分区";
    		}else if(typeSub.equals(forums.getType())){
    			forumsList = getForumsByType(typeForum);//获取版块
    			txt = "编辑子版块";
    			td = "上级版块";
    }else{
    			txt = "编辑分区";
    		}
    		
    		Map request=(Map)ServletActionContext.getContext().get("request");
    		request.put("forumInfo", forums);
    		request.put("forumsList", forumsList);
    		request.put("txt", txt);
    		request.put("td", td);
    		return "toEdit";
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    B、编辑分区:
    若想对现存的分区进行重命名等重新编辑的操作,单击“分区管理”,在右侧显示框内,点击“编辑”跳转至编辑分区,管理员在“编辑分区”内填入重新编辑好的分区名称,点击“提交”即完成编辑分区的功能操作,相应数据库内修改该分区的名称。
    编辑分区如下图5.3.4所示:
    在这里插入图片描述

    C、删除分区:
    想要删除现有的分区,单击“分区管理”在右侧显示框内,点击“删除”,弹出窗口询问“确认删除”点击“确定”即完成删除操作,相应数据库内的信息也会删除。
    删除分区如下图5.3.5所示
    在这里插入图片描述

    5.3.3 版块管理
    版块管理是将论坛的几大分区下的版块进行添加、修改、删除的功能。
    A、添加版块:
    点击“版块管理”框内的“版块添加”,管理员在“添加版块”的框内写入要新增的版块,在“上级分区”内选择该板块所属的分区,完成之后点击“提交”即可完成在指定分区下版块的添加,对应数据库内新增一条信息。
    添加版块如下图5.3.6所示:
    在这里插入图片描述

    B、编辑版块:
    若想对现存的分区进行重命名等重新编辑的操作,单击“版块管理”,在右侧显示框内,点击“编辑”跳转至编辑版块,管理员在“编辑版块”内填入重新编辑好的版块名称,并选择其上级分区,上级分区默认是未修改版块前所属的分区,点击“提交”即完成编辑版块的功能操作,相应数据库内修改该版块的名称。
    编辑版块如下图5.3.7所示:
    在这里插入图片描述

    C、删除版块:
    想要删除现有的版块,单击“版块管理”在右侧显示框内,选定需要删除的版块,点击“删除”,弹出窗口询问“确认删除”点击“确定”即完成删除操作,相应数据库内的信息也会删除。
    删除版块如下图5.3.8所示
    在这里插入图片描述

    5.3.4 子版块管理
    子版块管理是版块管理的更加细化的功能,将论坛的几大分区下的版块所拥有的子版块进行添加、修改、删除的功能。
    A、添加子版块:
    点击“子版块管理”框内的“子版块添加”,管理员在“添加子版块”的框内写入要新增的版块,在“上级版块”内选择该子板块所属的版块,完成之后点击“提交”即可完成在指定版块下子版块的添加,对应数据库内新增一条信息。
    添加子版块如下图5.3.9所示:
    在这里插入图片描述

    B、编辑子版块:
    若想对现存的分区进行重命名等重新编辑的操作,单击“子版块管理”,在右侧显示框内,点击“编辑”跳转至编辑子版块,管理员在“编辑子版块”内填入重新编辑好的子版块名称,并选择其上级版块,上级版块默认是未修改子版块前所属的分区,点击“提交”即完成编辑子版块的功能操作,相应数据库内修改该子版块的名称。
    编辑子版块如下图5.3.10所示:
    在这里插入图片描述

    C、删除子版块:
    想要删除现有的版块,单击“子版块管理”在右侧显示框内,选定需要删除的子版块,点击“删除”,弹出窗口询问“确认删除”点击“确定”即完成删除操作,相应数据库内的信息也会删除。
    删除子版块如下图5.3.11所示
    在这里插入图片描述

    5.3.5 帖子管理
    后台帖子管理的功能主要包括帖子的查询和删除,在前台发布过的帖子,这里都有显示其具体内容,为了论坛的内容健康和谐,需要对不良信息的帖子进行删除操作,单击“主题管理”在右侧显示框内选定需要删除的主题,点击“删除”即可完成删除帖子的操作,与此同时对应数据库内也相应删除该信息。
    帖子管理如下图5.3.12所示
    在这里插入图片描述

    5.3.6 用户管理
    后台用户管理的功能主要包括查询系统用户的相关信息和删除用户,在前台注册成功的用户,在这里都有显示出来,为了论坛的秩序井井有条,对于散布不良信息或者蓄意发布无用帖子等不良行为的用户,管理员可以对用户进行删除操作。点击“用户管理”在右侧显示框内找到所删除用户的信息,点击“删除”即可删除该用户的信息,在对应的数据库中也相应的删除该记录。
    用户管理如下图5.3.13所示
    在这里插入图片描述

    6 各功能模块测试
    省略

    本章进行的软件测试将对注册会员,会员登录,管理员登录,浏览帖子,发帖回帖,管理员具有删除用户,管理板块,能够增加、删除、修改板块信息这些功能进行测试。

    6.1 测试概述及所用方案
    6.1.1软件测试概述
    省略

    6.1.3 测试的步骤
    省略

    6.1.4 测试的主要内容
    我们在进行测试工作的时候为了保证系统的质量,可以将测试工作的内容分成以下所说的几个部分,即: 审查代码、集成测试、单元测试、系统测试和确认测试。

    省略

    6.1.5 测试方案
    测试方法一般分为动态测试和静态测试。动态方法中又根据测试用例的设计方法不同,分为黑盒测试和白盒测试。

    省略

    在对动漫论坛系统的功能测试中,我们选用的是黑盒测试。将对前端功能:注册会员,会员登录,管理员登录,浏览帖子,发帖回帖,后台功能:删除用户,管理板块:能够增加、删除、修改板块信息,管理分区:添加、修改、删除分区,管理子版块:添加、删除、修改子版块,管理主体:浏览和删除主题这些功能进行测试。

    6.1.6测试设计
    (1)单一功能模块测试要求:
    表5 单元测试用例表
    在这里插入图片描述

    (2)多功能模块组合测试要求:
    表6 多功能模块组合测试表
    在这里插入图片描述

    (3)系统整体测试要求:
    表7 系统整体测试表
    在这里插入图片描述

    6.2 前端功能测试
    6.2.1 登录功能测试
    在用户登录模块测试中,涉及到用户名和密码两项数据,我们用以下的数据来测试
    (1)(已经注册成功的数据,用户名、密码正确)用户名:owee 密码:123456
    (2)(已经注册成功的数据,密码不正确)用户名:owee 密码:123
    (3)(没有注册的数据)用户名:kochan 密码:244
    进入登录界面,输入第一组数据,登录成功,如下图6.2.1所示:
    在这里插入图片描述

    进入登录界面,输入第二组数据和第三组数据,登录均不成功,并弹出错误提示,具体情况如下图6.2.2所示:
    在这里插入图片描述

    6.2.2 注册功能测试
    在用户注册测试模块中,涉及以下几项数据:用户名、密码、邮箱以及真实姓名,且均为必填项,其中密码两次输入须保持一致,针对用户名、密码、确认密码、email、真实姓名这几项内容,我们选用以下数据来进行测试:
    (1)kochan 244 244 kochan@qq.com D本K一
    (2)Onno 12345 123 onno@163.com 面包
    (3)Onno 12345 12345 (null) 面包
    (4)Onno 12345 12345 onno@163.com (null)
    进入注册界面,将第一组数据填入,第一组数据信息完整且两次密码相同,符合注册所需条件,因此注册成功,如下图6.2.1所示:
    在这里插入图片描述

    进入注册界面,将第二组数据填入,第二组数据中密码,与确认密码框内填入的密码不相同,注册失败,弹出下列窗口,如下图6.2.2所示:
    在这里插入图片描述

    进入注册界面,将第三组数据填入,第三组数据中两次密码相同但没有填入邮箱,注册失败,弹出下列窗口,如下图6.2.3所示:
    在这里插入图片描述

    进入注册界面,将第四组数据填入,第四组数据中密码,两次密码相同且邮箱正确但没有填入真实姓名,注册失败,弹出下列窗口,如下图6.2.4所示:
    在这里插入图片描述

    6.2.3 发帖功能测试
    进入主页,依次进入发帖所在的分区、版块、和版块下的子版块中,点击“新帖”发表新帖子,依次写入标题与正文内容,之后点击“发新话题”即完成新帖的发表,所发表的帖子就是该子版块中的帖子,如下图6.2.5所示:
    在这里插入图片描述

    点击“发新话题”发表新帖子,新帖子将出现在刚刚所处于的子版块中,如下图6.2.6所示:
    在这里插入图片描述

    6.2.4 回复帖子测试
    在浏览的帖子下方“快速回复主题”中输入自己要回复的内容,点击“发表回复”即可完成回复帖子的功能,该回复的帖子将在主题帖下方显示出来,如下图6.2.7所示:
    在这里插入图片描述

    6.3 后台功能测试
    6.3.1 管理员登录测试
    管理员为了进入后台进行操作,管理员首先要进行登录,管理员的登录入口与普通用户相同,在进入到主界面后,点击“管理员登录”即可进行到后台管理的登录操作,在该功能测试中涉及到两个内容,分别是用户名、密码,我们将采用以下三组数据来进行测试。
    (1)用户名:admin 密码:1
    (2)用户名:admin 密码:2
    (3)用户名:owee 密码:123456
    首先利用管理员的用户名和密码进行常规登录,在主页面中点击“管理员登录”进入管理员登录界面,输入第一组数据,登录后台成功,如下图6.3.1所示:
    在这里插入图片描述

    首先利用管理员的用户名和密码进行常规登录,在主页面中点击“管理员登录”进入管理员登录界面,输入第二组数据,由于密码错误,登录失败,如下图6.3.2所示:
    在这里插入图片描述

    首先利用管理员的用户名和密码进行常规登录,在主页面中点击“管理员登录”进入管理员登录界面,输入第三组数据,由于用户名不是admin,即用户权限不支持进行后台管理登录,登录失败。(如上图6.3.2所示)

    6.3.2 分区管理测试
    A、分区添加
    点击“分区管理”框内的“分区添加”,管理员在“添加分区”的框内写入要新增的分区,点击“提交”即可完成分区的添加,我们在“添加分区”内添加“同好专区”,单击“提交”,如下图6.3.3所示,分区中多了“同好专区”这一分区。
    在这里插入图片描述

    B、分区编辑
    单击“分区管理”,在右侧显示框内,点击“编辑”跳转至编辑分区,管理员在“编辑分区”内填入重新编辑好的分区名称,点击“提交”即完成编辑分区的功能操作。本次我们选择对“同好专区”进行编辑,点击“同好专区”右侧的“编辑”将“同好专区”修改为“吐槽专区”,点击提交,如下图6.3.4所示,“同好专区”已经被修改为“吐槽专区”。
    在这里插入图片描述

    C、分区删除
    想要删除现有的分区测试,单击“分区管理”在右侧显示框内,点击“删除”,弹出窗口询问“确认删除”点击“确定”即完成删除操作,本次我们点击“吐槽专区”右侧的“删除按钮”,确定删除后如下图6.3.5所示,“吐槽专区”已经被删除。
    在这里插入图片描述

    6.3.3 版块管理测试
    A、添加版块:
    点击“版块管理”框内的“版块添加”,管理员在“添加版块”的框内写入要新增的版块,在“上级分区”内选择该板块所属的分区,完成之后点击“提交”即可完成在指定分区下版块的添加,对应数据库内新增一条信息。我们选择在“九重天动漫”分区下添加版块“活动专区”提交后发现在该分区下新增了“活动专区”版块,如下图6.3.6所示:
    在这里插入图片描述

    B、编辑版块:
    若想对现存的分区进行重命名等重新编辑的操作,单击“版块管理”,在右侧显示框内,点击“编辑”跳转至编辑版块,管理员在“编辑版块”内填入重新编辑好的版块名称,并选择其上级分区,上级分区默认是未修改版块前所属的分区,点击“提交”即完成编辑版块的功能操作,我们将之前添加“活动专区”版块进行编辑,改为“近期活动”编辑版块如下图6.3.7所示:
    在这里插入图片描述

    C、删除版块:
    想要删除现有的版块,单击“版块管理”在右侧显示框内,选定需要删除的版块,点击“删除”,弹出窗口询问“确认删除”点击“确定”即完成删除操作,我们将刚刚修改过的“近期活动”删除,执行操作之后,版块版块如下图6.3.8所示:
    在这里插入图片描述

    6.3.4 子版块管理测试
    A、添加子版块:
    点击“子版块管理”框内的“子版块添加”,管理员在“添加子版块”的框内写入要新增的版块,在“上级版块”内选择该子板块所属的版块,完成之后点击“提交”即可完成在指定版块下子版块的添加,我们在“动漫公社”版块下选择添加子版块“银魂”造作完成之后如下图6.3.9所示:。
    在这里插入图片描述

    B、编辑子版块:
    若想对现存的分区进行重命名等重新编辑的操作,单击“子版块管理”,在右侧显示框内,点击“编辑”跳转至编辑子版块,管理员在“编辑子版块”内填入重新编辑好的子版块名称,并选择其上级版块,上级版块默认是未修改子版块前所属的分区,点击“提交”即完成编辑子版块的功能操作,我们将刚刚添加的子版块“银魂”修改为“鬼灯的冷彻”如下图6.3.10所示:。
    在这里插入图片描述

    C、删除子版块:
    想要删除现有的版块,单击“子版块管理”在右侧显示框内,选定需要删除的子版块,点击“删除”,弹出窗口询问“确认删除”点击“确定”即完成删除操作,我们将刚刚修改过的子版块“鬼灯的冷彻”删除,子版块如下图6.3.11所示:
    在这里插入图片描述

    6.3.5 主题管理测试
    后台帖子管理的功能主要包括帖子的查询和删除,在前台发布过的帖子,这里都有显示其具体内容,为了论坛的内容健康和谐,需要对不良信息的帖子进行删除操作,单击“主题管理”在右侧显示框内选定需要删除的主题,点击“删除”即可完成删除帖子的操作,我们选择刚刚发表的新帖子“九重天十周年社庆宣传第一弹”进行删除操作,完成之后帖子如下图6.3.12所示
    在这里插入图片描述

    6.3.5 用户管理测试
    测试方法后台用户管理的功能主要包括查询系统用户的相关信息和删除用户,在前台注册成功的用户,在这里都有显示出来,为了论坛的秩序井井有条,对于散布不良信息或者蓄意发布无用帖子等不良行为的用户,管理员可以对用户进行删除操作。点击“用户管理”在右侧显示框内找到所删除用户的信息,点击“删除”即可删除该用户的信息,我们对刚刚注册的用户kochan进行删除操作,操作完成后用户如下图6.3.13所示:

    在这里插入图片描述

    6.4 测试结果及总结
    (1)上述测试用例及结果总结
    A、前台测试总结
    在这里插入图片描述

    (2)测试总结
    经过上述的测试阶段之后,软件项目的功能大体上满足了用户的对项目的需求,测试工作宣告结束,在整个测试过程中,发现了软件项目中存在很多错误,并及时得到改正,减少了很多不必要的麻烦,使软件项目可以尽可能的完善。通过这次软件测试的经验,我深刻体会到软件测试的重要性,在以后的工作中,我 一定要重视并积极的完成测试,让自己的项目更加可靠、安全。

    结束语
    省略

    参考文献
    [1] 耿乡义. JSP基础教程[M]. 北京:清华大学出版社,2004:101-103.
    [2] 孙卫琴、李洪成.Tomat与Java Web开发技术详解[M]. 北京:电子工业出版社,2004:73-78.
    [3] 赛奎春.JSP信息系统开发实例精选[M]. 北京:机械工业出版社,2006:66-72.
    [4] 张金霞.HTML网页设计参考手册[M]. 北京:清华大学出版社,2006.
    [5] 曹淑琴.基于JSP的网站建设[J]. 华北科技学院报,2007(2).
    [6] 李振捷.JSP网站开发经典模块与实例精讲[M]. 北京:电子业出版社,2006.
    [7] 王艳霞,陈长生.基于JSP的BBS论坛设计[J].才智,2010(25):90-91
    [8] JH Goto,ML Puterman. Coffee, Tea, or …?: A Markov Decision Process Model for Airline Meal Provisioning ;《Transportation Science》, 2004, 38(1):107-118
    [9] XD Li,CS Poon,SC Lee,SS Chung,F Luk. Waste reduction and recycling strategies for the in-flight services in the airline industry; 《Resources Conservation & Recycling》, 2003, 37(2):87-99
    [10] L Wang,B Liu,LU Minyan. A Modeling Language Based on UML for Modeling Simulation Testing System of Avionic Software; 《Chinese Journal of Aeronautics》, 2011, 24(2):181-194

    致 谢
    省略

    外文原文
    省略

    中文翻译
    省略


    5、源码下载:

    本项目源码及论文如下,有需要的朋友可以点击进行下载

  • 相关阅读:
    基于Spring Boot的个人博客系统(源码+数据库)
    Kafka - 消息队列的两种模式
    网页大作业代码自取【HTML+CSS制作美味糖果网站】
    XxlJob实现Alarm警告
    计算机毕业设计ssm+vue基本微信小程序的校园通知小程序系统
    springboot基于java的康泰小区物业管理系统的设计与实现毕业设计源码101926
    C语言获取当前系统时间的几种方式
    【深度学习】吴恩达课程笔记(四)——优化算法
    Spring Data Elasticsearch介绍(七)
    在不同的系统下解决apache2和nginx伪静态问题(非宝塔页面)wordpress通用
  • 原文地址:https://blog.csdn.net/m0_66238867/article/details/125433681