毕业设计(论文)-基于JSP的BBS论坛系统设计与实现.doc

上传人:来看看 文档编号:3283101 上传时间:2019-08-07 格式:DOC 页数:21 大小:171.52KB
返回 下载 相关 举报
毕业设计(论文)-基于JSP的BBS论坛系统设计与实现.doc_第1页
第1页 / 共21页
毕业设计(论文)-基于JSP的BBS论坛系统设计与实现.doc_第2页
第2页 / 共21页
毕业设计(论文)-基于JSP的BBS论坛系统设计与实现.doc_第3页
第3页 / 共21页
毕业设计(论文)-基于JSP的BBS论坛系统设计与实现.doc_第4页
第4页 / 共21页
毕业设计(论文)-基于JSP的BBS论坛系统设计与实现.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《毕业设计(论文)-基于JSP的BBS论坛系统设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于JSP的BBS论坛系统设计与实现.doc(21页珍藏版)》请在三一文库上搜索。

1、摘要BBS论坛系统是采用java语言进行设计实现的,采用Tomcat作为后台服务器,以SQL Server作为数据服务器,使用接口、实现类、实体类、JSP进行逻辑控制,表现层用JSP页面显示,用于在网络上为网民提供一个信息发布、获取的场所。实现了查看、发表、删除帖子功能,论坛帖子版块控制,注册用户可以修改自己的个人信息、增加好友与黑名单,管理员可以对用户、帖子,版块、版块权限和用户组权限进行管理。论文从问题的提出、基本设计思想、数据的流向到具体的设计过程都做出了详细论述。目录摘要11绪论31.1课题研究的目的及意义31.2国内外研究动态31.3本文的工作42系统分析52.1可行性分析52.1.

2、1社会可行性52.1.2技术可行性52.1.3经济可行性52.2需求分析62.2.1用户中心62.2.2主题中心62.2.3管理员功能72.2.4统计功能72.3开发工具及相关技术简介72.3.1相关工具简介72.3.2相关技术概述82.4系统的数据流图92.5用例图93总体设计103.1功能分析103.2数据库设计114详细设计与实现124.1数据库连接124.2前台显示模块134.3后台管理模块185测试与运行环境185.1系统测试185.2系统调试185.3运行环境18结论19参考文献20致谢21附录数据表错误!未定义书签。1绪论1.1课题研究的目的及意义设计的首要目的是运用已经学习到的

3、java语言和SQL Server数据库知识自主实现一个实用的系统,使得现有知识得到更好的巩固,更加熟练。同时在实现中学习到更多新的知识,能更深入掌握JSP、Java语言,了解软件开发的全过程,为以后的学习与工作打下坚实的基础。BBS论坛系统是在网上提供交流的手段。它可以用于满足网名的日常信息交流、技术讨论、查看新闻等,利用网络实时、便捷的特点来方便人们的交流、联系和娱乐。1.2国内外研究动态进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同

4、的趋势,一种是称为客户端服务器的C/S结构应用系统,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中。而另一种,也是本毕业设计所采用的,是称为浏览器服务器的B/S结构应用系统,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐。Internet起源于20世纪60年代末、70年代初,当时,美国国防

5、部为了将充斥于军事基地内各种厂商的电脑主机互连,让它们可以进行数据交换以便研究工作顺利进行,于是成立了ARPA网络计划。ARPA计划尝试建设一个网络系统,它可将各种不同厂商的电脑连接起来。随着这个计划的成功,各学术单位,研究机构也纷纷与ARPA计划所建立的ARPANet连接。到了20世纪80年代,Internet这个名词因势产生,它代表着这十年来所构建涵盖全球各地的网络系统。从1990年起,商业使用的Internet在美国急速地扩大,而Internet也从原来属于少数人使用的网络系统转变为普通百姓也能够使用的网络系统。最初的Internet资源服务都还停留在文本模式,1989年,量子物理实验室

6、(CERN)下的一个研究小组着手开发一种全新的Internet服务,它可以在网络上传送图片、文本、影像、声音等多媒体数据。于是由Tim Berners Lee领导的小组开发出了一种主从、分布式的网络服务系统,这就是WWW(World Wide Web),俗称“万维网”。所谓WWW其实就是连上Web服务器访问资源,取得的内容就是所谓的“主页”(HomePage)。进入的网页通常不会只有一页,而是整个网站的内容。“网站”是一种呈现在网络上的新兴媒体,通过Internet已经成为一个实时的,多媒体的信息传播渠道。它的载体主要是电脑,范围覆盖全球各地,没有国界,不分人种,时时刻刻地提供服务。目前,人们

