admin管理员组

文章数量:1530517

2024年7月11日发(作者:)

动漫网站的设计与实现

目 录

第一章

引言

…………………………………………………1

第二章

系统的概述与工具的选择

………………………………..…………2

2.1 MyEclipse工具介绍.........................................................................................7

2.2 Tomcat服务器介绍...........................................................................................7

2.3 节B/S结构介绍................................................................................................7

2.4 ORACLE数据库...............................................................................................7

2.5 Dreamweaver介绍.............................................................................................8

2.6 JavaScript语言...................................................................................................8

2.7 JSP技术..............................................................................................................8

第三章

系统设计与分析

..........................................................................,,,,,,,,,,,,,9

3.1 需求分析..............................................................................................................9

3.2 可行性分析.........................................................................................................10

3.3 系统设计.............................................................................................................10

第四章

数据库设

计..................................................................................................13

4.1 表的描述.............................................................................................................13

4.2 表间联系.............................................................................................................19

第五章

总体设计

.......................................................................................................20

5.1 定义.....................................................................................................................20

5.2 功能模块描述.....................................................................................................20

5.3 功能模块的数据操作......................................................................................21

第六章 系统实现

....................................................................................................23

6.1 项目包的部署..................................................................................................23

6.2 数据连接与配置..............................................................................................23

6.3 模块和数据操作实现.....................................................................................23

6.4 Webroot文件下的部署....................................................................................23

6.5 前台页面实现...................................................................................................26

6.6 后台登陆实现...................................................................................................34

第七章 系统测试

.....................................................................................................41

7.1 测试方法...........................................................................................................41

参考文献 ………………………………………………………………..44

致 谢

………………………………………………………………………………45

ii / 38

摘 要

在Internet飞速发展的今天,互联网已成为人们快速获取、发布和传递信息

的重要渠道,因此网站建设在Internet应用上的地位越来越重要了。目前

Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金

融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大。动漫设计网

站成为越来越多动漫爱好者和非动漫爱好者获得信息和交流的平台,它满足了广

大用户随时随地进行交流和沟通的需要,为网上用户提供交流场所,实现高效动

态信息交换。

现在虽然有很多动漫网站,但版面千篇一律,缺乏个性化、前瞻性,页面设

计混乱,不利于用户查看,网站的交互性比较差,因此我针对以上问题设计一个

个性化的动漫设计网站。我的目标是做一个网站简单、页面清晰、内容相对全面、

具有个性化、能给用户带来特殊视觉感觉的动漫网站。网站实现的基本模块有显

示动漫新闻和动漫杂谈信息,在线观看动漫影片,留言本等等。动漫爱好者可以

通过前台对自己需要的信息进行查看,可以通过页面上的链接查找其他个性化信

息。留言本更是提供了用户之间交流的平台,用户可以实现实时交流互动。后台

的信息管理,实现对前台信息的及时更新,本网站的主要特色是页面新颖友好,

内容直观,操作简单方便,适用于广大动漫爱好者。

关键词:VC++,C#,ASP,JAVA,ORACLE; B/S开发,客户端,服务器,移植性,编

译。

Abstract

Internet develops very quickly and has become an important channel where people

can gain and transmit information. Therefore the construction of website has become

more and more important. At present there are about 1000000 Website on the Internet.

Beyond the scope of its content such as education and scientific research, culture,

finance, business, press and publishing, entertainment, sports and other fields, Its base

of user is enormous. The site of designing animation will become more and more

animation lovers and non-animation lovers’ access to information and communication

platform. It meets the need of the majority of users who exchange information and

communicate with each other in anytime and anywhere. Internet users can exchange

places and achieve efficient exchange of dynamic information.

Although there are many cartoon website,the page-layout is stereotyped, they are

Lack of personalization and the forward-looking demand, the design of the page is

confused so it does not favor the examination of the user, the interactivation is quite

iii / 38

bad,therefore I design a personalized goal is to make a website that it is

simple, the page is clear, the content is relatively comprehensive, has the

personalization to be able to give the user the special website realizes the

basic function such as the demonstration animation news , the animation chat, message

book and so on. Animation lovers can look over the information on the needs of their

news like animation, cartoon, etc and can find other personalized information. This

message is to provide a platform for exchanges between users. Users can interact in

real-time exchange.

keywords:VC++,C#,ASP,JAVA,ORACLE; B/S,CLIENT,SERVER,TRANSLATION

iv / 38

第一章 引 言

Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各

种规模的网络连接成一个整体。作为Internet上一种先进的,易于被人们所接受

的信息检索手段,World Wide Web(简称WWW)发展十分迅速,成为目前世界上最

大的信息资源宝库。如今,网络技术已经渗入到人们日常生活的每个角落,随处

都可以看到网络的存在,随处都可以享受到网络给我们带来的方便。网络,不仅

仅代表着一项技术、一种应用,更代表着一个时代、一种时尚。随着Internet的

发展,Web技术日新月异,人们已经不再满足于静态HTML技术,更多的是要求动

态、交互的网络技术。

作为动漫爱好者以及动漫专业人员有三个浏览动漫类网页的理由:一、喜欢

动漫希望了解相关动漫信息;二、在线观看动漫;三、相互交流。大约90%左右

的浏览者是出于第一个目的进行浏览的。现在有很多动漫网站,形式统一,给人

感觉整体感强,分类规律,文字颜色统一,有突出重点颜色,网站内容与网站名

称较符合,版面布置有明显规律,分布平均且清晰,细节分类清楚内容合理,但

