摘   要

作为文化产业的一部分,动漫影响了我国一代又一代青少年,据钱江晚报调查显示,有超过七成的95后愿意从事与动漫相关的行业,可见其对青少年影响力之大。

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

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

关键词:动漫论坛、JSP、MySQL。

Design and implementation of Animation Forum Based on JSP

Abstract

As part of the cultural industry, animation has affected our generations, according to Qianjiang Evening News survey, more than 70% of the 95 are willing to engage in animation related industries, visible to the influence of the youth.

Anime forum, as one of the first ways to love the animation lovers, is one of the important channels for lovers to share information and find their companions. Through this graduation project, developed a friendly interface, easy to understand animation forum. In the design process, the use of MVC mode, using MySQL5.0 database and JSP technology.

In the following thesis illustrates the design scheme of the nine day anime forum system, including key technology, system using the database design, each functional module of the detailed design and implementation of the design of the main functions of the forum system to achieve the following: Member registration, member login, the administrator login, browse posts, post replies. The administrator has to delete the user management module, can add, delete and modify the function of the information sector.

Keywords: Animation Forum, JSP, MySQL.

1.  绪论

1.1  课题背景

 动漫产业作为文化产业的一部分,对我国青少年有着深远的影响。作为拥有完整产业链的动漫强国日本,仅动画与漫画占GDP的0.4%,其衍生了电视、电影、音像出版、传统出版、游戏软件开发、游戏机硬件制造、服装、小商品、餐饮等等行业。现如今,我国动漫产业发展迅速,由《秦时明月》《镇魂街》等优质动画为首掀起了国漫热潮,2015的《大圣归来》、2016的《大鱼海棠》收益颇丰。十二五期间国家明确要支持和壮大国有动漫企业,使其在发展产业和繁荣市场方面发挥主导作用。同时支持各类所有制动漫企业的健康发展。

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

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

1.2  国内外现状

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

1.3  动漫论坛系统特点

 动漫论坛系统有以下几个特点:

1.人性化的界面

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

2.完整的管理功能

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

5.覆盖  范围广

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

4.话题性明确

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

1.4  发展前景

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

1.5所做的主要工作

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

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

最后,就是系统的实现,根据前面所做的工作,对论坛进行详细的设计与实现,通过参考大量的书籍掌握Java语言的用法,以及怎样用JDBC连接数据库的。再实现各个功能模块。

(1)阐述整个个性化页面的系统结构及工作原理;分析了系统实现中的特殊性、难点和重点。

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

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

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

  1. 可行性分析及需求分析

2.1  可行性分析

可行性研究的目的就是用最小的代价在尽可能短的时间里确定问题是否能够解决。但是这个阶段的目的不是解决用户提出的问题,而是确定这个问题是否值得去解决。其主要任务是,首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,必须分析几种可能的利弊,从而判定原系统的目标和规模是否现实,系统完成后带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实际上就是一次大大的简化了的系统分析和系统设计的过程,即以抽象的方式进行分析和研究。

首先需要进一步分析和澄清之前一部的问题定义。一般都要从经济、技术、操作和法律四个方面来体验每种解法的可行性,做出明确结论来供用户参考。

可行性分析通过对项目的前期投入、带来的收益、技术、环境影响、后续的影响等多方面的研究分析,对项目是否值得投资、是否建设等提出意见。为项目的决策提供了综合性的系统分析方法。

2.1.1  经济可行性

首先要进行成本——效益分析。从开发所需的成本和资源,潜在的时长和前景等方面进行估算,确定要开发的项目是否值得投资开发,即要分析在整个软件生存周期中所花费的代价与得到的效益之间的度量。

本动漫论坛系统是一个实现爱好者相互交流的系统,采用MVC结构体系;本系统使用的开发工具为MyEclipse8.5,均可以在网上免费下载并安装使用;MY SQL是本系统的后台数据库,同样也可以在网上免费下载使用。因此,基本无需支付任何费用就可以使用这些开发工具。另外,本系统完全由个人开发,除了个人的时间和精力的消耗之外,基本上没有什么经济方面的开发成本。