7、渐渐开始把网站称之为广播、电视、报刊以外的第四新闻媒体,以“共享、公平、公正、创新、国际化、团队精神”为特征的网络文明也已逐渐成为这个时代的标志,人们越来越习惯于通过Internet网络获取信息,通过Internet在网站上发表自己对社会对生活的理解和建议。随着网络的普及,论坛的内容越来越丰富,论坛也由此深受广大网民的喜爱,因此商业网站对论坛也重视起来,提供与网民交流的平台,同时在线技术支持也在论坛中开展起来。1.3本文的工作BBS论坛系统就是提供给用户一个平台,会员用户可以通过Internet接入,登录论坛,在这个平台上发表文章、阅读文章、回复文章等等。此类系统通常有以下四种类型的操作用户:

8、匿名用户、普通用户、版主、管理员。每类用户有其不同的操作集,系统通常提供一个统一的登录页面,此页面应能自动识别不同级别的用户,并提供不同的操作界面。与之相应,此类系统通常应具有以下功能:用户注册、用户登录、发表文章、阅读文章、回复文章、分页查找、主题查找、作者查找、个人资料维护、找回密码、用户管理、友情链接管理等等,所有操作都可以由用户在客户端浏览器中完成,而服务器端程序会按用户的要求来完成对系统数据的操作,并将结果传给Web服务器,再由Web服务器处理成HTML文件后发送到客户端浏览器。这就是所谓的B/S结构应用系统,B/S结构即Browser/Server(浏览器/服务器)结构,是随着In

9、ternet技术的兴起,对C/S结构的一种变化或者改进的结构。C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。B/S结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓N-Tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript)和ActiveX技术,用通用浏览器就实现了

10、原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。结合BBS论坛系统实际需要,本BBS系统采用B/S结构。论文设计开发的系统为通用BBS系统,系统应该具备较大的可伸缩性,应该能适应最基本应用最广泛的Web平台。另外,通用系统应该具备较大的可扩展性,而Java 语言是面向对象的,面向对象编程注重程序的可扩展性,且Java 语言是跨平台执行的,JSP相对其他网页编程语言有更多的优点,所以本系统采用Java+JSP作为编程语言。2系统分析2.1可行性分析商业软件是根据客户的

11、根本目的和需要而设计和开发的,可行性是开发的系统具有使用价值和生命力的保证。2.1.1社会可行性当前社会是一个网络化的社会,网络就在人们周围,人们从网络上获取并发布信息,而本系统正是应这一需求而产生,为企业,个人发布,获取有价值的信息提供场所。所以本系统具有社会可行性。2.1.2技术可行性本系统采用java语言,用SQL Server数据库作为后台数据库,安装和使用简单易学,方便操作;前台页面采用JSP动态页面,JSP相比ASP、PHP都有很大的优势;服务器采用Tomcat服务器,它是一个开源软件。开发人员在学习了这些语言或工具之后,有能力开发本系统。2.1.3经济可行性经济可行性是指软件所带

12、来的经济效益与开发设计所需要的投资费用相比较是否适当,软件是否会给使用者带来经济效益。首先随着计算机软件和硬件技术的飞速发展,计算机软、硬件价格不断下降,设计本系统所投入的资金下降。与使用本系统为企业发布、获取信息所节省的价值相比,应用本系统带来的收益较大,经济效益可观,所以在经济上是可行的。2.2需求分析需求分析虽处于软件开发过程的开始阶段,但它对于整个软件开发过程以及软件产品质量是至关重要的。随着软件系统复杂性的提高及规模的扩大,需求分析在软件开发中所处的地位愈加突出1。所谓需求,是指用户对目标软件系统在功能、行为、性能设计约束等方面的要求。在需求分析工作中,系统分析人员对用户的需求进行调

13、查和分析,确定现有环境的特征,正确定义目标软件的特征 。因此,需求分析工作是对应用环境及其问题进行理解和分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化。BBS论坛系统设计实现以下功能:用户中心:包括用户注册、用户登录、用户注销、增加好友、删除好友、修改个人资料等功能。主题中心:包括主题分类(论坛版块)、查看主题、查看回复、发表主题、发表回复、对主题或回复进行搜索等功能。管理员中心:管理员对论坛进行一些基本的维护,包括对帖子的删除、置顶、设为精华帖,对用户的删除、授权,对版块的权限管理,对用户组及用户组的权限的管理等2。统计功能:对论坛的相关参数进行统计。2.2.1用户中心当用

