基于JAVA的论坛BBS的实现.docx
《基于JAVA的论坛BBS的实现.docx》由会员分享,可在线阅读,更多相关《基于JAVA的论坛BBS的实现.docx(45页珍藏版)》请在冰豆网上搜索。
![基于JAVA的论坛BBS的实现.docx](https://file1.bdocx.com/fileroot1/2023-8/3/7b9c6d3c-5c0d-452b-977b-7ca16c337199/7b9c6d3c-5c0d-452b-977b-7ca16c3371991.gif)
基于JAVA的论坛BBS的实现
摘要
在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活、学习等各个方面发挥着重要的作用。
因此网站建设在Internet应用上的地位显而易见,它已成为政府、企事业单位、学校信息化建设中的重要组成部分,从而倍受人们的重视。
这次我们所设计的课题正是互联网与社会生活之间的紧密关系的体现,现今的社会,人们已经离不开了网络,网络已经成为人与人之间交流的一种形式,他能够把事情的复杂化转为简单化。
论坛BBS管理系统,可以更好的实现与用户的交互,通常需要搜集用户的有关信息,关对用户进行区别划分,本站点的对会员提供更好的服务。
现在在很多的企业站点都有BBS,通过论坛更加快捷的了解企业员工的信息,而建立会员服务的基础是建系论坛管理系统。
通过该系统可以进行用户与用户间的交流、企业与企业间的信息交互,利用网络经济而又快捷地与外界进行各种信息沟通,取得更有用的信息资源。
这次我的课题是理学院BBS平台的开发,通过这个论坛,可以展示每一个同学的风采、优点,发布个人对一些事物的看法,增强同学们之间,团体与团体之间,同学与团体之间的交流联系。
在Internet上实现信息的传递,提高办事效率,它已成为同学们沟通和获取信息的重要组成部分。
为了更方便同学们的沟通和获取信息,特构建此论坛。
关键词:
JSP,MicrosoftSQLServer2000,tomcat,eclipse,理学院BBS
CollegeofScienceBBSonDevelopmentPlatform
ABSTRACT
TherapiddevelopmentoftheInternettoday,Internetaccesstobecomeafastreleaseandanimportantchannelfortransmittinginformation,it'spolitical,economic,andlifeinallaspectsoflearningtoplayanimportantrole.ThereforetheconstructionsiteinthestatusofInternetapplicationsObviously,ithasbecomethegovernment,enterprises,institutions,schoolsofinformationtechnologyanimportantpartofsomuchattention.
TheissuewehavedesignedtheInternetandsociallifeisthecloserelationshipbetweentheembodimentoftoday'ssociety,peoplehavecannotbeseparatedfromthenetwork,thenetworkbetweenpeoplehasbecomeaformofexchange,hewasabletothingstosimplifythecomplicated.BBSForummanagementsystemthatcanbetterinteractwithusers,usersusuallyneedtocollectrelevantinformationrelatedtothedifferencebetweentheuserdivision,membersofthesitetoprovidebetterservices.InmanyenterprisesnowhaveasiteBBS,throughamoreefficientforumforemployeestounderstandtheinformation,andtoestablishthebasisofMemberServicesDepartmentistheforummanagementsystem.Throughthesystemuserscanexchange,businessandinformationexchangebetweenenterprises,theuseoftheInterneteconomywiththeoutsideworldandtoquicklycommunicateinformationtoobtainmoreusefulinformationresources.
TheissueisCollegeofScienceBBSplatform,throughthisforum,youcandisplaythestyleofeachstudent,benefits,releaseofpersonalviewsonsomethings,andenhancethestudentsbetweenthegroupsandbetweengroups,studentsandgroupsContactbetween.IntheInternet,thetransmissionofinformationtoimproveefficiency,ithasbecomethestudentsaccesstoinformationcommunicationandanimportantpart.Students,tofacilitatecommunicationandaccesstoinformation,specialconstructionofthisgroup.
KEYWORDS:
JSP,MicrosoftSQLServer2000,tomcat,eclipse,CollegeofScienceBBS
1设计本系统的意义和相关原理
1.1绪论
进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。
传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端——服务器的C/S结构应用系统,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中。
而另一种,也是本毕业设计所采用的,是称为浏览器——服务器的B/S结构应用系统,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐[1]。
本文讨论的是一个理学院BBS网站,它具有BBS网站应该具有的所有功能。
1.2理学院BBS平台开发的目标和意义
目标:
通过设计和实现BBS平台系统,该系统可以很好的帮助同学们进行各个方面的交流,而且还可以丰富同学们的课余生活,让大家了解和使用BBS平台,进行各种交流和学习,理学院BBS平台还可以方便学生与老师、教授进行交流学习和讨论,同时还可以在论坛上发布通知,各种信息等,方便辅导员对同学进行管理。
通过开发此课题,还可以增强我对所学知识的应用,所学的知识也会得到巩固,提高我的编程能力,进一步了解和掌握各个程序语言,提高编程的熟练程度,同时还能拓宽我知识面,增强我的工程意识,培养我的分析和解决实际问题的能力。
意义:
现在在大学期间总会有很多专业课程,在以往的专业课程中我们主要是通过当面进行交流。
这种方法虽然直接,但是只能是少数人之间的交流,具有一定的局限性。
使用了论坛系统以后,可以网上对所学课程的及时交流,随时可以解决每个学生在课程中遇到的问题,不用浪费体力,还可以使教学资源合理利用
随着无纸化办公的普遍实现,信息的自动处理以及网络式的信息交互方式已经被人们广泛应用。
让学生通过计算机交流信息及解决问题是现在各个高校都在积极进行的工作之一,也是高校教学工作的重要内容之一。
使用论坛系统更加节约资源,增加了学生学习的积极性,同时减少老师的工作量。
该论坛功能较齐全,在这里可以自由地发表自己的观点和对论坛的主题发表意见,我们还可以对发布的问题及时地解决,获取对自己有用的知识。
这个论坛完全可以成为一个很好的师生交流平台,充分利用有限的教育资源,提高资源利用率,同时又能活跃学习氛围,使学习、工作更加方便。
1.3语言的选择
1.3.1JSP简介
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)[1]。
用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易[1]。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点[2]。
1.3.2MicrosoftSQLServer2000数据库简介
SQLServer是一个关系数据库管理系统它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的于1988年推出了第一个OS/2版本在WindowsNT推出后Microsoft与Sybase在SQLServer的开发上就分道扬镳了Microsoft将SQLServer移植到WindowsNT
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的更新版本该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用[3]。
SQLServer2000的特性Microsoft®SQLServer™2000的特性包括:
Internet集成。
SQLServer2000数据库引擎提供完整的XML支持。
它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能[3]。
SQLServer2000程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQLServer2000支持EnglishQuery和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。
可伸缩性和可用性。
同一个数据库引擎可以在不同的平台上使用,从运行MicrosoftWindows98的便携式电脑,到运行MicrosoftWindows2000数据中心版的大型多处理器服务器。
SQLServer2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。
企业级数据库功能。
SQLServer2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。
数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。
SQLServer2000分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是SQLServer2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。
复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。
可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。
易于安装、部署和使用。
SQLServer2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQLServer的过程。
SQLServer2000还支持基于标准的、与WindowsDNA集成的程序设计模型,使SQLServer数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分[3]。
这些功能使您得以快速交付SQLServer应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。
数据仓库。
SQLServer2000中包括析取和分析汇总数据以进行联机分析处理(OLAP)的工具。
SQLServer中还包括一些工具,可用来直观地设计数据库并通EnglishQuery来分析数据[3]。
1.4运行环境的要求
1.4.1软件环境
客户端:
WindowsXp;
服务器端:
WindowsXp,MicrosoftSQLServer2000,JSP,tomcat环境。
1.4.2硬件环境
奔腾4、内存1G以上、160GB以上硬盘空间的PC机满足输入端条件。
1.5运行环境的配置
1)启动内存参数的配置
tomcat/bin/catalina.bat如果是linux就是catalina.sh
在rem的后面增加如下参数
setJAVA_OPTS=-Xms256m-Xmx256m-XX:
MaxPermSize=64m
2)修改Tomcat的JDK目录
打开tomcat/bin/catalina.bat
在最后一个rem后面增加
setJAVA_HOME=C:
\ProgramFiles\Java\jdk1.6.0
3)增加虚拟目录
/tomcat/conf/server.xml
第一行是以前默认存在的,第二行是新增的
\workplace\\WebContent"/>
4)GET方式URL乱码问题解决
打开tomcat/conf/server.xml
查找下面这部分,在最后增加一段代码就可以了。
.................
URIEncoding="UTF-8"useBodyEncodingForURI="true"
...............
/>
其中的UTF-8请根据你的需要自己修改,比如GBK
5)虚拟主机配置文件
tomcat/conf/server.xml
--默认的主机-->
unpackWARs="true"autoDeploy="true"
xmlValidation="false"xmlNamespaceAware="false">
...
--以下是新增的虚拟主机-->
unpackWARs="true"autoDeploy="true"
xmlValidation="false"xmlNamespaceAware="false">
/"debug="0"reloadable="true">
--虚拟目录-->
/"debug="0"reloadable="true">
unpackWARs="true"autoDeploy="true"
xmlValidation="false"xmlNamespaceAware="false">
/"debug="0"reloadable="true">
/"debug="0"reloadable="true">
2系统分析
2.1理学院BBS系统技术可行性分析
BBS系统就是提供给注册用户一个平台,会员用户可以通过Internet接入,登录本系统,在这个平台上发表文章、阅读文章、回复文章等等。
此类系统通常有以下四种类型的操作用户:
游客、普通用户、版主、超级管理员。
每类用户有其不同的操作集,系统通常提供一个统一的登录页面,此页面应能自动识别不同级别的用户,并提供不同的操作界面。
与之相应,此类系统通常应具有以下功能:
用户注册、用户登录、发表文章、阅读文章、回复文章、分页查找、标题查找、作者查找、个人资料维护、版面管理、版主管理、用户管理等等,所有操作都可以由用户在客户端浏览器中完成,而服务器端程序会按用户的要求来完成对系统数据的操作,并将结果传给Web服务器,再由Web服务器处理成HTML文件后发送到客户端浏览器。
这就是所谓的B/S结构应用系统,B/S结构即Browser/Server(浏览器/服务器)结构[4]。
将应用程序分成好几个离散逻辑组件,就是多层式结构(N-Tier)应用程序。
最常见的选择是分成三个部分:
表示层、事务逻辑层和数据层(3-Tier),不过也有其它的组合[4]。
下面就是3-Tier结构各层功能以及经常采用的技术作个简介:
表示层主要运行于客户端浏览器,采用Script(脚本)语言编写。
HTML、JavaScript、jsp是此类应用系统中展示层最常用的脚本编制语言,结合CCS以及ActiveX技术,能设计出交互相当灵活功能又相当强大的客户端网页[2]。
事务逻辑层设计通常有个选择:
COM或COM+组件、DBMS中所执行的预存程序。
将程序代码的一部分,建立成执行于数据库管理系统(DBMS)中的预存程序,使数据与程序代码储存在相同的位置,有助于最佳化执行效率[7]。
以COM对象的方式,编写中间层事务逻辑,可以使用全功能的语言,来产生经过编译的执行程序,执行效率也相当高,此外,在COM对象中包装事务逻辑,还可以清楚地将此程序代码与网页内含的展示程序代码分隔,这样可以使应用程序更易于维护,但是,COM对象的部署也有一定的麻烦,新编写的组件对象,只有在服务器重新启动后才能被应用程序调用。
用jsp网页设计事务逻辑相对来说比较简单,但是,jsp网页中的程序代码也是难以维护的,因为事务逻辑程序代码与建立使用者接口的展示程序代码彼此混杂在一起[3]。
综上所述,结合本系统实际需要,本BBS系统采用B/S结构,mvc解决方案,MVC中文翻译为"模式-视图-控制器"。
MVC应用程序总是由这三个部分组成。
Event(事件)导致Controller改变Model或View,或者同时改变两者。
因此,本系统事务逻辑层设计采用jsp网页;至于数据层,本系统采用最基本的SQLServer数据库系统。
本系统要求客户端支持IE5.0以上或与之兼容的浏览器软件,客户端硬件最低要求对应于IE4.0的硬件平台要求。
服务器端要求支持jsp以及SQLServer数据库。
本系统的开发环境和开发工具为:
WindowsXP,JSP,MicrosoftSQLServer2000,tomcat,eclipse。
2.2系统需求分析
2.2.1系统的综合要求
1)系统界面要求
系统的初始界面假定用户是匿名登录,用户可以通过初始界面提供的统一的用户登录接口,登录进入各自的操作界面。
2)系统功能要求
本系统应具有通常BBS网站应该具有的功能,包括用户注册、用户登录、匿名登录、发表文章、阅读文章、回复别人的文章、分页查找、标题查找、作者查找、版面管理、版面公告、版主管理、用户管理等,此外,用户在发表贴子时,能输入带格式文本。
本系统操作用户按级别由低到高依次可分为:
游客用户、普通会员用户、版主用户、超级管理员用户。
高级别的用户可以继承低级别用户的公用功能。
1)游客用户功能要求
通用功能:
查看各版面文章、查看系统版主列表。
私有功能:
注册为系统正式会员、登录为正式会员。
2)普通会员用户功能要求
通用功能:
发表或回复贴子、退出或重新以匿名身分登录。
3)版主用户功能要求
通用功能:
贴子管理、张贴公告。
4)超级管理员用户功能要求
通用功能:
论坛基本设定、版面管理、版主管理、用户管理。
2.2.2系统的数据要求
根据系统的功能需求,本系统管理和维护以下几种数据元素(实体Entity):
会员、版主、超级管理员、论坛、论坛版面、贴子。
1)会员实体
会员用户包含这样一些基本属性:
用户ID、用户图像、用户名、用户密码、用户性别、联系电话、OICQ、E-mall、地址。
其中,用户名为用户唯一标志,不允许重名。
其中用户图像提供多种选择,使论坛更加生动。
2)版主
版主实际上派生于会员用户,意味着只有会员用户才有资格拥有本论坛各版面的管理权限,一个版主是有超级管理员任命的。
一个版主可以管理几个版面,一个版面可以由几个版主管理。
版主的权限在会员基础上增加了管理与某版面相关的数据信息。
3)超级管理员
超级管理员具有管理和维护本论坛所有数据信息