基于jsp的bbs系统的设计与实现毕设论文.docx
《基于jsp的bbs系统的设计与实现毕设论文.docx》由会员分享,可在线阅读,更多相关《基于jsp的bbs系统的设计与实现毕设论文.docx(32页珍藏版)》请在冰豆网上搜索。
基于jsp的bbs系统的设计与实现毕设论文
毕业设计[论文]任务书
姓名张艺耀班号专业计算机及其应用
同组姓名指导教师高鹏毅
一、课题名称
基于jsp的bbs系统的设计与实现
摘要
Internet的迅猛发展,促使各种网络新技术的不断产生和更新,JSP便其中的一项,JSP的出现改变了以往网站是由单纯的HTML语言编写的静态网页所组成的情况,有了JSP以后,我们就能够根据不同的用户,在不同的时间向用户显示不同的内容。
同时也相应的提升了网络的安全性。
基于web的BBS,就是运用JSP制作出的,为网络用户提供的,一个能够多人参与的交流方式。
Java是未来的主流开发技术,具有很多优势。
JSP则是Java在Internet/IntranetWeb上的重要应用技术,得到了广泛的支持和承认,它可以和各种Java技术完好地结合在一起,从而实现非常复杂的应用。
本网站使用JSP+MYSQL在MyEclipse系统开发的,从而创建一个更为稳定,高效,安全的运行环境。
本文分别介绍了JSP概况、Script编程语言,ODBC简介,以及BBS中用户登陆/注册,发表文章,浏览文章,删除文章以及添加管理员信息等功能的实现。
关键词:
电子留言版、浏览器/服务器架构、数据库
Abstract
WiththerapiddevelopmentofInternet,variousnetworktechnologiesarecomingintouseorupdatecontinuouslyandJSPisthere.JSPchangesthewebpagefromstatictodynamic.Andthewebcontentcanbecustomaccordingdifferentuseratanytime.sametimethesafetyofwebsitriseTherefreshmentofwebisnolongeratediousorrepetitiveprocessandbecomingasimpleandamusing.Theweb-basedBBSiscreatedusingJSPandprovidesnetworkuseramulti-maninteractionway.
ThepaperdescribesJSPintroduction,ScriptprogramminglanguageandODBC.Italsoshowsthefunctionimplementofuserlogin/register,releasingarticle,browsing,changingpersonalinformationinBBS.
目录
摘要I
AbstractII
1绪言1
1.1课题背景1
1.2课题研究的目的和意义2
1.3国内外概况2
1.4课题主要研究工作2
2方案论证4
2.1B/S模式4
2.2JavaServerPage4
2.3MYSQL数据库5
2.4开发工具6
3BBS系统设计6
3.1需求分析7
3.2系统可行性分析7
3.3概要设计8
3.4详细设计9
3.5数据库的设计11
4系统的实现与结果分析17
4.1系统环境17
4.2主要页面的基本功能的实现17
4.3系统的前台页面展示17
4.4系统测试18
5总结与展望21
5.1总结22
5.2展望22
致谢23
参考文献24
1绪言
BBS的英文全称是BulletinBoardSystem,翻译为中文就是“电子公告板”。
BBS最早是用来公布股市价格等类信息的,当时BBS连文件传输的功能都没有,而且只能在苹果计算机上运行。
早期的BBS与一般街头和校园内的公告板性质相同,只不过是通过电脑来传播或获得消息而已。
一直到个人计算机开始普及之后,有些人尝试将苹果计算机上的BBS转移到个人计算机上,BBS才开始渐渐普及开来。
近些年来,由于爱好者们的努力,BBS的功能得。
到了很大的扩充。
bbs系统即是现在许多人获取信息的一个重要来源。
越来越多的人从bbs论坛了解并下载信息。
运用Jsp技术的bbs正是基于这样的需求背景下研制开发的。
本文按照软件工程思想和web系统的开发步骤,设计并实现了bbs系统。
以系统开发过程为主线,介绍了系统从需求分析,逻辑设计,总体设计,详细设计以及系统测试、实施各阶段的主要内容和成果,包括系统结构图、业务流程图、数据流程图、E-R模型、物理表实现及其关系、功能模块算法流程、界面设计等等。
最后对实现系统的优缺点进行了分析,提出了今后进一步完善系统的方向和方法。
其设计开发过程具有通用性,对类似工作的开展具有借鉴意义。
1.1课题背景
随着Internet的飞速发展,网络的不断普及,计算机技术迅速向着网络化、集成化方向发展。
传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络应用的软件。
现实生活中的交流存在时间和空间上的局限性,交流人群范围狭小以及间断的交流不能保证信息的准确性和可取性。
因此伴随着网络的普及,论坛逐渐融入人们的生活。
人们只需通过网上论坛的交流扩大交流面,同时可以从多方面获得自己所需要的最及时的信息。
快速及时的进行交流现已成为人们生活中的一部分。
五彩缤纷的网上信息,使网络与人们的生活息息相关,于是出现了专题论坛。
它打破了地域限制,真正使信息得以全部共享,改变了人们的工作和生活方式。
人们对从网上获取信息的需求也在不断的提高,其中包括网络的共享性、安全性、方便性、差异性与趣味性。
1.共享性就是可以相互使用同一网络资源
2.安全性就是网站的安全与用户信息的安全
3.差异性就是能满足各各用户有不同的需求
4.方便性就是可以方便的使用电脑不用当心机器与操作系统的差异
5.趣味性就是可以看到各种生动有趣的页面
以前企业所使用的静态网页已经不能完全满足用户的需求了。
所以需要应用新的技术来满足用户需要的发展,从而吸引大量的用户来网站浏览文章。
1.2课题研究的目的和意义
课题研究的意义:
当今网络采用B/S结构jsp技术的动态网站可以很好的满足用户的需求,企业运用这种技术可以方便的使用户相互之间共享资源,封装系统与用户信息。
根据不同的用户给出不同的响应。
并且可以使用户方便的使用而不需要考虑其他的因素。
同时为分散于五湖四海的人们提供一个共同交流、学习、倾吐心声的平台,实现来自不同地方的用户极强的信息互动性,用户在获得自己所需要的信息的同时也可以广交朋友,拓宽自己的视野和社交面。
从而充分的满足了用户的需求。
对一个bbs的功能与需求的进行分析,运用jsp技术实现的bbs可以使企业的网站拥有更多的用户。
帮助网络企业赢得更多网民的青睐,为企业在竞争中赢得先机。
1.3国内外概况
JSP(JavaServerPages)由于是一种较新的技术,国内正在发展。
但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。
JSP应该是未来发展的趋势。
世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。
在国内我们的比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的WebSphere;西方另外一个非常著名的电子商务软件提供商,Intershop,它原来的产品Intershop1,2,3,4占据了主要的电子商务软件份额。
在JSP开发网站中将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
JSP商务网站页面由HTML代码和嵌入其中的Java代码所组成。
服务器在电子商务网站页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给电子商务网站户端的浏览器。
在电子商务网站开发中JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠所以越来越多的用户采用了jsp技术,尤其是电子商务网站。
1.4课题主要研究工作
本课题研究的是一个简易的留言网站,它具有BBS网站应该具有的部分功能,包括用户注册、用户登录、发表文章、修改文章、删除文章、所有操作都可以由用户在客户端浏览器中完成,而服务器中的JSP程序会按用户的要求来完成对数据库的操作,并将结果传给Web服务器,再由Web服务器处理成HTML文件后发送到客户端浏览器。
并且可以对用户输入的信息进行验证,输入错误的信息是不能进入发言的。
而且给了管理员删除的权限。
管理员可以将其不适当的留言删除。
2方案论证
本章介绍了运用jsp开发bbs及到的一些知识领域,并对选题方案进行论证,比较了一些其它的方法或平台,陈述了方案的选择及选择原因。
2.1B/S模式
B/S(Browser/Server)结构即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这样的结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)来实现,但是主要事务逻辑在服务器端(Server)实现。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了使用的总体成本。
以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握,成本也比较低的。
它是一次性到位的开发,能实现不同的人员,从不同的地点,用不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效的保护数据平台和管理访问权,服务器数据库也很安全。
特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便,快捷,高效。
B/S架构软件的优势与劣势:
(1)维护和升级方式简单。
(2)成本降低,选择更多。
(3)应用服务器运行数据负荷较重
2.2JavaServerPage
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准的,该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。
是在Servlet技术基础上发展起来的;是在服务器端编译执行的Web数据库系统应用程序编程语言。
JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。
在传统的网页HTML文件中加入Java程序片段和JSP标记,就构成了JSP网页。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。
程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。
所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样对客户浏览器的要求很低。
现在开发基于B/S模式的Web数据库系统大都采用比较流行的ASP(ActiveServerPages)、PHP(HypertextPreprocessor)和JSP等面向服务器端的动态网页开发技术。
三者技术极为相似,都是在HTML代码中嵌入某种程序代码,由语言引擎解释执行。
HTML代码主要负责描述信息的显示样式即基本的界面,而程序代码则用于处理逻辑。
JSP比较其他的开发技术拥有以下优点:
稳定性高,执行效率好,函数支持广,厂商支持多,分布式处理等。
Windows操作系统平台的IIS服务器提供一个服务器端的脚本运行环境供ASP运行,它一般采用VBscript和Jscript语言,但是ASP只能运行于Microsoft公司服务器产品中,局限性较大,且安全性不好。
PHP使用类似C++和Java语言的跨平台的服务器端嵌入式脚本语言,且支持目前绝大多数数据库,但是它提供的接口支持不统一,且不支持分布式计算。
而JSP技术比较起来具有诸多优点,因此选用JSP技术来构建这个基于WEB的办公自动化系统。
JSP规范要求JSP脚本语言支持一组常见的不需要在使用之前声明的对象,这些对象通常被叫做“内置对象”。
JavaServerPages通过可以由JSP页面开发人员使用的内置对象来调用这种服务。
在JSP中,包含了以下几种内部对象:
request对象、response对象、out对象、pageContext对象、session对象。
2.3MYSQLServer数据库
MySQL是一个小型关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
(1)SQL语言
SQL全称StructuredQueryLanguage,意为结构查询语言,是一个功能强大的数据库语言。
SQL语言被广泛使用,ANSI声明SQL是关系数据库管理系统的标准语言。
SQL语言最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它的前身是SQUARE语言。
SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了普遍的认可并迅速的推广。
目前,SQL语言已被绝大多数商品化关系数据库系统采用,如Oracle、Sybase、DB2、Informix、SQLServer这些数据库管理系统都支持SQL语言作为查询语言。
SQL广泛地被采用正说明了它的优点,使很多公司、程序员、管理人员和用户都受益非浅。
它的主要优点在于它是非过程化语言、统一的语言、是所有关系数据库的公共语言。
(2)mySQLServer特点
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL的SQL语言是用于访问数据库的最常用标准化语言。
MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
由于其社区版的性能卓越,搭配JSP和Apache可组成良好的开发环境。
(3)数据库访问技术
JDBC(JavaDatabaseConnectivity)提供了完备的数据库操作方法接口,是程序员和数据库打交道的主要途径,是Java与数据库的连接规范,是一个支持基本SQL功能的通用底层API。
JDBC在不同的数据库功能模块层次上提供了一个统一的用户接口,为Java程序员提供了独立于特定的数据库系统而实现与网络数据库互联的方式。
利用JDBC,可以使用简单直接的方法完成简单的数据库任务,如基本查询,生成和修改。
数据库厂商一般会提供一组这样的API访问数据库,MYSQL的JDBC驱动程序的jar包包括mysql-connector-java-3.1.13-bin.jar。
2.4开发工具
Java平台采用了Jdk1.5版。
而采用Dreamweaver8制作界面;采用了myeclipese编写web程序。
Dreamweaver是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具。
它具有不错的制作效率,方便的网站管理,是设计静态网页的最好工具。
并且可以制作不太复杂的动态网页。
MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。
可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
3bbs系统设计
本章从初步的设想到最终的完成一步一步陈述了此系统设计的过程和介绍了数据库的详细设计,并在设计中,解决并说明了一些遇到的问题。
并附带了一小部分程序,对实现的系统加以说明。
在一些模块设计的后面,讨论了其不足和改进方法。
3.1需求分析
BBS流言版的功能进行初步的分析,调查其实际需求。
因为这个BBS系统不是一个针对某一行业的系统,而是讨论一些共性的东西。
通过论坛的方式,可以展示每一个人的风采、优点,发布个人对一些事物的看法,增强个人与个人之间,团体与团体,个人与团体之间的交流联系,在Internet上实现信息的传递,提高办事效率。
因此论坛建设在Internet应用上的地位显而易见,它已成为现代人勾通和获取信息的重要组成部分,从而倍受人们的重视。
为了方便大家的勾通和获取信息,特构建此论坛。
该系统以Internet为平台,前台可使任何人注册、登陆在论坛上进行发贴及讨论,版主或者前台管理者也可以进行一部分管理。
而管理员也可以在后台进行相关的管理。
首先是用户喜欢欢的界面。
只有用户喜欢的界面网站才能留住客户,才能增加流量。
其次就是功能,在一般用户进入留言网页时,首先需要一个信息化的用户管理,这个信息化的用户管理应该包括权限的设定、名字、性别、联系方式,与电子邮箱等等。
这个权限的确定应该关系到发文权限和删除权限。
所有操作都可以由用户在客户端浏览器中完成,而服务器端程序会按用户的要求来完成对系统数据的操作,并将结果传给Web服务器,再由Web服务器处理成HTML文件后发送到客户端浏览器。
客户只需要通过浏览器就可以方便的进行各种正常的操作。
当用户有不恰当的文章出现时,管理员应该可以予以删除。
3.2系统可行性分析
可行性分析是系统分析的一个重要活动。
可行性(Feasibility)是一个信息系统对业务系统所带来的利益的一种度量。
一个信息系统的开发是可行的,意思是说在一定条件下,可以建立一个新的信息系统。
通常,对于信息系统来说,其可行性可以从以下五个方面考虑:
经济可行性(EconomicFeasibility)
运行可行性(OperationalFeasibility)
技术可行性(TechnicalFeasibility)
进程可行性(ScheduleFeasibility)
人员可行性(HumanFactorsFeasibility)
经济可行性:
是评价一个计算机信息系统是否可行的最常用的一种方法,是对信息系统解决方案的成本有效性的度量。
在本系统运行环境中,软硬件都无需做巨大投资,只利用现有计算机设备即可。
因此在经济上可行的。
技术可行性:
是指开发一个新系统所需要的技术是否完备,如支持系统的硬件和软件能力,以及从事这些工作的技术人员的数量和技术水平。
目前管理信息系统(MIS)从技术上来说已经相当成熟,伴随着信息领域及其他领域的发展,其自身也在不断的发展完善。
进程可行性:
是指所开发的计算机信息系统能否在规定的时间内完成。
运行可行性:
指一个运行的计算机信息系统在特定的环境下能否正常运行,从而满足各种业务信息需求。
通过以上的分析可以得出结论:
该系统的开发是可行的。
3.3概要设计
根据上面的分析,要设计一个bbs系统,首先要展示一个用户喜爱的界面来吸引用户。
其次是要确定此用户的身份,因此确定身份需要制作一个登陆模块,登陆的用户信息应该包括姓名,密码,电话以及电子邮箱。
还要有一个可以保存用户信息的注册模块。
其次还要有文章的保存与删除模块。
作为一个网站还有一个管理员进行管理的操作模块。
根据以上信息作出了下面的模块图
图3.1系统结构图
最后给予不同用户不同的操作功能根据上面所说,需要设计的功能包括登陆及权限认定、文章的浏览及发布、个人信息查询及修改。
详细的功能模块划分如下:
(1)登录功能模块
由于是bbs系统,所以有注册,登陆功能。
登录功能要求用户填写用户名和密码,只有用户名、密码和随机验证码都正确的用户才能登陆系统。
登陆系统后,系统会显示此用户的姓名和权限。
如果没有填入用户名和密码系统会有提示,而密码错误也会给出提示,从而保证一定的安全性。
其次给了vip用户,只有vip用户才能进行文章的修改与删除操作。
(2)操作功能模块
此留言版可以在客户页面对数据库进行操作,包括浏览文章,发表文章,同时会记下文档的操作日期。
(2)用户的分类管理功能可以区分vip用户与普通用户。
3.4详细设计
(1)登陆模块的设计
图3.1登陆模块流程图
验证用户的用户名及其密码。
系统用户登陆过程中必须输入其用户名和密码,登陆模块对其密码进行核对。
如果密码不正确则返回登陆界面并提示系统用户其输入的用户名或密码不正确。
。
用户登陆模块作为系统的入口,需要来设定使用权限控制,不同的身份具有不同的使用权限和不同的功能限制,这是一个安全稳定的系统所必须具备的。
最简单的权限设定即是只分用户和管理员这两种身份权限。
管理员可以发表、删除文章并可以查询用户。
普通用户只能发表文章,不能修改与删除。
执行用户登陆模块功能的是index.jsp,check.jsp,check_ix.jsp,login.jsp这几个页面。
index.jsp是登陆页面,用户点击登陆按钮后文本栏里的数据就提交并存储在session里面_index.jsp是系统的主页面,也是用户登陆模块的验证页面。
在用户提交了他的用户名、密码、验证码后,该页面首先核对验证码是否正确,如果正确然后从数据库中查询用户名对应的密码与session中的比较看是否一致,一致则可以登陆。
3.4.2文章发表模块的流程图设计
图3.2文章发表模块流程图
文章发表模块功能是用户可以使用的功能。
用户可以通过此功能模块来完成发表文章的功能。
在本程序中是通过articleAdd.jsp来完,发言的内容包括作者,标题,时间,内容。
但是用户没有权限去删除文章与修改文章。
3.4.3删除模块的流程图设计
对于有些用户违反法规的文章管理员是需要删除的。
删除功能的模块流程图如下图所示
图3.3删除模块流程图
删除模块有article_delect.jsp构成。
只有管理员才能使用,通过删除模块可以把用户不适当的文章予以删除。
3.5数据库的设计
(1)E-R图
数据表是数据库中最为重要的对象,它是存储实际数据的地方,是整个数据库系统的基础。
在数据表中,数据以行和列的格式显示的。
每一行表示了表或查询结果的一条“记录”,每一列表示了表中的一个“字段”(字段是数据库表示单条信息或者对象的一种属性的方式)。
创建数据表的步骤是:
①设计字段名称。
②指定数据类型。
③确定关键字。
依据系统的用户需求,作出对应数据表的设计及功能如下。
a.论坛会员基本信息表:
存放论坛会员所有的基本信息。
b.论坛主题文章基本信息表:
存放论坛会员所发表文章的基本信息。
c.管理员基本信息表:
可以管理帖子和用户。
根据需要,画出数据库的E-R图:
图3.4E-R图
(2)系统的表
根据E