有些也存在着交互性差,内容杂乱、布局不清晰、不易于用户查看,内容量小、

不能满足用户需求,LOGO无象征性、不易被记住等问题。

因此针对以上现状和问题我们应该设计一个主要功能为显示相关动漫信息、

在线观看动漫、可以进行交流并且交互性强、页面简单清晰但包含信息相对全面、

具有个性的动漫网站。几乎所有的浏览动漫类网站的人都希望了解相关动漫信息,

因此网站的动漫信息显示适合所有年龄的人。个性化的网站更能吸引年轻人,动

漫在线提供更多更好看的动漫,留言本更能促进人们的交流,这也是该系统的特

色。

1 / 38

第二章

系统的概述与工具的选择

作了一个动漫网站,首先布局一定要新颖、有特色,只有这样才能引起用户

的关注,包含的信息要全面才能适合不同需要的人,最大限度的满足人们的需求,

而且要有很强的交互性,交互性差的网站会让用户产生厌烦情绪。当然一个好的

动漫网站还要有很完整的处理信息的功能,以便及时的更新网站中的信息。通过

对用户的调查和对现有的动漫网站的分析,为了满足大多数用户的需求,所以我

的目标是要构建一个页面简单清晰但包含信息相对全面、交互性强、具有个性的

动漫网站。

2.1节 Myeclipse工具介绍

MyEclipse其实只是eclipse工具的其中一个插件而已,它主要是用来进行

Web开发,当然进行标准模式的开发也是可以的,里面只是增加了一些额外的开发

环境.不过尽管Eclipse是用Java语言进行开发的,但是它的用途并不限于Java

语言;例如C/C++,COBOL,等编程语言.与此同时MyEclipse工具最鲜明的一个特点

是用来进行基于三大框架的开发,MVC模式的开发,并且该网站设计系统的

MyEclipse的版本是MyEclipse8.5。

2.2节 Tomcat6.0服务器介绍

在进行Web开发时,由于要先发布所做的系统,所以必须要有一台服务

器,Tomcat就是用来作为其服务器的.Tomcat是Apache的一个子项目,是一个免费

的,开源的,支持JSP和Servlet的容器.并且Tomcat运行时占用系统的资源小,

扩展性好.Tomcat是一个小型的轻量级应用服务器.实际上Tomcat是Apache服务

器的扩展,它是可以独立运行的,所以当运行Tomcat服务器时,它实际上作为一个

与Apache的进程单独运行的。

2.3节 B/S结构介绍

本系统采用B/S结构,即Browser/Server(浏览器/服务器)结构,就是只

安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。它是随

着Internet技术的兴起,对C/S结构的一种变化和改进。主要利用了不断成熟

的WWW浏览器技术,结合多种Script语言和ActiveX技术,是一种全新的软件系

统构造技术。 在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多

服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览

器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和

应用程序的执行等工作全部由Web Server完成。

2 / 38

2.4节 ORACLE数据库

由于大多数用户浏览动漫网页出于三个目的:一、喜欢动漫希望了解相关动

漫信息;二、在线观看动漫;三、相互交流。因此本系统所要实现的主要功能为

显示动漫信息、在线观看动漫、留言本。因为本系统相对来说比较简单,然而存

放的信息比较大,因此我选择存放信息的数据库为ORACLE数据库。ORCLE数据库

是SUN公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),。它提供

了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供

了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操

作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必

编写代码,就可以完成大部分数据管理的任务。

2.5节 Dreamweaver介绍

本系统是跨越平台限制和跨越浏览器限制的充满动感的网页。构建动漫网站

所用的网页编辑器为Dreamweaver,Dreamweaver是美国MA- CROMEDIA公司开发

的集网页制作和网站管理于一身的所见即所得网页编辑器,利用它可以轻而易举

地制作出跨越平台限制和跨越浏览器限制的充满动感的网页

DreamweaverMX是专业网页设计、网站管理、网页可视化编辑的软件。用它

可以制作出非常好的站点,可以快速提升网页制作效率。

2.6节JavaScrip语言

只用Dreamweaver还不能设计出比较完美的具有交互功能的网站,很好的实

现交互功能和网页特效就离不开脚本语言,Javascript是一种解释性的,基于对

象的脚本语言,Javascript主要是基于客户端运行的,用户点击带有Javascript

的网页,网页里的Javascript就传到浏览器,由浏览器对此作处理。它的代码可

以直接嵌入到HTML命令中,最大特点是可以方便操纵网站上的元素,并与Web浏

览器交互,同时JavaScrip可以捕捉用户操作并作出反映。

2.7节JSP技术

一个具有高效交互性的动漫网站离不开JSP技术,所谓的Java Server Pages

即我们所称的 JSP ,其实是一套微软开发的服务器端脚本环境, JSP 内含于 IIS

5.0 和6.0 之中 , 通过 JSP 我们可以结合 HTML 网页、 JSP 指令和 ActiveX

元件建立动态、交互且高效的 WEB 服务器应用程序。有了 JSP就不必担心客户

的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包

括所有嵌在普通 HTML 中的脚本程序。当程序执行完毕后,服务器仅将执行的结

果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的

3 / 38

速度。JSP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML 页面中

的脚本程序得以运行的环境。

当然设计一个网站,以上介绍的工具是不够的,由于篇幅有限就不再介绍。

4 / 38

第三章

系统的分析与设计

3.1节 需求分析

此动漫网站使用Java中B/S的开发模式进行开发的,即web开发,B/S开发

又称之为客户端/服务端模式的开发。此开始模式的一大优点就是利用连接数据库

