版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、东华理工大学毕业设计论文题目:基于java web技术开发的bbs论坛系统国际教育学院:学生姓名:赖亚冰学 号:08118407专 业:信息技术系完成日期:指导教师:王红玲基于java web技术开发的bbs论坛系统摘要: 当今,随着网络的迅速发展,制作bbs论坛的技术和方法也越来越多。本文主要讲述利用java web的相关技术来制作一个简单论坛。通过实际制作,实现了bbs论坛系统应有的一些基本功能,如:登陆功能,通过在登陆界面输入用户名和密码来实现会员的登录,用户只有登录成功了才能进行一系列的操作;注册功能,用户首次登陆,需要先注册,注册时需要用户填写个人信息;找回密码功能,当用户忘记密码时
2、可以通过此功能找回密码,找回密码时需要用户记得注册时填写的个人信息。除此之外,还有浏览帖子、发表帖子、回复贴子以及删除帖子等等功能。制作本论坛所用的前台软件是myeclipse,后台数据库是mysql,运行时所用的服务器是tomcat,综合运用了html、jsp以及javascript语言。全文先对用到的软件进行了简单的介绍,然后依次对系统的应用进行需求分析、总体设计、详细设计;最后简要介绍了系统的发布和测试。关键词:bbs 论坛; jsp 技术; 登陆;注册; 找回密码;浏览贴子; 发表帖子; 回复贴子; 删除帖子the development of bbs based on java we
3、b technologyabstract:today, with the rapid development of network, there are more and more techniques and methods about designing a bbs. this paper narrated to how to design simple bbs using java web technology. by my practice, the forum system has been realized functions, such as: landing function,
4、 through a landing interface to enter a user name and password and log on to achieve membership, the user can acquire success and then finish a series of operations.registration function, if the user first visit, he will need to be registered a account and fill in personal informations . retrieve pa
5、ssword function, a user who forget the password can retrieve his password through this function, but which need personal track record when the user registering.in addition, visit the post, published post, reply and delete post and so on. the forum system adopts myeclipse as development environment,
6、which the background database is mysql, and run-time server is tomcat. it is be integrated used three languages-html, jsp and javascript. this paper introduced some correlative software firstly, and then recited analysis, total design, detailed design about the forum in turn. finally, released and t
7、ested the system.keywords:bbs; jsp technology; landing; registration; retrieve password; view posts; published post; reply post; delete post目 录一、概论(1)(一)、bbs历史背景(1)(二)、bbs制作目的(1)(三)、bbs制作的可行性(1)(四)、bbs制作的局限性(2)二、相关软件、技术介绍及开发环境的选择 (2)(一)、开发环境介绍(2)(二)、jdk1.6的简单介绍(3)(三)、myeclipse6.5软件的简单介绍(3)(四)、mysql
8、数据库的简单介绍(3)(五)、jsp(java server pages) 网页设计技术介绍 (3)(六)、tomcat5.5服务器介绍 (4)三、应用需求分析(4)(一)、用户登录和注册功能 (4)(二)、用户找回密码功能(5)(三)、用户帖子的浏览 (5)1、帖子的总览(6)2、查看特定帖的详细信息(6)(四)、用户帖子的发布/删除功能(6)1、帖子的发布(6)2、帖子的删除(7)(五)、用户回复他人帖子(7)(六)、管理员对帖子的查看/发表/删除功能(8)1、管理员查看或发表帖子(8)2、管理员删除帖子(8)四、系统总体设计(8)(一)、系统结构设计(8)1、各个页面的功能及示意图(8)
9、2、各个页面之间的调用关系(9)(二)、数据库设计 (10)1、用户信息表 (10)2、已发帖子的信息表 (10)3、已回复帖子的信息表 (11)五、系统详细设计(11)(一)、建立数据库及数据库表(11)(二)、用户登录功能的实现(12)1、登陆界面的制作(12)2、登陆功能的实现 (13)(三)、浏览主题帖子功能的实现(14)1、翻页功能的实现(14)2、浏览帖子的实现 (16)(四)、主题帖子详细内容页面的制作(16)(五)、在帖子详细内容页面里实现回复功能(17)(六)、用户发表新帖子页面的制作(18)(七)、新用户注册功能的实现(19)(八)、用户取回密码功能的实现(20)(九)、用
10、户和管理员删除帖子功能的实现(21)六、bbs论坛的发布测试(22)参考文献 (26)东华理工大学 基于java web技术开发的bbs论坛系统一、概论当前形势下,bbs论坛种类繁多,通过bbs可随时取得国际最新的软件及信息,也可以通过bbs来和别人讨论计算机软件、硬件、internet、多媒体、程序设计以及医学等等各种有趣的话题,更可以利用bbs来刊登一些“征友”、“廉价转让”及“公司产品”等启事。只要您拥有1台计算机、1只调制解调器和1条电话线,就能够进入这个“超时代”的领域。(一)、bbs历史背景bbs的英文全称是bulletin board system,翻译为中文就是“电子公告板”。
11、bbs最早是用来公布股市价格等类信息的,当时bbs连文件传输的功能都没有,而且只能在苹果计算机上运行。早期的bbs与一般街头和校园内的公告板性质相同,只不过是通过电脑来传播或获得消息而已。一直到个人计算机开始普及之后,有些人尝试将苹果计算机上的bbs转移到个人计算机上,bbs才开始渐渐普及开来。近些年来,由于爱好者们的努力,bbs的功能得到了很大的扩充。bbs最初是为了给计算机爱好者提供一个互相交流的地方。70年代后期,计算机用户数目很少且用户之间相距很远。因此,bbs(当时全世界一共不到一百个站点)提供了一个简单方便的交流方式,用户通过 bbs可以交换软件和信息。到了今天,bbs的用户才扩展
12、到各行各业,花样非常多。(二)、bbs制作目的bbs论坛是一种比较好的交流平台,他能方便人们进行即时在线交流,发表各种信息,实现网络资源的共享。而且,也能促使人们敞开心扉去学习知识、追求进步,以至于能更好的利用网络资源。 鉴于bbs的这些优点,又加之制作bbs的一些基本知识我曾学习过,如java程序设计、jsp网页制作以及myeclipse6.0基础教程这些书我都看过或自学过。考虑到个人喜好,所以最后我决定选择java web开发bbs论坛制作,这个题目作为我毕业论文,同时也能积累一点开发java小项目的经验,达到锻炼自己在这方面能力的目的。(三)、bbs制作的可行性 随着计算机软件的迅速发展
13、,bbs的界面效果越来越美观,功能、作用和范围也得到了迅速扩大。与此同时,制作bbs论坛的方法和所用的软件种类也越来越多了。当前比较流行的,一个是基于jsp网页技术,一个是基于asp.net网页技术,还有一个是基于php网页技术。 而在这里,我将采用基于jsp网页技术的方法进行简单的bbs论坛制作。我所用的开发软件是myeclipse6.5,它是一款可以做基础java项目开发的工具;jdk1.6,当前进行java开发的最新版本;数据库是mysql,它是一款当前比较流行的进行中小量数据开发的中小型数据库;服务器是tomcat5.5,它也是一款当前比较流行的软件,主要用于网络服务器的开发。这些东西
14、对一个搞java开发的人来说应该是很普遍的。因此,无论在技术还是软件上都应该可以实现的。(四)、bbs制作的局限性 此次bbs论坛制作的界面效果比较粗糙,功能也不是很强大,但幸好一些基本的功能都还有,比如,用户(或管理员)登陆,发表新的帖子,查看已存在的帖子,回复别人发表的帖子(也叫跟帖)以及管理员删除垃圾帖子或着垃圾的跟帖等等。但是像一些高级功能,比如,搜寻或查找帖子的功能,上传图片或文件的功能,个人空间的功能等。由于本人所学知识以及能力地限制,并没能将其实现。 二、相关软件、技术介绍及开发环境的选择(一)、开发环境介绍1、硬件环境与软件环境要求服务器端硬件处理器:intel p4或更好内存
15、:1g 或更大硬盘剩余空间:2g 或更大软件microsoft windows xp或更高版本jdk1.60或更高版本myeclipse6.0或更高版本mysql5.0或更高版本tomcat5.5或更高版本microsoft ie6.0浏览器或更高版本客户机端硬件一般联网的计算机均可软件microsoft windows xp 或更高版本microsoft ie 6.0或更高版本2、制作工具jdk1.6用于java程序的解释执行,myeclipse6.5提供了一个良好的开发界面,mysql5.0用于数据库的连接,tomcat5.5 web服务器用于运行此项目。(二)、jdk(java deve
16、lopment kit)jdk(java development kit)是sun microsystems针对java开发员的产品。自从java推出以来,jdk已经成为使用最广泛的java sdk(software development kit)。 jdk 是整个java的核心,包括了java运行环境(java runtime environment),一堆java工具和java基础的类库(rt.jar)。不论什么java应用服务器实质都是内置了某个版本的jdk。因此掌握 jdk是学好java的第一步。最主流的jdk是sun公司发布的jdk,除了sun之外,还有很多公司和组织都开发了自己的
17、jdk。(三)、myeclipse6.5软件的简单介绍myeclipse6.5是现今国内企业流行的基于eclipse的商业开发工具 myeclipse的当前最新版本。eclipse(官方网站: )是ibm公司主导下的一款开源免费的可以做基础java项目开发的工具,然而大多数基于eclipse二次开发的实用开发工具,例如myeclipse,jbuilder 2007 等等都是商业产品,有别于eclipse自身开放免费的大旗,这些软件不能免费使用。myeclipse 6.5集中了开源和商业软件的开发支持的大多数框架,方便易用,功能强大,获得了广大开发人员的
18、喜爱。它支持开发调试基于spring, hibernate,struts, jsf, jpa, ejb, web service 等 java ee 技术的项目。(四)、mysql数据库介绍mysql是一个小型关系型数据库管理系统,开发者为瑞典mysql ab公司。在2008年1月16号被sun公司收购。目前mysql被广泛地应用在internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了mysql作为网站数据库。(五)、jsp(java server pages)网页设计技术介绍jsp(java server
19、 pages)是由sun microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。jsp技术有点类似asp技术,它是在传统的网页html文件(*.htm,*.html)中插入java程序段(scriptlet)和jsp标记(tag),从而形成jsp文件(*.jsp)。 用jsp开发的web应用是跨平台的,即能在linux下运行,也能在其他操作系统上运行。jsp技术使用java编程语言编写类xml的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。jsp将网页逻辑与网页设计和显示分离,支
20、持可重用的基于组件的设计,使基于web的应用程序的开发变得迅速和容易。(六)、tomcat5.5服务器介绍tomcat 服务器是一个免费的开放源代码的web 应用服务器,它是apache 软件基金会(apache software foundation)的jakarta 项目中的一个核心项目,由apache、sun和其他一些公司及个人共同开发而成。由于有了sun 的参与和支持,最新的servlet 和jsp 规范总是能在tomcat 中得到体现,tomcat 5 支持最新的servlet 2.4 和jsp 2.0 规范。因为tomcat 技术先进、性能稳定,而且免费,因而深受java 爱好者的
21、喜爱并得到了部分软件开发商的认可,成为目前比较流行的web 应用服务器。tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试jsp 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好apache 服务器,可利用它响应对html 页面的访问请求。实际上tomcat 部分是apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与apache 独立的进程单独运行的。三、应用需求分析作为一个bbs论坛,它应该具有bbs所有的一些基本功能,包括:用户登陆功能,用户取回密码功能,用户浏览帖子的功
22、能以及用户发表、回复、修改和删除帖子的功能等。接下来,我将详细阐述一下这些功能。(一)、用户登录和注册功能进入登录页面后,对于第一次登陆的用户来说,首先需要注册,单击“新用户注册”按钮即可进入注册界面,注册完成后返回登录界面。然后,在对应的地方分别输入用户名和密码,点击“登录”按钮,系统即将用户名和密码发送到网络服务器上,与保存在服务器数据库中的信息进行核对。若核对正确,则进入帖子浏览的界面,若不正确,则重新返回登录界面。注意:若用户名(或者密码)为空时,点击了“登录”按钮,则系统会弹出一个对话框提示你用户名(或密码)为空,请重新输入,点击对话框的“确定”按钮,即可重新回到登录界面。注册界面如
23、下所示:图4-1(二)、用户找回密码功能 在有些时候,我们可能会忘记登录密码,这时就用到了密码找回功能,通过正确的回答当初注册时的一些信息即可取回密码。图4-2(三)、用户帖子的浏览 当用户登录成功后便进入该页面,在该页面可以浏览他人已经发表的主题帖子,图4-31、 帖子的总览在主题页面中主要有两部分组成,一是用户的个人信息,再就是他人已经发表的主题帖子,每个帖子都包含了一些简单信息:主题、作者和时间。主题有下划线,那是以为对它进行了链接,鼠标单击主题便进入了下一页面该帖的详细内容页面。2、查看特定帖的详细信息如上所述,单击主题便进入该帖的详细内容页面。里面主要包含了该帖的详细内容和他人对此帖
24、的回复,点击“我要回复”便可回复此贴。图4-4(四)、用户帖子的发布/修改/删除功能用户成功登陆后,可以进行一些操作,如发表帖子、删除自己发表的帖子等。1、 帖子的发布登陆成功进入主题页面后,点击“发表新的主题文章”按钮后,便可进入发表帖子的界面。在该页面中填写完信息,点击“发送新的主题”即可。图4-52、帖子的删除 在主题帖子页面中,每幅帖子的最左面都有一个删除按钮(如图4-3所示),点击此按钮便可删除你所发表的帖子。注意:每个用户(除管理员外)只可删除自己的帖子。(五)、用户回复他人帖子打开他人的帖子,点击“我要回复”按钮(如图4-6所示)便可对该贴进行回复,如要想对其他回复此贴的人进行回
25、复,可以点击回复人后面的“回复xx楼”按钮(如图4-7)对其进行回复。图4-6图4-7(六)、管理员对帖子的查看/发表/删除功能1、管理员查看或发表帖子管理员查看或发表帖子与普通用户的一样。2、 管理员删除帖子管理员删除帖子与普通用户的区别在于,他可以删除任何人发表的贴子,另外他还有一项特权,就是可以删除任何人回复的垃圾帖子。四、系统总体设计(一)、系统结构设计本bbs论坛系统共分为三大功能模块:(1) 登陆管理功能系统;(2) 注册功能系统;(3) 找回密码功能系统。登陆管理功能系统,又包括四个子模块:单纯的用户登录模块,用户发表帖子模块,用户回复他人帖子模块和用户删除自己所发表的帖子模块。
26、1、 各个页面的功能及示意图有两个页面用于基本功能的实现,被其它页面所调用:页面名称主要功能用于实现基本功能opendata.jsp打开数据库链接convert.jsp用于字符的转换其余的页面如下表所示:各个模块页面名称页面功能开始登陆的界面login.html系统启动时的首页登录管理功能系统enter.jsp用于判断用户名和密码是否正确mainform.jsp登陆成功后转入该页面discuss.jsp浏览主题帖子的页面,在这可以查看各类帖子person.jsp显示个人信息的页面newtitle.jsp发表新的主题帖子的页面savenewtitle.jsp将新发表的帖子存入数据库表discus
27、s中detail.jsp用于显示帖子的内容及回复该帖的内容saverevert.jsp将回复内容存入数据库表reply中delete.jsp用于删除帖子注册功能系统register.jsp该界面用于新用户注册saveregister.jsp保存新用户注册信息到数据库表student中找回密码功能系统getpassword.jsp用于用户找回密码2、各个页面之间的调用关系各个页面之间的调用关系如下图所示: 注意:其中有两个基本页面(convert.jsp 和opendata.jsp)被其它的页面所引用,在此图中并没有包含这两个页面。(二)、数据库设计根据本bbs论坛功能的要求以及功能模块的划分,
28、本信息数据库可存放在三个表中,它们是,用户信息数据库表student、发表的帖子的数据库表discuss和回复的帖子的数据库表reply,数据库表的具体设计如下所示:1、用户信息表student表名:student用户信息表student包括八个字段:即,id(用户的标识符)、username(用户名)、password(用户密码)、sex(性别)、age(年龄)、birth(生日)、telephone(联系电话)、email(电子邮箱)等。student表的属性如下图所示: student表的内容如下图所示:2、存储帖子所用的信息表discuss表名:discuss信息表discuss包括七
29、个字段:即,name(发帖人的昵称)、email(电子邮箱)、subject(帖子的主题)、content(帖子的内容)、time(发帖的时间)、username(用户名)、id(帖子的标识)等。表的属性: 表的内容:3、存储回复帖子的信息表reply表名:reply信息表reply包括五个字段:即,name(回帖人的昵称)、content(回帖的内容)、time(回帖的时间)、reply(所回复的主贴的标识符)、id(回复贴的标识符)等。表的属性: 表的内容:五、系统详细设计(一)、建立数据库及数据库表建立一个数据库test和三个数据库表(student、discuss和reply)。首先在
30、myeclipse6.5软件里配置mysql5.0,配置完成后在myeclipse界面里建立名为“test”的数据库,然后再建立三个数据库表(student、discuss和reply)。创建表student:stmt.executeupdate(create table student(id int not null auto_increment, +username varchar(20) unique, +password varchar(20) not null, +sex varchar(8) not null,+age varchar(4) ,+birth varchar(20)
31、not null,+telephone varchar(12),+email varchar(40) not null, +primary key (id);创建表discuss:stmt.executeupdate(create table discuss(name char(20) not null,+email char(40) not null,+subject char(60) not null,+content text not null,+time char(40),+username char(20),+id int not null auto_increment,primar
32、y key (id);创建表reply:stmt.executeupdate(create table reply(name char(20) not null,+content text not null,+time char(40),reply int,+id int not null auto_increment,+primary key (id);(二)、用户登录功能的实现1、 登陆界面的制作(1)javascript标记语言判断输入的用户名和密码是否为空:/ 验证输入不为空的脚本代码 function checkform(form) if(form.username.value =
33、) alert(用户名不能为空!);form.username.focus();return false;if(form.password.value = ) alert(密码不能为空!);form.password.focus();return false;return true;(2)登陆界面的制作:用户名:密码 :2、 登陆功能的实现通过login.html界面传递参数username 和 password 给enter.jsp界面,然后查询数据库,判断用户名和密码是否正确。若判断正确则为用户建立一个session,并进入了用户主界面。(三)、浏览主题帖子功能的实现1、翻页功能的实现在这
34、里可以实现翻页功能,根据你的实际需求进行选择。功能的实现:首先确定每页所能容纳帖子的最大数目,在这里我设定maxnum=10;然后连接数据库查询帖子的总数,从而判断总的页数,即lastpage,接着根据请求的页码pageno判断出该页码是否合法,若pagenolastpage,即所求的页码超出了最大页数,则改正pageno=lastpage,然后确定要显示的第一个帖子的标识码firstnum和最后一个帖子的标识码lastnum,最后连接数据库将标识码在firstnum和lastnum之间的帖子的信息查询出来。程序为: lastpage)pageno = lastpage;firstnum =
35、(pageno - 1) * maxnum + 1;lastnum = pageno * maxnum;if (pageno = 1)prepage = 1;elseprepage = pageno - 1;if (pageno = lastpage)nextpage = pageno;elsenextpage = pageno + 1;sql = select * from discuss where id between + firstnum+ and + lastnum;rs = stm.executequery(sql);%页面的制作:目前页数:总页数:a href=discuss.j
36、sp?pageno= 【第一页】a href=discuss.jsp?pageno= 【上一页】a href=discuss.jsp?pageno= 【下一页】a href=discuss.jsp?pageno=【最后一页】输入页次:2、浏览帖子的实现每幅帖子都有三部分组成:主题、作者和时间,通过上述分页功能选出了需要显示出来的帖子,下面就是将它们显示在页面上的程序:%string name, email, subject, content, time;int reply, id;while (rs.next() name = rs.getstring(1);email = rs.getstring(2);subject = rs.getstring(3);content = rs.getstring(4);time = rs.getstring(5);id = rs.getint(7);out.print(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关键工序与特殊过程
- 《匠心逐梦》中职全套教学课件
- 常年法律顾问合同范本
- Unit5Languagesaroundtheworld词汇课件-高中英语人教版
- 彩信业务项目合同范本
- 安全风险评估合同范本
- 学生桌椅采购合同范本
- 期末复习单词(纯汉字)课件外研版英语八年级上册
- 年中考化学一轮专题复习(甘肃)-第四单元自然界的水课件
- 学校抢修装修合同范本
- 2021-2022学年天津市滨海新区九年级上学期物理期末试题及答案
- 江苏省苏州市、南京市九校2025-2026学年高三上学期一轮复习学情联合调研数学试题(解析版)
- 2026年护理部工作计划
- 江苏省高新技术产业统计分类目录
- 1-6-黄煌经方使用手册
- 全省通信线路培训班通信电缆讲稿教学课件
- 人教A版高中数学选择性必修第二册全册各章节课时练习题含答案解析(第四章数列、第五章一元函数的导数及其应用)
- 国开电大公共行政学形考任务二答案
- 六年级下册小升初全复习-第12讲 工程问题-北师大 (含答案)
- 某项目盘扣式满堂脚手架搭设施工方案
- 食管癌影像学表现及TNM分期课件
评论
0/150
提交评论