本系统的设计与开发是非商业性的,虽然没有经济方面的收益,但对于本人而言,既加深了本人对JSP技术的了解和掌握,也为以后的软件系统的设计和开发积累了一定的实践经验。

2.1.2  技术可行性

对要开发项目的功能、性能和限制条件进行分析,评价系统所采用的技术是否先进,使用现在的技术是否能实现系统打到的目标。技术可行性是从该项目实施的技术角度来探讨该项目是否可一实施。要从软硬件、环境以及技术人员等方面来做综合的考虑。

动漫论坛系统的开发主要包括前台和后台两个方面,不管是用户还是系统管理员都是通过浏览器(如火狐,IE等)进入该系统。对于系统前台,要求系统的界面友好、美观大方、操作方便等要求,实现注册会员,会员登录,浏览帖子,发表帖子,回复帖子的功能;对于系统后台则要求信息更新及时、数据存储安全可靠、数据一致性高及易维护等要求,要实现管理员登录,删除用户,管理板块,能够增加、删除、修改板块信息的功能。

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

2.1.3  运行可行性

本系统操作简单,功能齐全。各个模块的操作都简单易懂,没有复杂的实现方式,再加上现如今互联网飞速发展,当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行的。

2.2  需求分析

软件需求分析是软件开发期的第一个阶段,是软件生存周期最重要的一步,是关系到软件开发成败的关键步骤。他在问题定义和可行性研究阶段之后进行。它的基本任务是准确地回答“系统必须做什么?”这个问题。虽然在可行性研究阶段粗略了解了用户的需求,甚至还提出了一些可行的方案,但是可行性研究的基本目的是最小的代价在尽可能短的时间内确定问题是否存在可行的解法,因此许多细节都被忽略了,一个微笑的错漏都可能导致误解或铸成系统的大错,在纠正时付出巨大的代价。因而可行性研究不能代替需求分析,他实际上并没有准确地回答“系统必须做什么?”这个关键问题。

软件需求分析是整个系统开发的基础。在此阶段结束前,系统分析员应该写出软件需求规格说明书,以书面的形式准确地描述软件需求。在此过程中,分析员和用户都是起着关键的、必不可少的作用。

双方确认对软件系统有下述几方面的综合要求:

功能、性能、可靠、可用、出错、接口、约束、逆向以及将来可能发生的。

所谓需求分析,就是要弄清楚问题的要求,我们要清楚地知道对于用户来讲,他要实现什么功能,他希望我们做到什么。在这个阶段与客户的交流十分重要,只有明确了客户的需求,才能制定出正确的计划,才能做出完整的、另其满意的项目,若一开始没有明确客户需求,那我们所追求的目标就是不正确的,制定的计划和努力的方向也随之发生了偏转,最后可能与客户需要的想去甚远,需要重头再来,这样就造成了大量资源、人力、财力的浪费。需求分析完成的好,对今后项目的开发百益而无一害,可以加快设计开发的效率,避免返工,节省时间,避免造成不必要的浪费。

2.2.1  功能需求

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

A.面向普通用户的功能需求

  1. 注册用户

如果用户为非会员用户,通过注册,经审核通过之后成为会员,获得一个登陆身份。

  1. 登录

如果用户已经是注册会员,可以进行登录,登陆后实现别的功能。

  1. 浏览帖子

用户查看系统中的帖子,了解最新的资讯和各种动态等信息。

  1. 发布新帖

用户可以发表一些帖子,来与其他论坛用户共享信息。

  1. 回复帖子

对于自己或者别的会员发表的帖子,可以进行回复。

B.面向管理员的功能需求

1、管理员登录

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

  1. 帖子管理

管理员可以对发表的帖子进行查询、修改、删除等操作,对好的帖子进行标识,删除或转移不适合的帖子。

  1. 模块管理

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

  1. 用户管理

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