的方式,将一个个实体进行封装,通过调用底层的数据操作和实体对象实现页面

的动态显示。

此项目的主要任务是:

 实现相关页面的数据验证与跳转

 实现页面中数据的增删改操作

 实现模糊搜索和排行榜的显示

 页面的分页显示实现动态的数据更新。

为了满足广大喜欢日本动漫迷的需要此动漫网站需要实现以下客户需求

 用户浏览的简便、快捷。

 网站的可操作性、主题健康。

 动漫的更新集数、最新更新的动漫。

 用户交互的及时性、实时性。

 用户权限的操作。

 动态搜索数据、分类搜索、分页查询。

 网站论坛的实现、论坛实行积分制。

 说明文档。

3.2节 可行性分析

动漫网站给用户提供了获取动漫信息和交流的平台。

(1)经济性

服务器端的安装简洁明了,客户机无需再装任何软件,通过浏览器就可以直

接访问,可以直接接入Internet,无论您身在何处,只要您可以访问Internet

都可以使用本系统。

(2)技术性

动漫网站设计和开发紧跟时代发展潮流,采用当时先进的设计思想,利用人

们让所熟悉的开发技术和开发工具。多媒体技术的应用也是本系统一大特点。

(3)硬件及软件

硬件平台:

CPU:P41.8GHz。

内存:1GB以上。

软件平台:

5 / 38

操作系统:Windows XP,Windows Server 2003,Windows 7.

数据库:ORACLE 10g。

浏览器:IE5.0,推荐使用IE6.0。

Web服务器:IIS5.0。

分辨率:最佳效果1440×900像素。

3.3节 系统设计

动漫网站是一个典型的网站,由前台浏览和网站后台管理两大部分组成。

(1) 前台功能模块

前台主要包括动漫首页、动漫新闻、动漫杂谈、动漫在线、留言本以及一些

热门动漫网站和非动漫网站链接。首页是一个网站的起点,它展示了网站的整体

风格,是否能吸引用户首页起着重要的作用。动漫新闻和杂谈模块主要用于显示

动漫信息,便于用户浏览。动漫在线是为喜欢看动漫的人准备的,因为现在喜欢

观看动漫的人快速增加,这已不再只是年轻人的喜好。留言本让动漫爱好者和动

漫专业人员得到更多帮助。

(2) 后台管理模块

后台主要包括后台登录模块、动漫新闻管理、动漫杂谈管理、动漫在线

管理、管理员信息管理、退出后台。后台主要对前台的信息进行管理,管进员可

以通过后台对前台的信息进行添加、修改、删除等操作,以便及时更新数据库的

内容,从而更新前台信息,让用户能及时了解动漫信息。

网站的前台系统功能结构如图3-1所示。

动留 热

漫言 门

在本 网

线 站

动漫首页 动漫新闻 动漫杂谈 动漫在线 留言本

热门网站

前台系统设计

图3-1前台系统功能结构图

动漫网站前台主要功能简述:

 网站导航:主要包括网站的旗帜广告条、主功能导航两部分。主功能

导航包括 五部分,动漫首页、动漫新闻、动漫杂谈、动漫在线。

 动漫新闻模块:主要功能显示新闻列表。点击相应的列表进入显示新

6 / 38

闻内容页面。

 动漫杂谈模块:主要用于显示杂谈列表。点击相应的列表进入显示杂

谈内容页面

 动漫在线模块:主要用于显示动漫片列表。点击列表可以进入相应的

页面查看动漫的简介信息,还可以在线观看动漫。

 热门网站模块:为用户进入热门网站提供入口,使动漫爱好者不仅能

获得动漫信息,而且更加方便的获取其他的感兴趣的信息。

 后台登录入口:为用户进入后台提供一个入口,以便管理员能对信息

进行管理,防止非管理人员进入后台修改信息,造成无法弥补的后果。

网站的后台系统功能结构如图3-2所示。

线

退

后台系统设计

图3-2 后台系统功能结构

网站的后台很重要,它实现信息的管理功能,管理你网站前台所有信息操作

比如新闻信息、杂谈和动漫影片的发布、修改、删除,一个好的后台可以轻松的

管理你网站上的所有内容信息,后台管理主要包括以下功能模块

 登录模块:主要用于管理员登录网站后台。验证进入者身份,非管理员不

得进入,因为后台信息的修改对整个网站起着决定作用。

 动漫新闻管理模块:主要用于对动漫新闻信息的修改、添加、删除。

 动漫杂谈管理模块:主要用于对动漫杂谈信息修改、添加、删除。

 动漫在线管理模块:主要用于对动漫影片修改、添加、删除。它可以修改

影片的简介信息,还可以修改影片播放路径等信息。

 返回网站首页模块:主要用于返回网站首页。

 管理员信息修改模块:主要包括管理员信息修改。

 退出后台管理模块:退出后台管理系统。

7 / 38

第四章 数据库设计

4.1节 表的描述

4.1.1节 用户表(users)

由于整个网站是建立在用户的基础上的,所以必须要有用户登录的信息,所

以此用户表是用来进行用户的登录和注册,记录登录的用户身份和一般信息,例

如用户积分、登录状态等等,又例如一些操作的权限也必须是特定的用户进行操

作的,见表4-1用户表。

表4-1 用户表

字段

USERID

USERNAME

USERPWD

USERNAME2

HEAD

BIRTHDAY

REGTIME

SEX

INTERGAL

类型

INT

VARCHAR2

VARCHAR2

VARCHAR2

VARCHAR2

DATE

DATE

INT

INT

