基于J2EE的论坛系统文档格式.docx
- 文档编号:7293248
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:30
- 大小:317.23KB
基于J2EE的论坛系统文档格式.docx
《基于J2EE的论坛系统文档格式.docx》由会员分享,可在线阅读,更多相关《基于J2EE的论坛系统文档格式.docx(30页珍藏版)》请在冰点文库上搜索。
1绪论
1.1项目背景
大约是从1991年开始,国内开始了第一个BBS站。
经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。
1996年更是以惊人的速度发展起来。
国内的BBS站,按其性质划分,可以分为2种:
一种是商业BBS站,如新华龙讯网;
另一种是业余BBS站,如天堂资讯站。
由于使用商业BBS站要交纳一笔费用,而商业站所能提供的服务与业余站相比,并没有什么优势,所以其用户数量不多。
多数业余BBS站的站长,基于个人关系,每天都互相交换电子邮件,渐渐地形成了一个全国性的电子邮件网络ChinaFidoNet(中国惠多网)。
于是,各地的用户都可以通过本地的业余BBS站与远在异地的网友互通信息。
这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。
由于业余BBS站拥有这种优势,所以使用者都更乐意加入。
这里“业余”2字,并不是代表这种类型的BBS站的服务和技术水平是业余的,而是指这类BBS站的性质。
一般BBS站都是由志愿者开发的。
他们付出的不仅是金钱,更多的是精力。
其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平。
国内的BBS站,单线站还占大多数。
随着计算机的普及,特别是调制解调器的大量使用,BBS的活动将会进一步高涨。
但是,随之而来的拨号难和抢线难的问题将会加剧。
尽管BBS站台的数量在不断增长,但这种增长的幅度总也赶不上用户群的增长。
许多人同时拨号一个站台,不可避免地发生冲突。
每回要拨上几十次乃至上百次才能成功连上一个BBS站的状况已经成为困扰今日中国BBS用户的一个难题。
随着BBS活动的深入,国内已经出现了一些多线站,一次可以允许2人以上同时访问。
BBS的发展过程中,也出现了一些问题。
由于国内使用的BBS架站软件,都是从国外引进的,因此没有必要的中文说明。
虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。
另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处。
1999年是中国网络的发展年。
但是,我们应该清醒地认识到,目前一些BBS站并没有走上“简单、易用”这一层次。
包括一些厂商架设的BBS站,实用性还需要加强。
今后,国内的BBS站将向着个性化和专业化的方向发展。
1.2项目开发的意义
BBS的英文全称是BulletinBoardSystem,翻译为中文就是“电子公告板”。
BBS最早是用来公布股市价格等类信息的,当时BBS连文件传输的功能都没有,而且只能在苹果计算机上运行。
早期的BBS与一般街头和校园内的公告板性质相同,只不过是通过电脑来传播或获得消息而已。
一直到个人计算机开始普及之后,有些人尝试将苹果计算机上的BBS转移到个人计算机上,BBS才开始渐渐普及开来。
近些年来,由于爱好者们的努力,BBS的功能得到了很大的扩充。
目前,通过BBS系统可随时取得国际最新的软件及信息,也可以通过BBS系统来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及医学等等各种有趣的话题,更可以利用BBS系统来刊登一些“征友”、“廉价转让”及“公司产品”等启事,而且这个园地就在你我的身旁。
只要您拥有1台计算机、1只调制解调器和1条电话线,就能够进入这个“超时代”的领域,进而去享用它无比的威力!
1.3研究的主要内容
在开发本网上论坛系统过程中,作者深入的研究了论坛系统相关的各种理论知识与技术手段,主要包括:
论坛系统的基本知识、论坛系统的安全技术、建立论坛系统网站的基本流程和所需的各种技术等。
在此过程中,研究网页制作工具Dreamweaver,以及图像生成工具Photoshop的使用方法与技巧,深入研究了Java、JSP、Servlet和JDBC等相关技术理论知识和应用技巧,同时实现了如何用JSP技术访问后台数据库、如何利用MySql对数据库管理和维护等。
论坛系统的发展对传统的Web技术提出了强有力的挑战,以英特网为基础的论坛系统由于安全性、诚信度、交易平台等原因,要求Web技术提出足够的复杂度和灵活性以适应论坛系统的需求。
目前国内的论坛网站大部分都是用ASP来编写的,但ASP由它的局限性。
APS的程序是解释运行的,在多个客户访问的情况下会变得比较慢,而且网站服务器的负荷也很重,且只能运行在微软的操作系统和服务器上,另外不安全性也是需要注意的问题。
而JSP拥有JAVA语言“一次编写,多处运行”的特点,程序执行效率高,具有强大的服务器端组件和数据库支持。
因此JSP的速度远远大于ASP,而且可以跨操作系统,安全机制和性能均大于ASP。
综合各方变得考虑,决定采用Java、JSP、Servlet和JDBC等技术来开发网上论坛。
作为研究网上论坛系统的案例,其最大的特点在于程序的通用性,因为不同的论坛系统之间,功能模块存在很大的相似性,例如:
模块管理、用户信息、访问数据库等等。
因此,充分利用JSP、Servlet和JDBC等技术,对设计功能强大的论坛系统具有理论与现实的意义。
2技术跟踪
2.1Java技术
Java技术是由美国Sun公司倡导和推出的,是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向Internet的开发工具。
Java技术包括Java语言和JavaMediaAPIs、SecurityAPIs、ManagementAPIs、JavaApplet、JavaRMI、JavaBeans、JavaOS、JavaServlet、JDBC、JNDI、EnterpriseJavaBeans等。
随着JavaServlet的出现和JSP的渐渐成熟,让Java正式的走向了Web开发技术的舞台。
Java以其强大的移植能力,多线程处理和网络处理能力已成为研究人员,开发人员瞩目的焦点,它与Web技术的有机结合尤其适宜进行网络计算和动态多媒体信息的开发处理。
Java技术带来的是一场革命,它是第一个真正独立于平台的语言,基于Java语言开发的软件可以实现“一次设计,到处运行”,即Java程序不经改变即可部署到任何运行Java虚拟机的计算机结构和操作系统,使得整个Web世界发生了翻天覆地的变化[1]。
目前,Sun公司已经将Java技术分成了4大类:
服务器使用的企业版(J2EE)、台式电脑使用的标准版(J2SE)、小型设备使用的微型版(J2ME)以及在欧洲销售的手机中使用的具有智能卡和标识标签功能的JavaCard。
2.2JavaBean
JavaBean是描述Java的软件组件模型,JavaBean就是一个Java类,是一种Java语言写成的可重用软件组件,它在内部有接口或有与其相关的属性,以便不同人在不同时间开发的bean可以询问和集成。
JavaBean分为两类:
可视化的JavaBean和非可视化的JavaBean。
传统的JavaBean应用在可视化界面,例如:
利用JavaBean编写可重用的软件组件如按钮、文本框等。
非可视化的JavaBean与JSP结合起来使用,在JSP程序中常用JavaBean来封装事务逻辑(功能实现部分)如数据运算、数据处理、数据库操作等,然后在JSP网页中调用,而JSP文本着重的是网页界面设计,实现了业务逻辑和前台显示部分的分离,这样不仅使JSP网页变得清晰,而且可以节省软件开发时间和降低以后维护的难度,使系统变得健壮和灵活。
JavaBean的任务就是:
“Writeonce,runanywhere,reuseeverywhere”,即“一次性编写,任何地方执行,任何地方重用”[2]。
2.3JavaServlet
Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。
Servlet是使用JavaServlet应用程序设计接口及相关类和方法的Java程序,它在Web服务器上或应用服务器上运行并扩展了该服务器的能力。
JavaServlet对于Web服务器就好像JavaApplet对于Web浏览器。
Applet装入Web浏览器并在Web浏览器内执行,而Servlet则是装入Web服务器并在Web服务器内执行。
JavaServletAPI定义了Servlet和服务器之间的一个标准接口,这使得Servlet具有跨服务器平台的特性。
Servlet通过创建一个框架扩展服务器的能力,采用请求-响应模式提供Web服务。
当客户机发送请求至服务器时,服务器将请求信息发送给Servlet,Servlet生成响应内容并将其传给Server,然后再由Server将响应返回给客户端。
与传统的CGI(CommonGatewayInterface公用网关接口)和许多其他类似CGI的技术相比,JavaServlet有许多优点。
在Servlet中,每个请求由一个轻量级的Java线程处理,如果处理请求的是N个线程,只需要一份Servlet类代码,具有很高的效率;
Servlet提供了大量的实用工具例程,更容易使用;
许多使用传统CGI程序很难完成的任务都可以由Servlet轻松地完成,功能更强大;
Servlet用Java编写,几乎所有的主流服务器都直接或通过插件支持Servlet,具有更好的可移植性。
在未来的技术发展过
程中,Servlet有可能彻底取代CGI。
JavaServlet是JSP技术的基础,大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
2.4JDBC
JDBC是Java的开发者——Sun公司制定的Java数据库连接(JavaDataBaseConnectivity)技术的简称。
它是Sun公司联合数据库开发商开发出来的独立于DBMS的API(ApplicationProgrammingInterface,应用程序接口),它为Java开发者使用各种数据库提供了统一的API。
JDBC的功能和Microsoft的ODBC(OpenDataBaseConnectivity,开放式数据库连接)类似,但与ODBC还是有一定的差别,JDBC是一个真正跨平台的API,而ODBC是一个C语言程序接口,必须在本地执行。
大多数ODBC驱动程序需要安装一系列的代码模块在客户机上,而JDBC可以直接在本地或在远程服务器上执行,且JDBC的维护和部署工作更简单。
JDBC提供了四种连接数据库的驱动程序方法。
第一种是JDBC-ODBC桥驱动程序。
第二种是本机代码和Java驱动程序。
第三种是纯Java驱动程序。
第四种是本机协议Java驱动程序。
利用JDBC实现数据库的操作一般可分为以下几个步骤。
(1)加载JDBC驱动程序。
(2)获取连接接口。
(3)创建Statement对象。
(4)执行Statement对象。
(5)查看返回的结果集。
(6)关闭结果集对象。
(7)关闭Statement对象。
(8)关闭连接接口。
2.5MySQL数据库管理系统
网络数据库,就是指把数据库技术引入到计算机网络系统中,借助于网络技术将存储在数据库中的大量信息及时发布出去,实现用户与数据库的实时动态交互。
常用的网络数据库管理系统有SQLServer、Oracle、IBMDB2、MySQL、Sybase及Access等。
其中MySQL由瑞典的T.c.X公司负责开发和维护,是一个快速、多线程、多用户和强壮的SQL数据库服务器。
SQL是世界上最流行的标准化的数据库语言。
MySQL是具有客户机/服务器体系结构的分布式数据库管理系统,是完全网络化的跨平台关系型数据库系统,是目前运行速度较快的SQL语言数据库。
MySQL具有功能强,使用简便、管理方便、运行速度快、安全可靠性强等优点,总结其主要特点有
(1)完全支持ISO8859-1标准。
(2)同时访问数据库的用户数量不受限制。
(3)可以保存超过5千万条记录,即处理大型数据。
(4)完全支持多线程,适于多CPU使用。
(5)提供多种语言的API接口,以及为windows等操作系统提供ODBC接口。
(6)支持多种平台。
在Unix系统上该软件支持多线程运行方式,从而能获得相当好的性能。
在WindowsNT系统上以系统服务方式运行,或者在Windows95/98系统上以普通进程方式运行。
(7)开放式的分发,可以获得帮助且源代码公开。
(8)提供多样的数据类型,支持多种语言。
(9)支持灵活和安全的权限设置、密码加密等。
(10)无内存泄露[3]。
2.6JSP技术
JSP是JavaServerPage(Java服务器页面)的简称,它是由SunMicrosystems公司倡导,多家公司参与一起建立的一种动态网页技术标准,主要用于开发动态网页。
JSP继承了Java语言的特点,允许Web开发人员开发和维护与平台无关、信息丰富、动态的Web页面,它能使Web开发人员轻易搭建网络平台,建立起功能强大的Web网站。
JSP可以把用户界面从内容层次中分离出来,使Web开发人员不必修改底层的动态内
容,就可以修改整体的页面布局。
JSP在传统的网页HTML文件中加入Java程序片断(Scriptlet)和JSP标记,构成JSP页面(也可称为JSP文件)。
Web服务器在遇到访问JSP页面的请求时,首先执行其中的程序脚本,然后将执行结果以HTML格式返回给客户,JSP页面中的程序脚本可以操作数据库、重定向网页、发送电子邮件等。
所有程序的执行都是在服务器端完成的,通过网络传送给客户端的仅是得到的结果,因此对客户浏览器的要求很低。
绝大多数JSP页面可依赖于可重用、跨平台的组件(JavaBeans或EnterpriseJavaBean)来执行Web应用程序中较复杂的处理,Web开发人员能够交换和共享一些执行普通操作的组件。
这种基于组件的开发方法可以加快Web应用程序的整体开发进度,并大大降低Web应用的开发成本。
JSP的主要技术特点如下:
(1)一次编写,随处运行
JSP是以Java语言作为基础的,它继承了Java语言的特点,主要运行在操作系统的JVM(JavaVirtualMachine,Java虚拟机)上,能够运行JVM的操作系统就能运行JSP,如Windows系列、Linux、Unix、AIX等。
(2)有统一的技术标准
JSP是由Sun公司倡导、多家公司参与一起建立的一种动态网页技术标准,获得了大多数厂商的支持。
(3)自由扩展的JSP标签
JSP可以让Web开发人员自由扩展JSP标签,Web开发人员还能自定义标签库,并能利用XML的强大功能。
(4)执行性能高
只需将JSP编译一次使之成为Servlet文件,当有相同的客户请求时,JSP服务器将产生一个该Servlet文件的一个线程来响应,而不是重新编译JSP文件,这样就大大提高了Web服务器端的响应速度。
(5)开发工具多而强大
目前市面上有很多优秀的Java开发工具,如JBuilder、Eclipse等,开发JSP页面可以借助这些开发工具,高效地编写JSP代码[5]。
2.7JSP的开发模式
JSP规范提出了两种用JSP技术建立应用程序的方式,这两种方式分别称作JSPModel1和JSPModel2,如图1和图2所示。
Model1体系结构把所有的代码都放在JSP中或抽取部分业务逻辑代码放于JavaBean中。
这样做的好处是简单、开发快、易于实现。
缺点是JSP页面中存在着大量Java代码,整个JSP页面显得混乱,可读性差,难以维护,代码重用性低,还必须另外添加用于控制业务流程的代码。
Model1体系十分适合简单应用的需要,它却不能满足复杂的大型应用程序的实现。
Model2体系结构是一种把JSP与servlets联合使用来实现动态内容服务的方法。
用JSP生成表达层的内容,让servlets完成深层次的处理任务。
servlets充当控制者的角色,负责完成接受请求,根据请求改变模型中的数据,在数据改变后,通知相关的视图进行刷新。
Model2体系的优点是JSP网页专门用于表现数据而无需进行其他操作,使得JSP页面没有或只含很少的Java代码,使得页面清晰,提高了可读性,便于维护。
Model2实现了业务逻辑、表示输出和请求处理之间的分离,项目越复杂,使用Model2体系结构的好处就越大[6]。
2.8JSP与其他技术的比较
JSP与ASP,PHP均为动态网页开发技术。
三者都提供在HTML代码中混合某种程序代码、有语言引擎解释执行程序代码的能力。
在ASP、PHP、JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。
普通HTML页面只依赖于Web服务器,而ASP、PHP、JSP页面需要附加的语言引擎分析和执行程序代码。
程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。
ASP、PHP、JSP三者都是面向服务器的技术,客户端浏览器不需要任何附加的软件支持。
但JSP代码被编译成Servlet并由Java虚拟机解释执行,这种编译操作仅在对JSP页面的第一次请求时发生,因此采用JSP技术的页面执行速度较快。
从应用范围来看,ASP是Microsoft开发的动态网页语言,也继承了微软产品的一贯传统,只能执行于微软的服务器产品,IIS(InternetInformationServer)和PWS(PersonalWebServer)上。
在UNIX下也有ChiliSoft的组件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的群组合来扩充,在UNIX的COM实现起来非常困难。
PHP可在Windows,UNIX,Linux的Web服务器上正常运行,还支持IIS,Apache等一般的Web服务器。
用户更换平台时,无需变换PHP代码,可即拿即用。
JSP与PHP类似,几乎可以执行于所有平台,如WindowsNT、Linux、UNIX。
在WindowsNT下IIS通过一个外加服务器,例如JRUN或者ServletExec,就能支持JSP。
知名的Web服务器Apache已经能够支持JSP。
由于Apache广泛应用在WindowsNT,UNIX和Linux上,因此JSP有更广泛的执行平台。
虽然现在WNT操作系统占了很大的市场份额,但是在服务器方面,UNIX的优势仍然很大,而新崛起的Linux更是来势不小。
从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标准的与平台无关的。
由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合于一些小型的商业站点。
首先,PHP缺乏规模支持;
其次,它缺乏多层结构支持。
1、JSP的强势
(1)一次编写到处到处运行
(2)系统多平台支持
(3)强大的可伸缩性
(4)多样化和功能强大的开发工具支持
2、JSP的弱势
(1)与ASP一样,Java的一些优势正是它的致命问题所在,正是由于为了跨平台的功能,为了极度的伸缩能力,所以增加了产品的复杂性。
(2)Java的运行速度使用class常驻内存来完成的,所以在一些情况下有些“最低性价比”了。
在提及的三种技术中,JSP应该是未来发展的趋势,尤其是电子商务类的网站,多采用JSP,世界上一些大的电子商务解决方案提供商都采用JSP/Servelet[7]。
由于考虑到JSP的先进性和普遍性,本次毕业设计选用JSP作为主要开发工具来实现网上超市。
2.9MVC
模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。
MVC设计模式的思想是把B/S应用系统中的各个部件分离,减少部件间的耦合度,以方便系统的开发、维护。
1、模型(Model)
模型是应用程序的主体部分。
它表示业务数据,或者业务逻辑。
2、视图(View)
视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。
3、控制器(controller)
控制器是根据用户的输入,控制用户界面数据显示和更新model对象状态。
Model2在一定程度上实现了MVC[8]。
3可行性研究
可行性研究(FeasibilityStudy)是为了弄清所定义的项目是不是可能实现和值得进行。
研究的过程,实际上是一次大大简化了的系统分析和系统设计的过程。
也就是说在投入大量资金前研究成功的可能性,减小所冒的风险。
下面从四个方面分析本系统的可行性:
3.1经济可行性
由于目前我国互联网事业蓬勃发展,网上论坛在国内呈现越演越烈之势,企业的商务网站要想以最低的投入成本获得更高的商业利润,必须开发一个易于管理、维护费用低廉、界面友好、安全可靠的论坛系统。
因此JSP的开发简易性、灵活性尤其是经济方面可行迎合了这一开发前景。
3.2技术可行性
本系统采用MySQL进行后台数据库的管理、操作和维护,用JSP、Java进行前台界面设计、与后台数据库进行连接。
完成数据的添加、删除、查询、修改等功能。
由于MySQL和JSP、Java强大的数据库开发功能、方便快捷的数据库设计功能、使用灵活、界面美观、开发周期短,为此,说明在技术方面可行。
3.3运行可行性
此系统完全独立的运行在操作系统平台上,不与其他任何任务想矛盾。
而且本系统设计清晰,有良好的用户界面,操作简单,有一定的异常处理机制和提示信息,新用户容易上手,因此运行方面可行。
3.4法律可行性
本系统没有违反国家相关法律,法律方面可行。
4网上论坛系统的分析与设计
软件需求分析[4]是软件开发期的第一个阶段,也是关系到软件开发成败的关键步骤。
准确、完整和规范化的软件需求是软件开发成功的关键。
它的重要性在于让用户完全清楚对软件系统的确切要求,它不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作。
也就是对目标系统提出完整、准确、清晰、具体的要求。
反复的调查和研究,了解数据库的组织的详细情况,了解个部门的业务流程等系统需求,它对于设计好概念模型是至关重要的。
一个好的管理系统可以将我们的管理员从繁重的工作中解脱出来,使工作更轻松。
而需求分析的好坏直接影响到系统设计的好坏。
4.1系统设计目标
网上论坛系统分前台管理和后台管理。
前台管理包括,游客(注册,浏览论坛)用户(浏览论坛,查询个人信息,查询
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 J2EE 论坛 系统