C.面向游客的功能需求:

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

2.2.2  非功能需求

动漫论坛系统比较重要的一点莫过于界面的设计,一个动漫论坛是否能吸引用户的第一印象取决于该界面是否友好,因此友好的界面也是该系统必不可少的。与其他论坛系统风格不同的是,动漫论坛要有自己独特的二次元风格,让爱好者有亲切、熟悉的感觉。

  1. 系统开发环境及技术介绍

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和servelet一样都属于“web层”,比起html这种直接把文件传到服务器供用户浏览的“静态网页技术”,JSP属于“动态网页技术”。所谓“动态网页技术”就是根据客户发出的请求来做出响应,并且生成页面并返回给用户。显而易见,比起“静态网页技术”JSP是有很多好处的,比如灵活性和数据保密等方面。当然,也存在着不足,那就是其响应速度相对较慢,因此现在解决这一问题的方法就是把“动态网页”中相对固定的部分作为缓存。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术。

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  系统模块总体设计

九重天动漫论坛系统在设计时应满足以下几个目标:

1.使用人机交互的操作,查询信息快捷,方便后台管理,确保数据库的稳定性,其次是尽可能使界面美观。

2.为用户提供一个方便、快捷的专业特色信息查看功能。

3.实现在线添加专业特色。

4. 操作简单,易于理解,便于使用。

5. 屏幕设计简洁明快,屏幕元素布局合理。

6.用户随时都可以查看自己发表的建议。

7.系统要尽可能的设计成便于管理员维护和方便操作。

8.系统运行稳定安全可靠。

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

功能结构如图4.1.1

4.1.1  普通用户模块设计

  1. 会员注册与登录

访问到论坛主页时,所有用户都默认为游客,只能执行浏览、搜索帖子的功能,希望进行下一步操作需要进行会员登陆。

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

  1. 会员登录

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

  1. 浏览帖子

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

  1. 发表帖子

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

5、回复帖子

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

会员在登录后可进行的操作如图4.1.2所示:

会员

选择专区

发布主题

选择浏览主题

发布回复信息

提交

4.1.2  管理员模块设计

1、 管理员登录

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

2、帖子管理

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

3、分区管理

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

4、版块管理(子版块管理)

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

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

5、用户管理

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

管理员模块设计结构如图4.2.1

4.2  数据库设计

良好的数据库设计,可以大大方便在开发过程中的编程。一个合理、有限的数据库设计可降低程序的复杂性,使程序开发的过程更为容易。

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

MySQL相对来说是个小型关系型数据库管理系统,由瑞典的MySQL AB公司开发,在2008年被SUN公司收购。而2009年,SUN又被Oracle收购.Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL软件采用了双授权政策(本词条“授权政策”),由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

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(用户信息表)

序号

名称

别名

类型

长度

1

id

编号

int

11

2

userName

用户名

varchar

50

3

userPW

用户密码

varchar

50

4

realName

真实姓名

varchar

50

5

email

邮箱

varchar

100

6

userType

用户权限

int

11

7

isDel

删除标记

int

11

该表用于存放用户注册信息

id是t_user表的主键,是表示用户的编号。

userName是用户名,是用户登录所需要的信息之一。

userPW是用户密码,和用户名一起作用于用户登录。

userPW是用户真实姓名,用于用户注册,对管理员可见。

Email是邮箱,用于注册,对管理员可见。

Usertype 是用户类型,用来表示用户的权限,我们设置usertype为0的是管理员,具有更高的权限,usertype为1的是普通用户,只能实现前端的功能。

isDel是删除标记,表示该用户是否被删除,被删除用户发表帖子依旧能显示在论坛中,所以删除用户不是讲用户从数据库中移除,而是将其删除标记置为1。

表2  t_forums(论坛类别介绍表)

序号

名称

别名

类型

长度

1

fid

模块编号

int

11

2

type

类型

varchar

10

3

name

名字

varchar

100

4

fup

上级编号

int

11

5

status

状态

smallint

6