长度

4

20

20

20

20

/

/

4

4

是否为空

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

null

null

是否主键

说明

用户编号

用户名

密码

姓名

头像

出生日期

注册日期

性别

等级

4.1.2节 主贴表(topic)

用户在论坛中进行一些留言操作时,也会有自己的信息,并且此发帖人也应

该在某一个特定的板块中的,不可能同时在几个不同的板块之中的。另外,在点

击某一个板块时,应该显示一些发帖人的信息,这些信息,包括图片,留言时间,

点击数等。见表4-2主贴表。

表4-2 主贴表

字段

TOPICID

TITLE

USERID

BOARDID

PUBLISHTIME

MODIFYTIME

REPLYCOUNT

CLICKCOUNT

类型

INT

LONG

INT

INT

DATE

DATE

INT

INT

长度

4

255

4

4

/

/

4

4

是否为空

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

8 / 38

是否主键

说明

主帖编号

标题

用户编号

版块编号

发帖时间

修改时间

回复数

点击数

FONTSIZE

FONTCOLOR

BOLD

ITALIC

UNDERLINE

INT

VARCHAR2

INT

INT

INT

4

20

4

4

4

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

字体大小

字体颜色

是否粗体

是否斜体

是否离线

4.1.3节 回帖表(reply)

既然有发帖人信息,应该也有跟贴人的信息,此时跟贴人是依赖于发帖人的,

点击发帖人时,也应该显示相应的跟贴人信息。并且此时跟贴人信息,应该是一

级一级的形式显示,将最近跟贴人的信息优先显示。见表4-3回帖表。

表4-3 回帖表

字段

REPLYID

TITLE

USERID

TOPICID

PUBLISHTIME

MODIFYTIME

FONTSIZE

FONTCOLOR

BOLD

ITALIC

UNDERLINE

类型

INT

LONG

INT

INT

DATE

DATE

INT

VARCHAR2

INT

INT

INT

长度

4

255

4

4

/

/

4

20

4

4

4

是否为空

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

是否主键

说明

回帖编号

标题

用户编号

主帖编号

发帖时间

修改时间

字体大小

字体颜色

是否粗体

是否斜体

是否离线

4.1.4节 等级表(grade)

当用户积分达到一定程度时,等级应该会增加,这和QQ升级的原理差不多的。

并且当用户等级上升到一定程度时,用户的操作权限应该也会随之改变。见表4-4

等级表。

表4-4 等级表

字段

GRADEID

GRADENAME

类型

INT

VARCHAR2

长度

4

20

是否为空

NOT NULL

NOT NULL

是否主键

说明

等级编号

等级名称

4.1.5节 动漫表(anime)

由于此网站是动漫网站,所以动漫表的设计,是为了让用户进行浏览观看动

漫的,并且,管理员也可以发布动漫、删除、修改等相关信息。见表4-5动漫表。

表4-5 动漫表

字段 类型 长度 是否为空 是否主键 说明

9 / 38

animeid

animename

animepic

INT

varchar2

varchar2

4

40

40

NOT NULL

NOT NULL

NOT NULL

动漫编号

动漫名称

动漫图片

4.1.6节 漫画内容表(catoon)

在发布漫画时,由于是分级数和更新时间进行发布的,所以,为了方便显示

每次发布的集数,用自动增长的序列表明集数,并且集数最新的应该在列表中优

先显示。见表4-6动画内容表。

表4-6 漫画内容表

字段

catoonid

catoontitle

updatetime

animeid

countid

类型

INT

varchar2

DATE

INT

INT

长度

4

40

/

4

4

是否为空

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

是否主键

说明

卡通编号

标题

更新时间

动漫编号

自动序列

4.1.7节 影片表(film)

发布影片和上述表的功能类似,也需要自动增长序列,来表明发布影片的集

数。见表4-7影片表。

表4-7 影片表

字段

filmid

filmbrief

updatetime

animeid

countid

类型

INT

LONG

DATE

INT

INT

长度

4

255

/

4

4

是否为空

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

是否主键

说明

影片编号

影片简介

更新时间

动漫编号

自动序列

4.1.8节 漫画图片表(catoonpic)

为了保存漫画图片,单独设计成一个表格,等到要用和图片扩展时,可以在

数据库中进行更新,然后再进行图片发布操作。见表4-8漫画图片表。

表4-8 漫画图片表

字段

picid

catoonid

picurl

类型

INT

INT

varchar2

长度

4

4

40

是否为空

NOT NULL

NOT NULL

NOT NULL

是否主键

说明

图片编号

卡通编号

图片路径

10 / 38

4.1.9节 下载类别表(downloadclass)

为下载资源信息添加一些类别信息,见表4-9下载类别表。

表4-9 下载类别表

字段

gameclassid

gameclassname

类型

INT

varchar2

长度

4

40

是否为空

NOT NULL

NOT NULL

是否主键

说明

下载类别编号

类别名称

4.1.10节 资源表(download)

用户除了可以在线观看时,也可以下载观看,并且可以根据动漫类别的不同,

选择相应的动漫进行下载和在线观看。见表4-10资源表。

表4-10 资源表

字段

downloadid

gameclassid

brief

updatetime

countid

downcount

类型

INT

LONG

INT

INT

DATE

DATE

长度

4

255

4

4

/

/

是否为空

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

是否主键

说明

资源编号

下载类别编号

简介

更新时间

自动序列

下载数

4.2节 表间联系

对于论坛模块来说,用户表和板块表、主贴表、回帖表是通过用户编号外连

接的。

