1、BBS论坛毕业设计人生最大的幸福,是发现自己爱的人正好也爱着自己。 毕业论文题 目 计算机系BBS论坛 学 院 物理与信息科学学院 姓 名 _专 业 计算机科学与技术 学 号 _指导教师 _提交日期 _原创性声明 本人郑重声明:本人所呈交的论文是在指导教师的指导下独立进行研究所取得的成果学位论文中凡是引用他人已经发表或未经发表的成果、数据、观点等均已明确注明出处除文中已经注明引用的内容外不包含任何其他个人或集体已经发表或撰写过的科研成果本声明的法律责任由本人承担论文作者签名: 年 月 日 论文指导教师签名: 计算机系BBS论坛摘要随着信息技术的快速发展人与人之间交流方式越来越先进在当今时代QQ
2、、留言板、博客、微信等已成为人们彼此沟通、交流信息的主要方式此外为了方便人们在某一专业领域探讨问题、发表意见和更深入的交流BBS论坛就应运而生了在此BBS论坛上人们可以对计算机领域或者其他方面提出自己遇到的问题和见解即发表相关问题的主题来得到其他相关学界人士的解答自己也可以去浏览和解答其他人不同程度的问题从而达到相互学习和交流的目的开发BBS论坛系统的目的是提供一个供用户交流的平台为广大用户提供交流经验、探讨问题的网上社区系统提供给用户注册和登录的功能只有注册的用户登录后才能够发表和回复主题等操作来表达自己的思想和见解未登录者只能浏览主题信息因此BBS论坛系统拥有的发表主题和回复等功能成了论坛
3、的最大特色使得本论坛深受人们的青睐 本论坛系统是基于Struts+jstl+Spring+hibernate+lucene实现的它具有使用方便、操作简单、运行稳定、安全可靠等特点关键词:BBS论坛StrutsSpringHibernate BBS forums of the department of computer scienceAbstract With the rapid development of information technology more and more advanced means of communication between people. Today QQ
4、 message boards blog micro-letters and other people communicate with each other the main way to exchange information. In addition in order to easy for people to study the issue in a particular area of ?expertise views and more in-depth exchanges BBS forums came into being. BBS forum people can put f
5、orward the field of computer or other problems encountered and insights issued a related theme to get the answers of other academics they would be to browse and to answer other people to varying degrees problems in order to achieve the purpose of mutual learning and exchange. The development of BBS
6、forum system aims to provide a platform for users to exchange exchange experiences to provide customers with problems addressed in the online community. The system provides functionality to the user registration and login. Only registered users to log on before we can publish and reply to the topic
7、and other actions to express their ideas and opinions not logged in can only browse the subject information. BBS forum system has released the topics and reply to other functions became the most significant feature of the forum makes the forum by the people of all ages. This forum system is based on
8、 Struts + jstl + Spring + Hibernate + Lucene and it has easy to use simple to operate stable safe and reliable.Keywords: BBS forum Struts Spring Hibernate.第1章 绪 论 1第2章 系统分析 22.1 需求分析 22.2 可行性分析 2第3章 系统总体设计 43.1 系统目标 43.2 系统功能结构 43.2.1 前台功能结构 43.2.2 后台功能结构 53.3 系统流程图 53.4 系统开发环境 73.4.1 开发环境 73.4.2 系统
9、平台体系结构的选择 73.4.3 主要技术 83.4.4 Mysql数据库 93.4.5 JDBC技术 10第4章 数据库设计 114.1 数据库分析 114.2 数据库概念设计 114.3 数据库逻辑设计 17第5章 系统主要模块设计与实现 215.1 前台设计 215.1.1 前台页面主要部分的设计与实现 215.1.2 查看首页面的论坛类别及回复 225.1.3 站内主题搜索页面 235.1.4 查看根贴和回复贴内容 24结 论 27致 谢 28参考文献 29第1章 绪 论随着互联网日益深入社会生活BBS开发技术已趋于成熟BBS论坛的功能不断增加并且完善Java技术所实现的一次编写到处运
10、行的优势很明显继承这一优势的web开发技术越来越受到人们的注视BBS作为一种流行的交流论坛平台进行内外信息交流已成为大众的广泛需要为了进行更好的交流用户想就自己的专业和爱好能和其他的人士进行及时专业的交流这样以来我们就可以在网络这个虚拟的空间中更方便地实现交流作为计算机系的我们当然也就缺少不了专业学术的交流以及其他方面的探讨所以开发这么一款计算机系BBS论坛也就成了必要的事从而使得我们达到学术更好的交流与分享Java是当今最流行的开发语言之一具有简单、跨平台等很多优势JSP则是Java在InternetIntranet Web上的重要应用技术得到了广泛的支持和承认它可以和各种Java技术完好地
11、结合在一起从而实现非常复杂的应用本网站主要使用Struts+jstl+Spring+hibernate+lucene技术在MyEclipse系统开发的从而创建一个更为稳定高效安全的运行环境本系统主要基于Struts+jstl+Spring+hibernate+lucene技术开发计算机系BBS论坛系统最基本的功能首先是发表主题此外为了记录主题的发表者和回复者的相关信息系统还需要提供用户注册和登录的功能只有注册的用户登录后才能够发表和回复主题未登录者只能浏览主题信息本BBS论坛具备以下各大功能:用户注册、用户登录、站内主题搜索、显示各论坛类别及版面、查看版面下所有根帖、查看精华帖子、查看公告、查
12、看头条、查看查看自己发表的帖子、查看根帖内容、发表帖子、回复帖子、Blog链接、后台管理、论坛类别管理、版面管理等设计BBS论坛系统所要考虑的问题最重要的是合理设计系统的架构提高系统的可扩展性代码部分尽量做到封装算法设计简单合理保证程序的逻辑结构清晰从而使程序具有较好的可读性和可移植性有利于其他的设计者对程序的阅读和系统本身代码的维护和安全性;力求对数据库设计合理、操作安全与稳定尽量避免数据库操作异常带来的严重损失综合以上各个方面的因素才能使得系统的综合性能提高使得系统高效安全稳定的运行带给用户更多方便第2章 系统分析2.1 需求分析1功能需求分析开发计算机系BBS论坛系统的目的主要是提供给计
13、算机系人士一个供交流专业学术的平台为广大用户提供交流经验、探讨问题的社区用户可以阅读他人关于某个主题的看法也可以将自己的想法毫无保留地贴到公告栏中这样通过BBS论坛广大用户的思想观点即会体现出来可充分反应最广大人民群众的集体意见因此BBS论坛系统最基本的功能首先是发表主题其次是其他人员根据主题发表自己的看法此外为了记录主题的发表者和主题回复者等的相关信息系统还需要提供用户注册和登录的功能只有注册的用户登录后才能够发表和回复主题以及其他的相关操作而未登录者只能浏览主题信息不能进行相关的操作根据用户的需求及以上的分析本BBS论坛需要具备以下主要的前台功能和后台功能(1)系统前台功能:显示各论坛类别
14、及版面、显示用户信息、查看版面下所有根帖、查看精华帖子、查看自己发表的帖子、站内主题搜索、查看根帖内容、Blog链接、用户注册、用户登录、发表帖子、回复帖子等(2)系统后台功能:进入后台、论坛类别管理、版面管理、角色管理、会员管理、主题搜索管理、博客链接管理2.2 可行性分析可行性分析是在系统调查的基础上针对新系统的开发是否具备必要性和可能性对新系统的开发从技术、经济、社会的方面进行分析和研究以避免投资失误保证新系统的开发成功可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决从而综合性的提高系统的整体性能和系统的运行效率 1技术可行性 技术上的可行性分析主要分析技术条件能否
15、顺利完成开发工作硬、软件能否满足开发者的需要等该BBS论坛管理系统采用了流行的JSP语言和当前新兴的Browser/Server(浏览器/服务器)模式进行开发三层的B/S体系结构具有许多传统Client/Server(客户机/服务器)体系结构不具备的优点而且又紧密的结合了Internet/Intranet(国际互联网/企业内部互联网)技术是技术发展的大势所趋它把应用系统带入了一个崭新的发展时代数据库服务器选用mysql5.5数据库它能够批量处理数据同时保持数据的完整性并提供许多高级管理功能它的灵活性、安全性和易用性为数据库编程提供了良好的条件因此系统的软件开发平台已成熟可行硬件方面科技飞速发展
16、的今天硬件更新的速度越来越快容量越来越大可靠性越来越高价格越来越低其硬件平台能满足此系统的需要2经济可行性主要是对项目的经济效益进行评估本系统模拟的是提供一个供用户交流的平台为广大用户提供交流经验、探讨问题的社区但实际只是用于个人的毕业设计只是模拟也不存在资金的流动故在经济上是可行的 3社会可行性 随着Internet技术的快速发展BBS论坛已成为人们彼此沟通、交流信息的主要方式在论坛上人们可以对计算机领域或者其他领域提出自己遇到的问题和自己的看法随后论坛上的其他人会根据自己的学识、经验发表意见或提出解决问题的方法本BBS论坛不但拉近了人们之间的距离而且它早已成为人们网上生活的必备交流工具所以
17、说计算机系BBS论坛对当今计算机相关专业人士是相当重要的第3章 系统总体设计3.1 系统目标对于典型的数据库管理系统尤其是对像BBS论坛这样的数据流量特别大的网络管理系统必须要满足使用方便、操作灵活等设计需求本系统在设计时应满足以下几个目标: 1采用人机对话的操作方式界面设计美观友好信息查看灵活、方便、快捷、准确数据存储安全可靠2全面展示系统内所有分类的帖子并进行分页显示3为用户提供一个方便、快捷的主题信息查看功能4实现在线发表帖子5提供登录模块主要用开管理员登录系统和发表帖子时保留发表者的信息6用户随时都可以查看自己发表的帖子7对用户输入的数据系统进行严格的数据检验尽可能排除人为的错误8系统
18、最大限度地实现了易维护性和易操作性9系统运行稳定安全可靠3.2 系统功能结构3.2.1 前台功能结构用户访问论坛首页面后可进行查看版面下根贴信息、查看自己发表的帖子、查看精华帖子、搜索帖子、查看根贴信息、用户注册等功能用户在此BBS论坛中通过注册成为该网站的真正用户并成功登录系统后可进行发表帖子、回复帖子、查看自己发表的帖子等操作前台功能结构图如图3.1所示图3.1 计算机系BBS前台功能结构图3.2.2 后台功能结构若用户的权限为管理员则可进入后台可进行论坛类别的管理、版面管理和用户管理的操作后台功能结构图如图3.2所示 图3.2 计算机系BBS后台功能结构图3.3 系统流程图1计算机系BB
19、S论坛的系统后台流程图如图3.3所示图3.3 BBS论坛系统后台流程图2计算机系BBS论坛的系统前台流程图如图3.4所示图3.4 计算机系BBS论坛的系统前台流程图3.4 系统开发环境3.4.1 开发环境在开发此论坛的时候需要具备下面的软件和开发环境服务器端: 操作系统:Windows XP Web服务器:Tomcat 6.0 Java开发包:JDK 1.6 数据库:Mysql5.5 集成开发工具:Myeclipse9.0 浏览器:IE8.0客户端: 浏览器:IE8.03.4.2 系统平台体系结构的选择在应用开发领域中目前系统平台的体系结构主要有两种即C/S(Client/Server)结构和
20、B/S(Brower/Server)结构C/S结构即大家熟知的客户机和服务器结构它是软件系统体系结构通过它可以充分利用两端硬件环境的优势将任务合理分配到Client端和Server端来实现降低了系统的通讯开销B/S结构即浏览器和服务器结构它是一次性到位的开发能实现不同的人员从不同的地点以不同的接入方式(比如LANWAN等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限服务器数据库也很安全特别是在JAVA这样的跨平台语言出现之后B/S架构管理软件更是方便、快捷、高效传统的C/S体系结构虽然采用的是开放模式但这只是系统开发一级的开放性在特定的应用中无论是Client端还是Server
21、端都还需要特定的软件支持由于没能提供用户真正期望的开放环境C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件加之产品的更新换代十分快已经很难适应百台电脑以上局域网用户同时使用而且代价高效率低B/S结构是随着Internet技术的兴起对C/S结构的一种变化或者改进的结构在这种结构下用户界面完全通过web浏览器实现一部分事务逻辑在前端实现但是主要事务逻辑在服务器端实现用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能并节约了开发成本是一种全新的软件系统构造技术因此本系统采用了B/S结构3.4.3 主要技术 1.Strutsstruts是开源软件使用Struts的目的是为了帮助我们
22、减少在运用MVC设计模型来开发Web应用的时间如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用struts是一个不错的选择 2JstlJSTL(JSP Standard Tag Library JSP标准标签库)是一个不断完善的开放源代码的JSP标签库是由apache的jakarta小组来维护的JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上如tomcat 4.x在JSP 2.0中也是作为标准支持的在应用程序服务器之间提供了一致的接口最大程度地提高了WEB应用在各应用服务器之间的移植简化了JSP和WEB应用程序的开发 3.Springspring在英文里有
23、春天、弹簧、跳跃和泉眼的意思Spring 也表示是一个开源框架是为了解决企业应用程序开发复 杂性由Rod Johnson创建的框架的主要优势之一就是其分层架构分层架构允许使用者选择使用哪一个组件同时为 J2EE 应用程序开发提供集成的框架Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情然而Spring的用途不仅限于服务器端的 开发从简单性、可测试性和松耦合的角度而言任何Java应用都可以从Spring中受益 4.HibernateHibernate是一个开放源代码的对象关系映射框架它对JDBC进行了非常轻量级的对象封装使得Java程序员可以随心所欲的使用对象编程思维来操
24、纵数据库 Hibernate可以应用在任何使用JDBC的场合既可以在Java的客户端程序使用也可以在Servlet/JSP的Web应用中使用最具革命意义的是Hibernate可以在应用EJB的J2EE架构中取代CMP完成数据持久化的重任 5.LuceneLucene是apache软件基金会4 jakarta项目组的一个子项目是一个开放源代码的全文检索引擎工具包即它不是一个完整的全文检索引擎而是一个全文检索引擎的架构提供了完整的 查询引擎和索引引擎部分文本分析引擎(英文与德文两种西方语言)Lucene的目的是为软件开发人员提供一个简单易用的工具包以方便的在目标系统中 实现全文检索的功能或者是以此
25、为基础建立起完整的全文检索引擎3.4.4 Mysql数据库MySQL是一个小型关系型数据库管理系统开发者为瑞典MySQL AB公司在2008年1月16号被Sun公司收购而2009年SUN又被Oracle收购MySQL是一种关联数据库管理系统关联数据库将数据 保存在不同的表中而不是将所有数据放在一个大仓库内这样就增加了速度并提高了灵活性MySQL的SQL结构化查询语言SQL是用于访问数据库的最常用标准化语言MySQL软件采用了GPL(GNU通用公共许可证)由于其体积小、速度快、总体拥有成本低尤其是开放源码这一特点许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库本系统使用C和
26、C+编写并使用了多种编译器进行测试保证源代码的可移植性支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统为多种编程语言提供了API这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等支持多线程充分利用CPU资源优化的SQL查询算法有效地提高查询速度既能够作为一个单独的应用程序应用在客户端服务器网络环境中也能够作为一个库而嵌入到其他的软件中提供多语言支持常见的编码如中文的GB 2312、BIG5日文的Shift_JIS等都可以
27、用作数据表名和数据列名提供TCP/IP、ODBC和JDBC等多种数据库连接途径提供用于管理、检查、优化数据库操作的管理工具可以处理拥有上千万条记录的大型数据库支持多种存储引擎所以本BBS论坛系统也选择Mysql数据库3.4.5 JDBC技术数据库通信接口采用JDBC(Java Database ConnectivityJava数据库连接)JDBC是一组API定义了用来访问数据库源的标准JAVA类库使用这种类库可以使用一种标准的方法、方便地访问数据库资源JDBC是用于执行SQL语句的Java应用程序接口由一组用Java语言编写的类与接口组成在JSP中将使用JDBC来访问数据库JDBC是一种规范它
28、让各数据库厂商为Java程序员提供标准的数据库访问类和接口这样就使得独立于DBMS的Java应用程序的开发工具和产品成为可能JDBC的目标是使应用程序开发人员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统这样就使得程序员无须对特定的数据库的特点有过多的了解从而大大简化了和加快了开发过程一般的Java开发工具都带有JDBC - ODBC桥驱动程序这样只要是能够使用ODBC访问的数据库系统也就能够使用JDBC访问了有趣的是不同于ODBC是Open Database Connectivity的简称JDBC并不是Java Database Connecivity的简称而是SUN的注册商标至
29、少官方说法是这样的JDBC API 为访问不同的数据库提供了一种统一途径像ODBC一样JDBC为开发者屏蔽了一些细节问题另外JDBC对数据库的访问也具有平台无关性第4章 数据库设计4.1 数据库分析数据库的设计在程序的开发中起着至关重要的作用它往往决定了在后面的开发中进行怎样的程序编码一个合理、有限的数据库设计可降低程序的复杂性使程序开发的过程更为容易本系统是一个中型的供求信息网站考虑到开发成本、用户信息量客户需求等问题决定采用Mysql作为项目中的数据库Mysql 是一种中小型的关系型数据库它具有很强的数据完整性、可伸缩性、可管理性、可编程性;具有均衡与完备的功能;具有较低的价格与性能比Mysq
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1