该表用于存放论坛类别介绍

fid是编号,用来表示管理员最近添加或者修改删除的分区、版块、子版块。是该介绍表的主键

Type表示的是类型,用来表示管理员实施操作是对分区、版块还是子版块进行的,通过type表示区分三者。

Name是名称,表示管理员实施操作时的分区、版块及子版块的名称。

Fup表示的上级模块,默认最顶层的为0,即每个分区的上层为0,每个版块的上层对应的编号是每个分区的编号(fid),每个子版块对应的上层编号是每个模块对应的编号(fid)。

Status表示状态,即这些模块存在与否,对于存在的记为“1”不存在的记为“0”.

表3  t_topic(版面信息表)

序号

名称

别名

类型

长度

1

pid

新帖编号

int

11

2

fid

模块编号

int

11

3

author

作者

varchar

100

4

authorid

作者id

int

11

5

subject

标题

varchar

100

6

view

观看

int

11

7

replies

回复

int

11

8

addtime

发表时间

datetime

0

该表用于存放版面信息。

Pid即新帖编号,也就是发布的新的帖子的编号,是该表的主键。

fid是编号,用来表示新帖所属的模块(子版块)。

Author表示发帖的作者名字。

Authorid 表示发帖的作者编号。

Subject 表示发表的新帖子的内容。

View 表示有多少观看量(浏览量)。

Replies 表示回复帖子的数量。

Addtime 表示帖子发布的时间。

表4  t_threads(贴子信息表)

序号

名称

别名

类型

长度

1

tid

帖子编号

int

11

2

pid

新帖编号

int

11

3

fid

题目编号

int

11

4

ftype

类型

int

11

5

author

作者

varchar

50

6

authorid

作者id

int

11

7

subject

标题

varchar

100

8

Content

内容

varchar

10000

9

addtime

发表时间

datetime

0

10

tnum

帖子数量

int

11

该表用于存放贴子信息。

Tid 即帖子的编号,这个帖子可以表示新发布的新帖,也可以表示是回复的帖子,是该表的主键。

Pid 即新帖编号,也就是发布的新的帖子的编号,如果帖子是回复帖子的话,该编号反应的是回复帖子所属于的帖子的编号。

Fid 是编号,用来表示新帖所属的模块(子版块)。

Ftype 表示帖子的类型,如果帖子的类型标志为“0”啧表示该帖是新发布的帖子,如果帖子的类型标识为“1”,则表示该帖子是回复别的帖子的帖子。

Author表示发帖的作者。

Authorid 表示发帖作者的编号。

Subject 表示帖子的题目。

Content 存放帖子的内容。

Addtime 表示帖子发布的时间。

tnum 表示帖子的数量。

论坛中所有的操作所产生的数据如:注册,登录,浏览帖子,发表帖子,回复贴子所产生的数据都需要放到数据库中存储。数据库中以数据表来存放各个功能模块相关的数据,数据库的设计对系统非常重要

数据库设计的合理与否,安全性,稳定性这些方面都直接影响着计算机论坛的运作。一个好的数据库设计方案,能够使网站的效率事半功倍。在对数据库的设计要格外的认真的分析,考虑的要周全细致。

要确定数据库的物理结构,在关系数据库MYSQL中主要是指存取和存储结构。若物理设计满足设计要求,即可实施,否则,需要重新设计或者修改物理结构,严重时甚至需要返回逻辑设计阶段对数据模型进行修改。

数据库是众多用户共享的系统,很多时候对同一关系需要建立多条存取路径才能满足多用户的多种需求。现代技术的飞速发展使得数据库存储变更简单、方便、易行。索引法和聚簌法都可以使物理设计顺利实现。

<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>

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>