板块表和主贴表是通过板块编号进行外键约束的,主贴表和回帖表是通过主

贴编号进行外键约束的,另外由于板块表中有一些是代表父板块编号的,必须要

用一个特殊的int型来标记,由于序列的最小值是1,所以,用0可以代表父板块

编号。

对于动漫模块,各模块也是通过外键进行约束的,在进行表间联系时,要注

意范式的规范性。

11 / 38

第五章 总体设计

5.1节 定义

动漫网站系统:用户操作、数据操作、数据增删改查操作等构成整个系统。

总体设计:主要是划分为不同的模块,以及模块之间的接口以及对模块的物理元

素的描述

5.2

功能模块的描述

(1)IPO图:见表5-1。

表5-1 IPO图

输入

用户信息

数据操作

数据显示信息

页面操作信息

(2)数据字典 :见表5-2。

表5-2数据字典

系统:动漫网站系统 作者:车燕

用户表

主贴表

回帖表

等级表

动漫表

被调用: 漫画内容表

影片表

漫画图片表

下载类别表

资源表

输入:

输出:

处理:

用户信息、数据操作、数据显示信息、页面操作信息

有效信息、有效操作、有效数据、有效页面

验证处理、数据处理、页面处理

调用:

用户操作

数据操作

页面操作

编号: 日期:2012-2-17

处理

验证

验证

数据获取

验证跳转

输出

有效信息

有效操作

有效数据

有效页面

12 / 38

(3)功能需求与模块:见表5-3。

表5-3功能需求模块

模块

身份验证模块

数据操作模块

页面操作模块

实体Bean模块

Action模块

(4)接口设计

外部接口与内部接口

 要避免模块过少的情况,这样的话模块间的独立性将会降低。

 不宜将模块分解的过多,否则接口将会变得复杂;要尽量做到低耦合

高内聚。

(5)补救措施

备份系统内部数据库,以便系统故障后能恢复。

5.3节 功能模块的数据操作

(1)实体bean模块

 编写实体属性,要和数据表的字段相对应,并且要有注释。

 编写无参、有参构造方法;自动写入的列,没有必要传入参数。

 编写setter、getter方法。

 重写对象的equals方法,返回值是Boolean型。

(2)数据操作模块

 根据文章类别编号、和当前页数进行分页查询。

 根据文章类别编号查询发表的文章数。

 根据文章类别编号查询文章发表时间排序的文章集合。

 根据文章类别查询文章集合。

 根据文章编号查询文章。

 发表文章。

 根据文章编号发表文章。

 删除文章。

 查询最近发表的文章。

 查询文章排名集合。

其余的一些数据涉及到的数据操作和上述基本类似,在此不再累述。

(3)身份验证模块

 根据用户是否为管理员进行发布信息、修改、删除信息的权限操作。

13 / 38

功能

验证信息

数据的显示

页面显示

实体的建立

页面的中转站

 进入论坛时,进行用户登录信息的验证,登录后才可以进行留言等操

作。

 用户管理员进行后台管理等一系列操作。

(4)页面操作模块

 数据经过查询后的操作。

 页面数据的分页显示,模糊查询、搜索、及时更新数据操作。

 进行用户信息验证进行权限的设置与操作的相关功能。

 页面数据操作的跳转验证、如发布、修改、删除信息等操作,其中尤

其 是涉及到数据的级联操作,一般的方法是,先进行字表中的数据删

除,然后再进行主表中数据的删除。

 在进行页面切换时,需要进行大量的参数传递与接受,必须要注意的

是参数的传入又是需要进行大量的查询,在进行非空值检查后,才可以进

行参数的传递。

14 / 38

第六章 系统实现

6.1节 包部署

各个包,用来存放实体、数据操作类、接口等等这些包均在src源文件夹下。见

表6-1表部署表。

表6-1包部署

包名

t

6.2节 配置数据连接

描述

存放实体

数据操作实现

接口

测试数据操作

功能

数据表的映射

数据库连接、数据操作的

功能

规范数据操作

测试运行数据

其中:driver-------------数据驱动名称,在此用的是oracle

url-----------------数据库的链接路径

username---------数据库使用者

password---------密码

pagecount--------用来分页显示的每页的数据显示条数

driver=Driver

url=jdbc:oracle:thin:localhost:1521:数据库实例名

username=tom

password=tom123

pageCount=10

6.3节 模块和数据操作实现

(1)bean实体的编写,属性、方法Getter、Setter

(2)接口编写,以文章类接口为例

接口:所谓接口它就是一系列的规格标准与规范,因此我们可以推测得到接口

不仅可以扩充,也可以用来实现多个不同的实例,这就是多态,并且我们可以在实

15 / 38

现接口的同时还可以继承父类,但是应该有一个先后顺序,即先继承后实现。

编写接口的注意点:

 接口中的每一个方法结束时,应该以分号作为结束。

 接口中的方法名不可以重复,也就是说接口中的方法不能重载。

 在实现接口时,接口中的每一个方法都必须实现。

 可以在实现累中增添额外的实现方法,接口中可以没有必要声明。

public interface IArticle

{

//根据文章编号查询所有文章(分页)

public List

findArticleListArticleClassId(int articleClassId,int page);

//发表文章

public boolean publishArticle(Article article);

// 根据文章编号修改文章

public boolean modifyArticleById(int articleId,Article article);

//根据文章编号删除文章

public boolean deleteArticleById(int articleId);

}

(3)数据操作的实现,以文章数据操作为例(以分页查询为例)

实现原理:要实现分页,就必须知道一共有多少条数据,这个可以由count