14、户进入网站首页时,会有一个登录窗口,已经注册的会员用户可以在这个窗口中登录。没有登录的用户只能查看主题,不能发表主题或评论。登录之后,用户就可以发表主题或回复;查看或修改自己个人信息,包括修改用户头像,可以选择自己喜欢的图片作为自己的头像;可以给好友发送短信息,查看或删除自己收到的信息;用户可以在好友里设置自己的关系网,让用户与自己的好友交流更加方便,也可在让用户不接收不愿意见到的人的信息。没有注册的用户可以在登录窗口中点击注册超链接进入新用户注册页面,输入用户名、密码、密码提示问题、提示问题答案,即可注册成为网站的会员。密码提示问题是为找密码设置的,当用户忘记密码或密码丢失后可以通过输入提示

15、问题答案来找回密码,如果用户回答正确,将让用户重新设置密码。2.2.2主题中心系统有版块,主题和回复,其中版块是对主题的分类,回复是在主题下发表的,是用户对主题的评论。当用户进入首页时会显示论坛的所有版块及每个版块下的主题数,帖子总数,最后发表主题的用户、时间。进入版块之后显示该版块下的主题及该主题下的回复数,点击数,最后发表评论的用户、时间。点击主题名进入主题页面,该页面有主题内容,发表该主题的用户的用户名、积分、用户组、注册时间,该主题下的回复及发表回复的用户的个人信息。已登录用户可以在版块下发表主题,在主题下发表回复,还可以按关键字对主题或回复进行搜索,并支持模糊查询。匿名用户只能查看主

16、题内容,对主题或回复进行搜索,但不能发表主题,不能发表回复。2.2.3管理员功能管理员作为一个特殊的用户,除了拥有普通用户拥有的功能外,还可以修改用户权限,管理用户组,管理版面,设置版主,控制用户组权限。版主作为权限最少的管理者只能对自己所管理的版面的主题进行删除、置顶,设置精华贴,屏蔽用户的回复,编辑版面说明等。2.2.4统计功能显示论坛当前注册总人数、当前帖子总数、论坛点击总数、当前在线人数,会员人数以及游客人数。用户表现积分排行,调动用户积极性。用户每次上线、发表主题或回复都会得到相应的积分,并以此来体现用户的活跃程度。系统会对主题按点击数进行排序,对版面按主题数进行排序,帖子点击统计,

17、方便了解热点话题。本日版面排行榜,本日作者排行榜。2.3开发工具及相关技术简介本系统采用的工具有JDK 1.5、Tomcat 6.0、MyEclipse 8.5、SQL Server2005,使用的技术有Java、JSP、JavaScript、JDBC等。2.3.1相关工具简介(1) JDK 1.6.0JDK是Sun 公司Java应用程序和组件的开发环境,是编译和测试工具,也是提供java程序的Java虚拟机平台,是调试和运行JSP所不可缺少的工具。本系统采用JDK1.6.0版本3。(2) Tomcat 6.0Tomcat是开源的servlet和JSP容器(Sun官方推荐容器),它是Jakar

18、ta项目中一个重要的组成,由Apache、Sun和其他一些公司及个人开发。Tomcat内部实现了Servlet和JSP引擎,而且扩展了一些应用服务器的功能,例如JNDI、数据库连接池、用户事务处理等。目Tomcat被广泛地应用于中小规模的Java web应用中4。(3) MyEclipse 8.5MyEclipse是在Eclipse集成开发环境中提供Web应用程序开发的插件,在目前软件开发的Java领域中,MyEclipse是一个使用非常广泛的工具。MyEclipse是Eclipse软件的一个插件,Eclipse软件是免费的,但MyEclipse不是一个完全免费的产品,需要购买。(4) SQL

19、 Server2005SQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应SQL Server安装界面用。SQL Server2005有着高可用性、

20、安全性增强、可伸缩性、易用性、可管理性、及对大型SQL Server配置的支持的显著特性,利于开发人员对数据的开发和维护。2.3.2相关技术概述(1) Java语言概述Java编程语言是一种通用、并发、基于类且面向对象的语言。Java编程语言与C和C+相关,但是在组织方式上有差别,Java具有C和C+遗漏的许多优点,同时兼有其他语言包括的一些思想。它旨在成为一种生产语言,而不是一种研究语言,并且正是如此7。(2) JSP技术概述JSP (Java Server Pages)是由Sun 公司倡导,许多公司参与,共同建立人一种动态网页技术标准,JSP技术是在Servlet技术基础上发展起来的。它正