毕业设计:基于JSP动漫论坛的设计与实现相关推荐

  1. 毕业设计 基于JSP动漫论坛的设计与实现

    文章目录 前言 一.项目设计 1. 模块设计 2. 实现效果 二.部分源码 项目源码 前言 今天学长向大家分享一个 java web项目: 基于JSP动漫论坛的设计与实现 使用tomcat服务器部署. ...

  2. 基于JSP动漫论坛的设计与实现(含源文件)

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye 基于JSP动漫论坛的设计与实现 摘   要 作为文化产业的一部分,动漫影响了我国一代又一代青少年 ...

  3. 基于JSP动漫论坛的设计与实现(论文+PPT+源码

    基于JSP动漫论坛的设计与实现 摘 要 作为文化产业的一部分,动漫影响了我国一代又一代青少年,据钱江晚报调查显示,有超过七成的95后愿意从事与动漫相关的行业,可见其对青少年影响力之大. 动漫论坛作为最 ...

  4. asp毕业设计—— 基于asp+access的论坛网站设计与实现(毕业论文+程序源码)——论坛网站

    基于asp+access的论坛网站设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的论坛网站设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. 文章目录: 基于 ...

  5. 基于JAVA动漫论坛系统计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA动漫论坛系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA动漫论坛系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  6. 基于javaweb个人网站论坛的设计与实现(源码、论文、毕业设计、数据库文件)

    基于javaweb个人网站论坛的设计与实现 摘要 论坛作为一种新的生活上方式,工作方式和学习方式已经被大众所接受.并且在改变着人们的网络社交方式.随着越来越多的人在写论坛,论坛也正在影响着我们的生活. ...

  7. 【计算机毕业设计】基于JSP的房产中介系统的设计与实现

    分类号:TP315 U D C:D10621-408-(2007) 6032 -0 密 级:公 开 编 号:2003211030 学位论文 基于JSP的房产中介系统的设计与实现 摘要 计算机与通信技术 ...

  8. java毕业设计基于Web的人事管理系统的设计与实现mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计基于Web的人事管理系统的设计与实现mybatis+源码+调试部署+系统+数据库+lw java毕业设计基于Web的人事管理系统的设计与实现mybatis+源码+调试部署+系统+数据库 ...

  9. java毕业设计基于的电商平台的设计与实现Mybatis+系统+数据库+调试部署

    java毕业设计基于的电商平台的设计与实现Mybatis+系统+数据库+调试部署 java毕业设计基于的电商平台的设计与实现Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 ...

最新文章

  1. android平台 arcgisr_ArcGIS Runtime For Android 开发 (7)
  2. 深度解密Go语言之unsafe
  3. UC浏览器电脑版播放视频时出现崩溃怎么解决
  4. 使用CMake与VS2012编译OpenCV3.3.0版本
  5. 矩阵的Cholesky分解
  6. 【NOI OpenJudge】【1.3】编程基础之算术表达式与顺序执行
  7. ACM_一道耗时间的水题
  8. phpstorm激活码生成器地址
  9. linux中高危端口,关闭高危端口方法[转载]
  10. Vue项目实践——实现手机扫描二维码预览页面效果
  11. 1-2 经济学发展史、实证/规范经济学
  12. 【错误记录】Mac 中 Python 报错 ( ERROR: Could not build wheels for numpy which use PEP 517 | 问题未解决 | 问题记录 )
  13. Nginx中root与alias区别
  14. 解决elementUI上传多张图片出现闪动的bug
  15. jQuery的下载与安装
  16. Linux版本Java卸载
  17. 丁小平微积分研究成果刍议
  18. spark livy
  19. win10 系统恢复后右键一直转圈卡死
  20. 什么是独立IP服务器,它有哪些优缺点

热门文章

  1. SSD网络以及FSSD网络结构基于pytorch的搭建
  2. Spotify 模型
  3. CMOS/TTL电平详解
  4. 朗读评价语言集锦_课堂评价语言“集锦”
  5. 实验·搭建LNMP架构的社区动力论坛
  6. 软考(网络工程师)-必备网络知识(笔记三)
  7. SQL map自动注入,利用工具注入
  8. CentOS8搭建apache服务器
  9. NYOJ203-三国志
  10. java:浏览器下载excel模板