查询语句得到;还要知道要分多少页数,这个参数是从外部通过计算而来的;另

外由于在整个应用程序中每条数据是根据类别来获取显示数据的,所以也还需要

类别编号作为外部传入参数。

由于要实现分页显示,要知道起始页和最大的数据条数显示,这两者与页数

有以下的计算关系:

起始显示数=(页数-1)*总条数+1

最大显示数=查询得到的总条数

public class ArticleDao extends BaseDao implements IArticle

{

private Connection conn;

private PreparedStatement pstm;

private ResultSet res;

//根据文章编号查询所有文章(分页)

public List

findArticleListArticleClassId(int articleClassId,int page)

{

List

list=new ArrayList
();

int pageCount=eCount();

16 / 38

try

{

conn=getConnection();

pstm=eStatement("select * from (select rownum as r,t.* from (select * from article

order by updatetime desc) t where articletypeid=?) t1 where t1.r between"+" "+((page-1)*pageCount+1)+" and

"+page*pageCount);

}

//注入外部参数

(1,articleClassId);

res=eQuery();

while(())

{

}

Article article=new Article();

icleId((2));

icleTypeId((3));

le(ing(4));

tent(ing(5));

rId((6));

ateTime(new Timestamp(e(7).getTime()));

ckCount((8));

(article);

catch (ClassNotFoundException e)

{

}

tackTrace();

catch (SQLException e)

{

}

tackTrace();

finally

{

try

{

}

closeAll(conn, pstm, res);

catch (SQLException e)

17 / 38

}

{

}

tackTrace();

}

return list;

}

(4)测试数据略...

6.4节 Webroot文件夹

用于业务逻辑的集中处理。见表6-2文件夹表

文件夹

action

css

image

js

media

page

描述

页面中转的集中处理

编写css样式

图片的存放

脚本的编写

存放流媒体文件

业务逻辑处理的页面

6.5节 前台主页面的数据呈现(主要是功能代码)------

前台数据的显示要求:前台中所有数据都应该来自于数据库中的数据,这些数

据 包括:

 漫画的更新情况。

 动漫的更新集数。

 图片的显示。

 商品信息的显示。

 最近更新的动画或动漫。

 最受欢迎或畅销的商品信息。

18 / 38

前台数据的显示涉及到大量的数据查询,这些查询无非是根据数据的显示要

求进行相关的数据查询,查询方式如下:

 根据更新时间进行查询。

 根据最近更新时间显示查询的单个数据。

 以遍历表格单元格的形式将查询得到的数据显示在表格中。

 排行榜的数据显示,需要根据热度进行数据查询。

 以分页的方式,显示查询得到的数据。

 数据的增删改查询。

 数据的及时更新,模糊查询,搜索信息。

6.5.1 漫画的最新更新的前九条数据

见如图6-3漫画排行榜:

图6-3 漫画排行榜

<%

//查询catoon集合

List catoonList=toonList();

for(Catoon catoon:list)

{

%>

  

href="page/">[漫画]<%=meName() %>第<%=ntId() %>话:

<%=oonTitle() %>

<%

}

%>

6.5.5 显示最近更新的动漫

见如图6-8 最近更新动漫

19 / 38

图6-8 最近更新动漫

<%

FilmDao filmDao=new FilmDao();

for(Anime animeInfo:aniTypeList)

{

//根据动漫类别编号查找最近更新影片

Film film=srtFilmListByAnimeId(meId());

%>

 [在线

观看]<%=mBrief() %> 第<%=ntId() %>话

<%

}

%>

6.5.2 显示最近的漫画集数

动画

<%=meName() %>第

<%=ntId() %>话 <%=ateTime() %>

6.5.3 从数据库中获取最近更新的图片以及相关图片的说明

见如图6-5 图片即时更新

20 / 38

图6-5 图片及时更新显示

<%

GoodsTypeDao typeDao=new GoodsTypeDao();

List typeList=odsTypeList();

for(GoodsType type:typeList)

{

Goods goods=srtGoodsListByAnimeId(dsTypeId());

//根据商品类别编号查找商品

%>

%>">&goodsCount=<%=shopCount

src="image/product/product<%=dsTypeId() %>_2/<%=Url() %>">


[<%=dsName() %>]

展品售价:<%=ce() %>

<%

}

%>

6.5.4 显示最近推荐的商品

见如图6-7 热销商品

图6-7 热销商品

<%

List initList=odsListByTypeId();

for(Goods goods:initList)

{

%>

src="image/product/product1_1/<%=Url() %>" border="0"/>

21 / 38

<%=dsName() %>

<%

}

%>

由于本网站设置了用户登录的权限,只有登陆过的用户才可以浏览网页,所以

以下的数据呈现都基于此

6.5.8 以木叶影院例

1.优先显示全部影片信息,以分页的方式呈现

分页显示的注意点:

 首先要显示总数据。

 显示总页数。

 显示每一页的页标。

 由于点击每一个页标时需要显示对应的数据,此时需要以参数传入的

方式,查询出每一页对应的数据。

 传入的参数以键值对的方式显示。

见如图 6-9 影片分页显示

图6-9 影片分页显示

//每个动漫的影片总数

int num=lmCountByAnimeId(animeId2);

//每个动漫影片的页数

int pageCount2;

if(num%count==0)

{

pageCount2=num/count;

}

else

22 / 38

{

pageCount2=num/count+1;

}

//上一页

int backPage2=pageId2-1;

//下一页

int nextPage2=pageId2+1;

if(backPage2<1)

{

backPage2=1;

}