21、在飞速发展中,现在已经成为Java服务器编程的重要组成部分。(3) JavaScript技术概述JavaScript是一种基于对象(Object)和事件驱动(Event Driver)并具有安全性能的脚本语言,它所能提供的功能非常强大。JavaScript是一种简洁的面向对象的描述语言,是专门用来开发Internet客户端和服务器端的应用程序,它可以被轻易的嵌入到HTML文件中,使用JavaScript浏览器可以回应使用者的需求事件而不用通过网络来回传资料,这样,使用者的资料就可以直接被客户端应用程序所处理,它的出现弥补了HTML语言的缺陷,它是Java与HTML折衷的选择92.4系统的数据流

22、图数据流图即DFD(Data Flow Diagram)图。是用于分析系统数据流程的图形,意在让用户理解系统的功能、输入、输出和数据存储等。BBS系统的第一层数据流图如图2-1所示,描述系统由哪几部分组成,各部分之间有什么联系13。2.5用例图用例是系统、子系统或类和外部的参与者(actor)交互的动作序列的说明,包括可选的动作序列和会出现异常的动作序列。用例是代表系统中各个项目相关人员之间就系统的行为所达成的契约。在UML中,用例用一个椭圆表示,用例名往往用动宾结构或主谓结构命名14。参与者是指用户在系统中的扮演的角色,其图形化表示是一个小人。BBS系统的用例有用户注册、登录、注销、浏览主题

23、、发表主题、发表回复;管理员管理用户、管理主题。用例图如图2-2所示。3总体设计3.1功能分析后台管理模块BBS系统功能模块前台显示模块图3-1 BBS系统功能模块图BBS系统分为前台和后台两个模块。系统的功能模块图如图3-1所示。前台模块的使用对象包括了所有用户(管理员、用户、游客),提供的功能包括注册帐号、用户登录、用户注销、浏览文章、发表新主题、回复主题、修改个人信息。如图3-2所示。后台模块的使用对象为管理人员(版主、管理员、超级管理员),提供的功能包括管理用户、管理版块、管理主题、管理用户组、功能权限管理、版块权限管理。后台功能模块如图3-3所示。3.2数据库设计根据前面的需求描述,

24、本系统中可以抽象出来的数据模型有:1 后台管理员表(TBL_Admin)2 板块表(TBL_Board)3 用户组表(TBL_Grade)4 主题表(TBL_Topic)5 积分表(TBL_Score)6 回帖表(TBL_Reply)7 用户表(TBL_User)4详细设计与实现4.1数据库连接系统采用JDBC架构,数据库采用SQLServer,其连接数据库的关键代码:1statictry Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch (ClassNotFoundException e) e.printSt

