基于Jsp的论坛设计与实现.docx
- 文档编号:2369824
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:29
- 大小:446.63KB
基于Jsp的论坛设计与实现.docx
《基于Jsp的论坛设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Jsp的论坛设计与实现.docx(29页珍藏版)》请在冰点文库上搜索。
基于Jsp的论坛设计与实现
基于Jsp的论坛设计与实现
【摘要】
随着Internet技术的快速发展,人与人之间交流方式逐渐增多。
网络聊天,博客已成为人们彼此沟通、交流信息的主要方式。
此外为了方便大家在某一专业领域探讨问题和发表意见,网络上出现了在线论坛。
在论坛上,人们可以对某一领域的问题提出自己的个人意见和遇到的问题,即发表某一主题,随后,在论坛上的其他人会根据自己的经验、学识发表意见或提出解决问题的方法。
本论坛包括用户的注册登陆,用户信息的管理,生物特征识别论坛主体,上传,下载五大块儿功能,分别针对五大块进行功能的详细实现,本论坛的设计主要采用MyEclipse8.5工具结合使用oracle10g以及tomcat等技术的工作原理及特点,并以此理论技术依据阐述了基于java的生物特征识别论坛的设计与实现。
【关键字】
交流论坛;在线论坛;jsp;数据库
BBSdesignandimplementationbasedonJSP
Abstract:
WiththerapiddevelopmentofInternettechnology,meanscommunicationbetweenpeopleisgraduallyincreasing.Webchat,bloghavebecomethemainformsofexchanginginformationwitheachother.Inaddition,inordertoprovideeverybodyaprofessionalfieldtodiscussproblemsandmakecomments,thenetworkappearedonlineBBS.IntheBBS,peoplecanputforwardtheirownopinionsandproblemsinthefield,namelypublishedatheme,thentherestoftheforum,makingcommentsorraiseproblembasedontheirknowledgeandexperience.ThisBBSincludeuserregeister,login,userinformationmanagement,BBScommunicationpart,upload,downloadthisfiveparts.Forfivepartstorealizedthefunction,thisBBSdesignmainlyuseMyEclipse8.5,oracle10g,tomcatsoftware.ThisBBSofdesignandimplementationbasedonJava.
Keywords:
bbs;on-linebbs;database;jsp;
目录
摘要I
Abstract:
II
1论坛的框架模型-1-
1.1基于MVC体系结构模型-1-
1.2访问数据库的原理-1-
2系统的分析-3-
2.1系统的总体调查-3-
2.2系统的需求分析-3-
2.3可行性分析-3-
2.3.1技术可行性-4-
2.3.2运行可行性分析-4-
2.3.3经济可行性分析-4-
2.3.4法律可行性分析-4-
2.4系统开发工具-4-
2.4.1开发工具简介-4-
2.5开发设计思想-5-
2.6功能分析-5-
2.6数据流程分析-6-
3系统的设计-10-
3.1系统数据库设计-10-
3.1.1数据库需求描述-10-
3.2系统数据库结构设计-10-
3.3数据库逻辑结构的创建-12-
3.4系统功能模块的设计-14-
3.4.1注册模块设计-14-
3.4.2登陆模块-16-
3.4.3用户信息修改模块-16-
3.4.4论坛主体模块-17-
3.4.5上传资源模块-18-
3.4.6下载资源模块-19-
3.4.7管理员模块-19-
4系统的实现-21-
4.1系统开发和运行环境选择-21-
4.2系统界面的实现-21-
5系统的测试-23-
5.1测试环境-23-
5.2.1基本测试-23-
5.2.2单元测试-23-
5.2.3集成测试-23-
5.2.4确认测试-23-
5.3系统维护-23-
5.3.1完善性维护-23-
5.3.2适应性维护-24-
6总结-25-
参考文献-26-
致谢-27-
1论坛的框架模型
1.1基于MVC体系结构模型
MVC体系主要由三部分组成:
Model层,View层,Controller层。
使用MVC应用程序被分成三个核心部件:
模型、视图、控制器。
它们都是各自处理自己的任务。
视图是用户看到的并与之交互的界面。
对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要角色,但如今一些新的技术层出不穷,它们包括MacromediaFlash和象XHTML,XML/XSL,WML等一些标识语言和Webservices。
如何处理应用程序界面变得越来越有挑战性。
MVC一个最大的好处就是它能为你的应用程序处理很多不同的视图。
在视图中其实并没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户进行操纵的方式。
模型表示企业数据和业务规则。
在MVC的三个部件中,模型拥有最多处理任务。
被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。
由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器接受用户的输入并调用模型和视图去完成用户的需求。
所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。
它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。
MVC的处理过程是:
首先控制器接收用户的请求,并决定应该去调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据并通过表示层呈现给用户。
1.2访问数据库的原理
与数据库相连,有如下三种方式:
jdbc;高级jdbc;jndi连接池。
Jdbc方法相对简单想要连接一个数据库只需要两步来完成即在java类中配置数据库的用户名密码等然后将oracle10g的包放到项目中的lib里就可以完成,但是这样的局限性比较大用本地数据库是没有问题的,但是如果用远程数据库操作就会出现一些问题。
高级JDBC可以说是jdbc的升级版其问题也跟jdbc相同。
而jndi连接池的方式相对于jdbc就要放心的多虽然配置的方法较为繁琐但是它更加的安全而且可以通配不必在每一个项目中添加包而是在tomcat下添加,只有该项目用tomcat来启动那么就可以去使用jndi的方法去连接数据库了。
这次的网站的设计主要就是应用jndi的方法将数据库进行连接的。
2系统的分析
论坛的开发总是从分析开始,分析对整个系统的开发起着决定性作用,大致可分为网站的总体调查、需求功能的分析、系统可行性分析、数据流程分析和系统的性能要求五个方面。
2.1系统的总体调查
随着科学技术的飞速发展,社会已进入到信息化时代,计算机在社会各个方面都得到广泛应用,我们每天几乎都会与计算机接触,而许多的社交网站在网络上更是占据了很大的比重,有很多论坛出现在我们的视线中,怎样做好一个论坛是本次调查的重点目标。
2.2系统的需求分析
通过调查,要求系统需要以下功能:
1.要有良好的人机界面。
2.对于用户信息管理模块可进行查询,修改,添加等操作。
3.对于用户注册登陆模块要控制登陆以及登出后界面的跳转。
4.论坛交流部分的发布。
5.上传文件部分的配置。
6.下载部分的配置。
2.3可行性分析
可行性研究阶段的主要任务是在系统初步调查的基础上,对新系统是否能够实现和值得实现等问题做出判断,避免在花费了大量的人力和物力之后才发现系统不能实现或新系统投入使用后没有任何实际意义而引起的浪费,对新系统可行性的分析,要求用最小的代价、在尽量短的时间内确定系统是否可以进行开发。
2.3.1技术可行性
生物特征识别论坛系统的开发是一项繁复的开发工程。
为了保证网站系统的成功开发,必须采用系统的模型化的开发方法,并研究出一些符合工程化标准的开发方法。
在本系统中采用了模块化设计方法,将模块功能逐层分解到最小化,然后逐层建立框架。
这样既可以保证质量又降低了开发成本。
本系统开发过程中,java作为开发语言,MyEclipse8.5作为开发工具,oracle10g作为后台数据库。
前期要先进行平台的搭建。
需要安装并运行软件JDK,TOMCAT,MyEclipse8.5,
oracle10g。
下一步还要进行程序所需要的jar包的导入,主要有三个包需要配置在项目中,分别为:
common-fileupload,common-io,oracle10g。
前两个包用来实现文件的上传下载,后一个用来配置数据库。
全部搭建成功后方可开发程序。
2.3.2运行可行性分析
该系统主要面向对象为对人脸识别技术感兴趣的人群,该人群99%熟练掌握计算机的使用及操作技能,了解网站操作规范。
因此本系统非常适合进行线上服务并给喜欢人脸识别技术的群体带来便利的服务。
2.3.3经济可行性分析
本系统开发成本小,实用性强,适合进行线上服务。
只需适量的招商便可以进行上线,运维方面成本较高。
但目前不涉及次方面,不加以考量。
2.3.4法律可行性分析
该系统的开发不涉及违背国家相关法律和对他人的知识产权构成侵权的问题,也不会涉及第三方的利益。
该系统的开发在法律方面没有问题。
通过以上的分析,开发本人脸识别论坛系统是完全可行的。
2.4系统开发工具
2.4.1开发工具简介
主要开发工具有MyEclipse8.5,oracle10g
1.MyEclipse8.5
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库以及JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。
在结构上,MyEclipse的特征可以被分为7类:
JavaEE模型、WEB开发工具、EJB开发工具、应用程序服务器的连接器、JavaEE项目部署服务、数据库服务、MyEclipse整合帮助。
对于以上每一种功能的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。
MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简而言之,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。
8.5版本集成了Eclipse3.5.2,提升了团队协作开发、开发周期管理以及Spring和Hibernate的更好支持。
2.oracle10g
OracleDatabase,又名OracleRDBMS,或简称Oracle。
是甲骨文公司的一款关系数据库管理系统。
到目前仍在数据库市场上占有主要份额。
作为大型数据库的一员,oracle数据库为用户操作提供了很多便利的插件,让用户在写SQL等语句的时候能够更加自如。
2.5开发设计思想
整个系统是在java环境下开发,数据库的创建使用oracle10g。
个人可以申请注册并登陆到论坛中对自己的信息进行修改操作,登陆到论坛中与其他用户进行交流。
可以上传资源以及下载资源。
只有管理员有权限对论坛中的消息进行删除。
2.6功能分析
论坛系统给用户提供了一个发布资源和讨论问题的平台,该网站中,只有注册后才能登陆到论坛中,可以进行消息的发布,上传下载资源等操作。
管理员登录之后,版主、消息进行添加、修改和删除的权利。
根据这些可以了解到系统拥有以下功能:
(1)用户注册
只有注册为本站用户后才可以进行浏览网页等操作。
注册的信息要填写:
我的姓名,我的邮箱,性别,密码,再次输入密码,选择所在省市。
姓名要长度验证字符验证以及输入姓名后右边会有显示的脚本编写,邮箱要进行邮箱格式的判断,姓名是单选按钮进行选择,密码为6位数字,再次输入的密码要与前一次的密码一致,省市要进行选择。
(2)用户登录
登陆时使用邮箱进行登陆在数据库中查找,输入密码正确后可以登陆。
登陆后在上端始终显示用户名,如果登陆不成功可重新登陆或现在注册。
(3)上传资源
资源的上传记住上传的路径在最后一个“\”后的改为该资源的名字,一io流放发存储到资源库中。
(4)下载资源
首先查看资源名称,在资源库中查找所有资源,将资源名打印到前台,点击资源名进行下载操作。
(5)论坛部分
如果数据库中没有过数据:
登陆以后显示发布主题。
如果数据库中有数据:
登陆以后显示论坛主界面,将板块表中的数据全部输出,主版块数据显示在大标题子版块数据显示在主板快的下边,根据板块的ID链接到主题中,点击发布主题可以进行主题的发布,点击主题名称显示该主题下的所有帖子,可以回复主题,点击回贴链接到回帖页面,发布帖子。
2.6数据流程分析
系统开发的模式:
发出请求实现java类
Session传递数据
图2.6.1系统开发模式图
本系统的逻辑模型以系统的数据流程图为主要描述工具。
数据流程图如下图所示:
图2.6.2数据流程图
图2.6.3系统用例图(普通用户)
图2.6.4系统用例图(管理员)
图2.6.5注册登录类图
3系统的设计
3.1系统数据库设计
在系统的开发过程中,能否设计出一个好的数据库对系统的开发非常重要。
数据库中的数据是整个系统的核心,怎样合理地进行信息建模和范式分解将直接影响整个数据库的运行效能。
数据库系统的设计在完成功能的前提下,因力求逻辑关系简单,否则由于数据库表之间的连接操作会大大降低系统的性能。
3.1.1数据库需求描述
(1)用户登录数据需求:
包含的数据项有用户登陆名(邮箱)及密码;
(2)注册用户数据需求:
包含的数据项有用户名、性别、邮箱、密码、所在省、所在市、头像。
(3)用户的基本信息数据需求:
包含的数据项有昵称、家乡、所在地、学历、生日年、月、日、星座、公司名称、行业、职位、兴趣爱好、喜欢的音乐、喜欢的电影、喜欢的游戏、喜欢的动漫、喜欢的运动、喜欢的书籍、QQ、MSN、手机号、个人网站、我的邮箱。
(4)回复主题数据需求:
包含的数据项有板块ID,版块名,父级板块ID,主题ID,主题名,内容,主题发布日期,回帖ID,回帖内容,回帖发布日期。
3.2系统数据库结构设计
根据系统需求,分析出系统主要的实体属性图和系统的E—R图。
图3.2.1用户注册表实体属性图
图3.2.2用户其他信息表实体属性图
图3.2.3板块表实体属性图
图3.2.4主题表实体属性图
图3.2.5回复表实体属性图
3.3数据库逻辑结构的创建
(1)用户注册登录表webuser表
包含的列有用户ID、用户名、性别、邮箱、密码、所在省、所在市、头像。
表1webuser表
列名
中文描述
数据类型
是否为空
userid
用户ID
Varchar2(50)
Notnull
username
用户名
Varchar2(16)
Notnull
usersex
性别
Number
(2)
Notnull
邮箱
Varchar2(50)
Notnull
password
密码
Varchar2(20)
Notnull
city
城市
Varchar2(16)
Notnull
town
区
Varchar2(16)
Notnull
head
头像
Varchar2(50)
Notnull
(2)用户的其他信息表userOthers
包含的列有昵称、家乡、所在地、学历、生日年、月、日、星座、公司名称、行业、职位、兴趣爱好、喜欢的音乐、喜欢的电影、喜欢的游戏、喜欢的动漫、喜欢的运动、喜欢的书籍、QQ、MSN、手机号、个人网站、我的邮箱。
表2userother表
列名
中文描述
数据类型
是否为空
nickname
昵称
varchar2(20)
Notnull
live
所在地
varchar2(20)
Notnull
years
生日年
number(4)
Notnull
months
月
number
(2)
Notnull
days
日
number
(2)
Notnull
xingzuo
星座
varchar2(20)
Notnull
graduate
学历
varchar2(20)
Notnull
job
行业
varchar2(50)
Notnull
dowhat
职位
varchar2(50)
Notnull
company
公司名称
varchar2(50)
Notnull
hobby
兴趣爱好
varchar2(20)
Notnull
music
喜欢音乐
varchar2(20)
Notnull
movie
喜欢电影
varchar2(20)
Notnull
game
玩的游戏
varchar2(20)
Notnull
comic
喜欢动漫
varchar2(20)
Notnull
sport
玩的运动
varchar2(20)
Notnull
book
喜欢书籍
varchar2(20)
Notnull
number(15)
Notnull
msn
msn
varchar2(50)
Notnull
phone
手机号
number(15)
Notnull
website
个人网站
varchar2(50)
Notnull
userid
用户ID
varchar2(50)
Notnull
(3)板块表Board表
包含的列有板块ID、版块名、父级板块ID
表3Board表
列名
中文描述
数据类型
是否为空
BOARDID
板块ID
Char(36)
Notnull
BOARDNAME
板块名
varchar2(50)
Notnull
PARENTID
父级板块ID
Char(36)
(4)主题表TOPIC表
包含的列有主题ID、主题、内容、发布日期、板块ID
表4topic表
列名
中文描述
数据类型
是否为空
TOPICID
主题ID
CHAR(36)
notnull
TITLE
主题
VARCHAR2(50)
notnull
CONTENT
内容
VARCHAR2(1000)
notnull
PUBLISHTIME
发布日期
DATE
notnull
BOARDID
板块ID
CHAR(36)
notnull
(5)回复表Reply表
包含的列有帖子回复ID、回复内容、帖子发布日期、主题ID
表5reply表
列名
中文描述
数据类型
是否为空
REPLYID
回复ID
CHAR(36)
notnull
CONTENT
内容
VARCHAR2(1000)
notnull
PUBLISHTIME
发布日期
DATE
notnull
TOPICID
主题ID
CHAR(36)
notnull
3.4系统功能模块的设计
图4.1.1系统模块图
3.4.1注册模块设计
注册模块的设计思路:
注册模块主要完成用户的注册,在页面上进行输入后要进行格式等的判断,在判断成功后将数据传到后台去,通过后台将其传到数据库中保存。
注册的设计包括界面的设计以及后台代码设计两部分。
1、前台界面的设计:
注册界面有3个组成部分;第一部分是脚本语言的编写,第二部分是页面美化样式,第三部分是控件的使用。
其中第一部分的脚本语言有图片切换的脚本方法:
(1)图片切换脚本主要是根据图片的Id来改变图片的显示属性把该图片设为显示其他图片设为不显示。
(2)判断姓名判断姓名不能为空,姓名的格式为4-10个字符,如果符合要求则打印标签“成功”,如果不符合要求则打印相应要求的标签。
在姓名输入成功后鼠标离开会触发姓名在其它地方显示的事件。
(3)判断密码判断密码不能为空,密码的格式为6位数字字符,如果符合要求则打印标签“成功”,如果不符合要求则打印相应要求的标签。
(4)判断再次输入的密码再次输入的密码应与输入的密码一致,如果不一致会要求重新输入
(5)判断邮箱判断邮箱不能为空,判断邮箱格式,如果符合要求则打印标签“成功”,如果不符合要求则打印相应要求的标签。
(6)城市下拉菜单城市下拉菜单为页面表单onLoad方法中应用的方法,即页面一打开就会自动运行不需要触发事件。
第二部分是页面美化样式,主要是背景图片生成以及表格嵌套。
第三部分是控件的使用:
姓名、邮箱、密码、确认密码为文本控件,性别为单选按钮,省市为下拉菜单,另外还有一些span标签的应用。
2、后台类的编写
首先要将用户注册表连接到系统中写webuser类,另外编写userdao类实现webuser类增删改查的方法。
当前台输入成功后,跳转到loginServlet类中执行doRegister方法,在这个方法中先从界面取得各个控件的内容,然后实例化webuser类对象和userdao类方法再将页面内容set到各个列里面。
从而实现将页面内容传递到数据库中这样一个过程。
3.4.2登陆模块
登陆模块设计思路:
登陆模块主要实现用户的登陆,当用户输入正确的用户名密码以后成功登陆到论坛主体中去通过判断用户名来获知用户的权限,权限分两种,一个是普通用户另一个是管理员。
普通用户与管理员登陆以后的界面是不相同的。
登陆模块的设计包括界面的设计以及后台代码设计两部分。
1、前台界面的设计:
登陆模块的前台由两个jsp界面组成。
login.jsp/Top.jsp。
其中第一个页面负责登陆功能,由两部分组成:
邮箱文本控件和密码文本控件。
在该页面中时不需要进行格式等判断的。
如果登陆成功跳转至主页,如果登陆不成功将进行重新登陆。
另外在这个界面中还有一个广告脚本的应用。
第二个页面top.jsp,如果用户登陆成功那么在该页面
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Jsp 论坛 设计 实现