if(nextPage2>pageCount2)

{

nextPage2=pageCount2;

}

<%

if(ameter("animeId")==null)

{

%>

首页

一页

下一页

尾页

<%

}

else

{

%>

首页

上一页

下一页

尾页

<%

}

%>

<%

23 / 38

if(ameter("animeId")==null)

{

for(int i=1;i<=pageCount;i++)

{

%>

<

ahref="page/?pageId=<%=i %>"><%=i %>  

<%

}

}

else

{

for(int j=1;j<=pageCount2;j++)

{

%>

<%=j %>  

<%

}

}

%>

动漫在线模块主要包括显示动漫片列表、观看动漫两个部分。

点击动漫在线按扭,进入动漫在线页面,可以查看动漫列表,通过点击动漫

图片可以进入动漫介绍页面,点击相应的集数可以在线观看动漫。

动漫在线模块显示动漫列表和动漫介绍的设计与实现和动漫新闻及动漫杂谈

相似,都是显示其相应的列表和内容,代码也相似,不同的是动漫在线模块有可

观看动漫的功能。点击第几集的按扭可观看相应动漫。页面效果如下图3-8。

此播放器播放格式为wmv的文件,播放文件的路径存在数据库zizhu中的play

表中,路径的格式为:测试服务器路径开头/文件路径,我的测试服务器路径开头

是,存放影片文件路径是play/影片名.wmv。播放器中执行获得播放路径的代码

为value="?id=<%=tring("id")%>",执行文件为

,其他的代码为播放器的基本设置。

此页面的主要代码如下:

codebase="" type="application/x-oleobject"

width=450 height=360 align="middle"

24 / 38

standby="Loading Windows Media " id="mePlay" style="border:1px solid #666666;">

">

6.6节 后台管理

6.6.1登录界面

登陆窗体的注意点:

 用户名必须先验证后,并且登陆成功后,才能登陆到后台的管理信息。

 验证码的实现。

 验证码的刷新功能。

 用户输入错误后验证码的更新。

 验证码前景色和背景色,线条的实现。

 验证验证码的输入。

登录界面见如图6-10 登录界面

图6-10 登录界面

验证码: 25 / 38

none;">看不清,再换一张

输入验证码:

<%

if(ribute("msg")!=null)

{

%>

<%=ribute("msg") %>

<%

}

%>

(1)以键值对的方式实现刷新功能

(2)产生验证码以及前景色、背景色的一些特效

<%

//验证码的宽度

int width=100;

//验证码的高度

int height=25;

//验证码字符串

String s="";

//验证码出现范围的数组

26 / 38

char[]

code={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8',

'9'};

//获取4位随机数

Random random=new Random();

for(int i=1;i<=4;i++)

{

}

//保存验证码

ribute("code",s);

//创建缓存图像

BufferedImage image=new BufferedImage(width,height,_INT_RGB);

//创建图像

Graphics2D graph=Graphics();

//设置背景色

or();

//设置绘图区域

ct(0,0,width,height);

//创建字体

Font font=new Font("宋体",+,height-5);

//设置图像的字体

t(font);

//设置边框颜色

or();

//绘制边框 前两个参数为起始坐标 后两个参数为边框的宽和高

ct(0,0,width-1,height-1);

//设置文字颜色 setColor根据图形现有内容决定为哪个部分着色 先背景,再边框,后文字

or(getColor());

//输出验证码

char c;

for(int i=0;i<();i++)

{

}

c=(i);

ring(c+"",25*i+5,20);

s+=code[t()];

27 / 38

//输出干扰线

or();

for(int i=1;i<=30;i++)

{

}

//创建输出流

OutputStream output=putStream();

JPEGImageEncoder imageEncoder=JPEGEncoder(output);

(image);

//关闭输出流

();

//清空页面输出缓存

();

//重新创建输出

out=dy();

%>

<%!

//获取验证码字符的颜色

private Color getColor()

{

Random random=new Random();

//定义色差值

int red;

int green;

int blue;

//通过随机数获取色差值

red=t(255);

green=t(255);

//线条起点的位置

int startX=t(width);

int startY=t(height);

int endX=t(5);

int endY=t(5);

//随机线条颜色

or(getColor());

//绘制线条

ne(startX,startY,startX+endX,startY+endY);

28 / 38

%>

}

blue=t(255);

//返回颜色

return new Color(red,green,blue).brighter();

(3)验证验证码

<%

String code=ribute("code").toString();

n(code);

String inputCode=ameter("inputCode");

n(inputCode);

if(IgnoreCase(code))

{

//保存验证码输入

ribute("msg","输入正确");

//跳转

uestDispatcher("").forward(request,response);

}

else

{

ribute("msg","输入错误");

uestDispatcher("").forward(request,response);

}

%>

(4)登录成功后,显示登录信息 见如图5-11 登录信息

图6-11 显示登录信息

<%

User userInfo=(User)ribute("loginUser");

n(rName());

%>

29 / 38

width="100%" height="100%">

" width="60" height="60"/>


<%=rName() %>已登录


积分: <%=egral() %>


注册日期:<%=Time() %>

<%

}

%>

6.6.2 影片管理

1.发布影片 见如图 6-12 影片发布

图6-12 影片发布

30 / 38

<%

//根据编号获取类别名称

Anime getName=imeByAnimeId(animeId2);

%>

type="radio" name="type"

value="<%=meName() %>"/><%=meName() %>

2.删除影片 (存在主表子表的关系时,要注意删除的先后顺序)

<%

FilmDao filmDao=new FilmDao();