25、ackTrace();.2.public ResultSet query(String sql,String args)try conn = DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;database=bbs,sa,123456);pstmt = conn.prepareStatement(sql);if(null != args)for(int i=0;iargs.length;i+)pstmt.setString(i+1, argsi);return pstmt.executeQuery(); catch (SQL

26、Exception e) e.printStackTrace();return null;3public void closed(ResultSet rs)if(rs != null)try rs.close(); catch (SQLException e) e.printStackTrace();if(pstmt != null)try pstmt.close(); catch (SQLException e) e.printStackTrace();if(conn != null)try if(!conn.isClosed()conn.close(); catch (SQLExcepti

27、on e) e.printStackTrace();使用注入Dao的形式进行数据库操作,在Dao中实现对数据表的增加、删除、查询、修改操作。 4.2前台显示模块前台显示模块包括用户的一些功能,具体的可分为用户注册、用户登录、用户注销、修改个人信息、查看版面、查看主题、查看回复、发表主题和发表回复等功能。由于主题是在版块下存在的,所以在版块下的任何地方都可以发表主题,而回复只能是针对主题进行回复,所以必须在主题下才能发表回复,也就是在主题页面下才能点击发表回复。现将部分功能说明如下:(1) 用户注册:新用户在enrol.jsp页面中输入用户名,密码,密码提示问题、提示问题答案,点击提交按钮,数据

28、提交到enrolinfo.jsp中进行处理,在enrolinfo.jsp中,如果用户名已经有人使用则返回注册页面,否则提示用户注册成功,并跳转到登录后的页面index_logined.jsp。enrolinfo.jsp的代码如下:(2) 用户登录:用户在有帐号的前提下,可以在登录页面login.jsp或主页index.jsp中输入用户名和密码点击登录,系统将用户名和密码提交到doLogin.jsp中的处理,将用户提交的用户名和密码再转交给后台的Dao进行查询,如果有这样的一条记录存在则登录成功,将用户的个人信息保存在浏览器端的Session中,否则返回登录失败页面,并提示用户名或密码错误。do

29、Login.jsp的代码如下:(3) 用户注销:已登录用户在退出网站时注销登录状态,系统将请求交给login_off.jsp处理,在login_off.jsp中修改用户最后离线时间,将修改保存到数据库中,并将浏览器端的Session的user属性移除,系统返回主页。用户同时失去登录用户的权限,以游客身份访问网站,只能浏览主题,不能发表主题,也不能发表回复。login_off.jsp的代码如下:(4) 查看版面:首页显示BBS的版块及主要信息,点击版块名进入版块下会进入toppic.jsp板块页面页面,点击主题名可以进入主题页面。toppic.jsp的部分代码如下:%if (list_topic

30、 != null) for (int i = 0; i (5) 查看主题:当用户在主页上点击版块名时,会产生一个动作,向服务器产生一个请求,服务器将程序交给replydf.jsp处理,在replydf.jsp中取出模块下的所有主题及最后发表回复的作者的信息将其显示在主题页面。4.3后台管理模块管理员可以删除用户、增加版块、删除版块、查询版块、删除主题、修改主题属性、新增版块权限、查询版块权限、删除版块权限。管理员不能删除其他的管理员,管理员只有超级管理员才能够设置和删除。超级管理员具有网站的一切功能。现将部分功能介绍如下:管理员作为特殊的用户,通过/HTHTML/login.jsp管理员登陆页

31、面进行登录到后台主页,在管理页面有版块管理、主题管理、回复管理、用户管理。5测试与运行环境5.1系统测试软件测试的目的在于在软件投入运行之前,尽可能多地发现软件中的错误,软件测试是对软件规格说明、设计和编码的最后复审,是软件质量的保证的关键步骤15。系统测试一般分为模块测试、组装测试、确认测试。确认测试是软件需求说明书上的功能进行逐项检验,模块测试是查找各模块在功能结构上存在的问题。本系统采用模块测试,对系统的每个功能进行测试。5.2系统调试通过测试后,发现用户注册的功能不能对输入的信息进行校验,JavaScript对输入的数据没有进行校验,通过查找源代码,发现是函数没有写对。另外还发现了其他

32、一些错误,经过使用打印语句输出数据处理结果的方法,也都找出了错误所在。5.3运行环境(1) 软件环境操作系统是Windows 2003 Professional/Server,WindowsXP Professional、Windows.NET Server或以上版本;数据库使用SQL Server 2005或以上版本,JDK1.5或以上版本,Tomcat5.0或以上版本。IE版本为IE6.0(2) 硬件环境内存至少为128MHZ;CPU要求为Intel Pentium 800MHZ或以上更高频率的CPU。(3) 安装路径安装好SQLServer2005数据库后,将SQLServer2005数

33、据库备份文件导入SQLServer2005中,安装JDK后安装Tomcat,将工程文件QNbbs包放在Tomcat的根目录下的webapp文件夹下,打开Tomcat服务器,在浏览器窗口输入http:/localhost:8080/QNbbs进入系统主页面。结论通过开发一个基本的基于Web的BBS系统,可扩展性很大,科学的开发过程也极有利于系统的扩充与扩展。系统现在采用的是SQL Server 2005数据库。系统的分析与定义都结合了现在流行的面向对象方法以及传统的MVC结构分析与设计方法。通过这次毕业设计,我从中学到了许多新的知识,而且通过这次毕业设计,培养了我综合多门学科中的知识、迅速规划并开发出目标系统的能力,以及编程能力也有了很大的提高。另外也有许多心得体会,所谓系统开发如人生百味,酸甜苦辣皆有之。严格按工程的方法来设计系统相当重要,不能认为基于Web的数据库管理的BBS系统很小,可以无需花太多的时间来做系统分析,甚至可以无需经过系统定义而直接进入系统编码阶段。系统分析过于简单,系统定义过于抽象,则

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1