//设置request的字符集编码

racterEncoding("utf-8");

//获取传入的影片编号

int filmId=nt(ameter("filmId"));

int animeId=nt(ameter("animeId"));

//删除

if(FilmById(filmId))

{

//跳转页面

direct("../page/?animeId="+animeId);

}

%>

影片的发布与删除,进行数据数据操作中最基本的操作,由于在此网站中的信

息发布都是基于类别信息来进行发布的,所以在进行操作的过程中,需要根据类别

来进行影片的发布与删除,尤其在进行删除操作时,如果被删除的数据在映射的数

据表中存在着和其他表相关连的列,此时必要先删除此关联列在另外一张表中是

主键的数据表中的信息,然后才可以进行删除操作.

31 / 38

第七章 系统测试

系统测试是系统开发过程的重要组成部分,是用来确认一个系统的品质或性

能是否符合开发之前所提出的一些要求。系统测试就是在系统投入运行前,对系

统需求分析、设计规格说明和编码的最终复审,是系统质量保证的关键步骤。系

统测试是为了发现错误而执行程序的过程。

7.1节 测试方法

测试的方法可分三种:传统的测试方法、功能验证、系统测试。

传统的测试方法包括某种形式的简单单元测试,通常由开发人员执行。设计

这些测试需要了解系统的内部知识,并且这些测试几乎总是针对产品的非常小的、

特定的部分。这些类型的测试非常适合与其他代码组件极少交互,甚至没有交互

的简单部分。

功能验证也是一种测试过程,在这个过程中,对产品源代码了解有限的设计

者进行测试以确认产品或服务的核心功能。设计这种测试是为了证明这个核心功

能符合某个规范。举个例子,登录时输入的邮箱错误时是不是有提示?如果测试

失败,通常就意味着检测到了系统的一个基本问题。这种测试也是适合简单的 Web

服务,使您可以检查服务是否能够正确执行它的各个功能。

系统测试通常是在功能验证阶段完成,验证了核心功能后进行。它倾向于把

整个系统作为一个整体来查找问题。弄清Web服务作为系统的一部分怎样运作,

以及Web服务相互之间如何交互。由于系统测试是在开发生命周期快结束时才进

行,所以通常不能给它分配足够的时间来完成。系统测试阶段经常被忽略,并且

一些通常都可以发现的、少见的错误都不能被检测到。即使发现了这种错误,这

时也来不及确定错误的原因并设法修复它们了。因此,在查找代码错误时,必需

把系统测试应用设计得尽可能高效。

另外测试方法中的另外的两个测试方法是:黑盒测试和白盒测试.所谓的黑盒

测顾名思义,测试时只关心接口的设计与测试,也可以称为接口测试.而白盒测试

恰恰相反,它测试的所关注的是系统内具体的结构和功能实现,从而从中找出缺陷,

因此白盒测试又可以称为功能测试.此外,白盒在用户需求就已经开始进行了,一

直到详细设计于实现部分,到了后期,只能用黑盒测试时,尤其是集成和系统测试

时最能够被体现.

32 / 38

参考文献

1.《动画的时间掌握》,中国电影出版社翻译,约特克和约翰.拉思合著。

2.刘京华.Java Web 整合开发 王者归来.2011-11.2010年一月第一版.清华大学

出版社.P345

3.《Oracle J2EE应用开发 》)克里斯那 等著,周悦芝 译

4.《 JSP开发王 》 张亚飞 编著 电子工业出版社 2008-7-1

5.[033834-01]刘京华.Java Web 整合开发 王者归来.2011-11.2010年一月第一

版.清华大学出版社.P621-625

6.[0789056]

社.P626-634

7.[102-9078]Bruce 编程思想第二版.智慧东方出版社.P706

P711-712

8.《动漫设计》重庆大学出版社,陈昌柱、王飚、王桥编写。

9.《场景设计》四川美术出版社出版,江辉编写。

10.《CG插画技法》海洋出版社出版,陈惟编写。

11.《影视动画非线性编辑》海洋出版社出版,陈明红编写。

12.《Flash CS4动画制作项目实训教程》北京交通大学出版社,李占平,荣冬艳主

编,2010.6

13.《Flash8标准教材》科学出版社,李占平,卜耀平主编,2007.4

14. 焚水.影视动画短片制作基础.北京:海洋出版社,2005.仍第116页

15. 韩笑.影视动画场景设计.北京:海洋出版社,2加6.00第1页

刘中兵.Java Web主流框架整合开发

(J2EE+Struts+Hibernate+Spring)(第2版).2011年3月.电子工业出版

致 谢

33 / 38

这篇论文的选题与写作是在桑红燕老师的悉心指导与帮助下完成的, 从语言

的表达到结构的调整, 以及格式的规范, 倾注了桑老师的无限心血. 在此向桑老

师表示我衷心的感谢. 桑老师严谨的治学的态度、创新的教学理念、精益求精的

研究精神令我感动,我想也令我受益终生. 她为人真诚,对工作兢兢业业,是我

学习的典范. 这一切都是无法用文字来表达的. 再次对桑老师表示最诚挚的谢意

和祝福!

在即将毕业之际,我的心情无法平静。从我来到了聊城大学数学科学学院学

习. 在这四年的学习过程中,有很多可敬的师长、同学、朋友给了我无言的帮助,

在这里请接受我诚挚的谢意!最后我还要感谢培养我长大含辛茹苦的父母,谢谢

你们!

最后祝母校聊城大学桃李满天下!

34 / 38

本文标签: 动漫网站数据信息用户