郎金鑫论文1Word下载.docx
《郎金鑫论文1Word下载.docx》由会员分享,可在线阅读,更多相关《郎金鑫论文1Word下载.docx(33页珍藏版)》请在冰豆网上搜索。
![郎金鑫论文1Word下载.docx](https://file1.bdocx.com/fileroot1/2023-1/29/7807bad8-df20-4eb0-b911-ace6d6d88f89/7807bad8-df20-4eb0-b911-ace6d6d88f891.gif)
与我一同工作的同志对本研究所做的工作已在论文中作了明确说明并表示谢意。
毕业论文(设计)作者签名:
日期:
摘要
随着经济的快速发展,21世纪已经是属于网络的时代。
同时21世纪也是一个物质和经济的时代,人们的心声也开始慢慢的增多。
时常可以看到和听到人们的各种各样的观点和评论。
本文是根据高校的需求设计出基于Web的高校BBS交流论坛。
首先介绍了论坛的由来、基本思想、发展趋势。
以及系统的一些特色,系统流程及结构。
最后讲述了实施技术以及开发平台。
分析了建立基于Web的高校BBS论坛的必要性和可行性,然后对论坛进行了需求分析和系统设计。
论文给出了基于Web的心声交流论坛开发实例。
该实例实现了心声交流论坛管理的一些主要功能。
主要包括用户管理、板块管理、主贴管理、回帖管理、公告管理、广告管理六个模块。
不但可以实现普通论坛的发帖和回帖基本用户要求。
而且还引入了系统的特色:
温馨的提示、用户信息安全、提供免费的视频学习。
而且可以充分的利用当前网络资源共享化的特点,给基于Web的心声交流论坛的开发提供了一个好的思路。
关键词:
Web,MVC,Struts,数据库,心声交流论坛,
ABSTRACT
Withtherapiddevelopmentofeconomy,Thetwenty-firstCenteryistheeraofnetwork。
Atthesametime,people’seconomycontinuetogetrich.Sotwenty-firstCenteryisatimeofmaterial,thevoiceofthepeoplealsobegintoslowlyincrease.Oftencanseeandhearpeoplecommentonavarietyofideasandphenomena.
ThispaperisbasedontherealizationofWebvoicecommunicationforumwasstudied.Firstintroducedthedevelopmenttrendoforigin、thebasicidea、developmenttendency.Aswellasthesystemfeatures,thesystemprocessandstructure.Finallytheimplementationtechniquesanddevelopmentplatform.AnalysisofthenecessityandfeasibilitybasedonofestablishmentofWebvoicecommunicationforum.andthenvoicecommunicationforumneedsandsystemdesign.
PaperpresentsthedevelopmentofWebbasedvoicecommunicationforuminstance.Theexampleoftherealizationofsomemainfunctionsofvoicecommunicationforummanagement.Includesusermanagement、platemanagement、topicmanagement、replymanagement、announcementmanagement、advertisingmanagementsixmodule.Notonlycanrealizethenormaldailyforumpostsandreplies.Ithasalsointroducethecharacteristicofthesystem,suchaswarmprompt、userinformationsafety,providefreevideowarm.ButalsogoodinternetandrapidcollectionofinformationfromtheInternatandreleaseofinformationtousefully.ForvoicecommunicationbasedonWebforumdevelopmentprovidesagoodideas.
KeyWords:
Web,MVC,Struts,Database,VoiceCommunicationForum
目录
1.绪论1
1.1本课题研究的背景1
1.2本课题研究的意义1
1.3论文研究思路和所作的主要工作2
2.高校BBS交流论坛的实现技术3
2.1使用Java技术的优势3
2.2Java包含的一些技术以及开发工具4
2.2.1Servlet、JDBC、JSP和JavaBeans4
2.2.2Struts2.0技术介绍6
2.2.3Ajax、Jquery、JavaScript介绍7
2.2.4MVC模式介绍9
2.2.5MyEclipse开发工具的介绍10
3.高校BBS论坛交流的需求分析11
3.1可行性分析11
3.2论坛的特性需求分析12
4.高校BBS论坛的总体设计14
4.1系统整体结构设计14
4.2系统的功能结构设计14
4.3BBS论坛的系统流程图15
4.4系统的开发环境15
5.数据库的设计17
5.1数据库分析17
5.2数据库概要设计17
5.3数据库的逻辑设计21
6.BBS论坛的详细设计与实现26
6.1系统整体功能模块介绍26
6.2功能界面26
8.总结与期望31
参考文献33
致谢35
1.绪论
1.1本课题研究的背景
现在已经是互联网时代,网络慢慢地已经离不开我们的日常生活。
心声交流论坛是一种电子服务系统。
它为用户提供了一个空白的编辑区域。
每个注册该论坛的用户都可以在上面发表自己对某个主题的看法,其面向的用户是广大群众。
通过该论坛,网名可以自由的发表自己的想法和在网站上找到和自己有共同兴趣爱好的人。
同时,虽然当今社会交流的工具和软件也比比皆是,但是,人们对于信息的需求却永远无止境。
通过该心声交流论坛,我们可以吸收更多的信息和获得更多的交流信息。
也可以在论坛上发表自己的见解和看法,很好的起到了及时发泄用户的情绪和心情的桥梁作用。
其可以充当一个中间件角色。
而且,对于每一个不同的用户也具有不同的权限。
例如,对于普通的登录该论坛的用户但是却没有注册该论坛的用户,其只能看到一些该论坛的普通帖子信息。
但是对于管理员和版主的话,可以创建自己感兴趣的话题和主帖。
基于以上原因,本文是基于Web的心声交流论坛设计和实现,选择板块管理作为突破口,目的在于对基于Web的心声交流论坛进行研究的同时,为基于Web的心声交流系统的实现进行深入的探讨。
1.2本课题研究的意义
心声交流论坛从现实生活中和信息化的角度来说。
首先作为一个交流平台,大家可以自由的发表自己的看法和见解,其次,每天可以为用户实时提供新的帖子、照片、适用于不同的人群。
随着信息化时代的到来,网络技术的快速发展和腾飞,人们对于精神生活的关注也倍加加重。
通过该论坛,用户可以诉说自己心中的想法和及时的发泄自己的情感,也是一个很好平台。
个性化的回帖设计,用户可以选择图片,对字帖等进行设计。
使用自己喜欢的表情和字体。
可以对自己的文字进行处理,添加各种表情。
最后,免费的为用户提供服务,用户的参与度高、积极性强。
1.3论文研究思路和所作的主要工作
随着IT信息的普及和网络信息的大众化,以及社会快速发展的需求人们开始慢慢的喜欢上了快餐主义。
开始快速吸取一些信息和日常的生活需求,也开始在网络上坦白的表达自己的观点和看法。
不在像以前那样压抑着自己的内心真实的想法。
不在变得像以前那样无处发泄。
本文针对国内现在人们对于网络的需求和使用,运用了JSP、Struts2.0、Ajax、Jquery、JavaScript、Servlet等技术以及一些插件,像FCKEditor用于对文字进行编辑处理的插件。
在一般论坛的设计基础模板上为例子,研究给予Web技术的心声交流论坛的实现。
主要工作有以下:
(1)对国内市场人们感兴趣的话题进行深入的了解和市场分析,从而建立起与之对应的plate和topic,让人们可以在上面进行自由的评论。
(2)分析目前国内心声交流论坛的研究应用现状。
剖析在论坛建设的过程中会出现什么样的问题以及找到如何处理这些问题的解决办法。
(3)深入探讨基于Web的心声交流论坛的整个体系结构设计、系统开发方法和系统实现技术相关技术等问题。
并对心声交流论坛进行需求分析和数据流程分析。
(4)以心声交流论坛系统为实例进行重新开发,实现心声交流论坛主要的功能,为我的毕业设计基于Web的心声交流论坛系统的开发提供了一个好的思路。
2.高校BBS交流论坛的实现技术
Java是一种基于计算机网络的开发语言,而且其是一种纯粹的面向对象的编程语言,是由Sun公司推出的。
其最大的优点就是“跨平台”性,而且在进行Java开发的时候我们只需要安装一个JDK即可以。
平时基于Java开发的应用程序同时也是基于Web的,另外,因为Java的跨平台性,可以使得应用程序运行在不同的硬件平台。
自从Java的创始人JamesGosiling开发Java语言之后,其发展也是非常的快速和飞进。
最近,由于Sun公司被Oracle公司收购之后。
其得到了更好的发展机会,此外各大数据库厂商纷纷表示他们将会更好的支持Internet,支持Java。
并且许多的应用软件厂家推出了采用Java进行开发的应用程序。
并且Java的良好表现证明了它是一种非常成熟的、值得我们开发人员和厂商信赖的语言。
本文的开发语言就是采用Java来实现的,因此,在本论文中将对Java技术做一个简单的介绍。
2.1使用Java技术的优势
Java是一种纯面向对象的高级编程语言,1995年由Sun公司创立,具有面向对象、分布式、解释执行、健壮性和安全性、体系结构中立、可移植性、多线程、动态等特点。
和其它编程语言相比,它有很多的优势。
使用Java的优点具体的体现在以下的一些:
(1)灵活可扩展性
Java非常的灵活,我们在进行Java程序开发的时候,其可以支持部署和开发环境中的各种变化。
而且由于Java是面向对象的基础平台上构建的,所以也很容易对基本的语言进行扩展和发布。
在修改别人的代码的时候我们不需要关注各个模块之间的耦合性,只要做好自己模块的扩展和修改即可以的。
(2)具有很多厂商的支持
采用Java开发已经是一个主流趋势所向,因为其受到了广泛的厂商支持。
其中Oracle公司是Java行业的一个巨头,由于Sun公司被Oracle公司收购之后,其更是独大一家,它继续支持并且会更加壮大Java发展,对产品会将继续支持。
这种支持Java的公司很多,因此选择Java语言非常的稳定,不会因为将来开发语言的改变将和厂商捆绑在一起。
(3)平台无关性
Java语言的最大优势就是“跨平台”,其它编程语言面临的最主要的问题就是操作系统的变化,例如当我们在windowsxp系统下编写一个C++程序的时候,当需要在另外一个windowsserver2003系统下运行的时候就需要重新调整[23]。
当我们的电脑硬件配置发生变化时候,都可能导致程序出现错误或者无法运行。
Java虚拟机成功的帮助我们解决了这个问题,我们只要在一台机子上面安装一个JRE(JavaRunningTimeEnvironment)即可以运行Java的代码程序,Sun公司实现了自己的目标“一次运行,随处运行”[24]。
(4)安全性
当你准备从网络上下载一个应用程序的时候,也许你最担心的就是程序中含有恶意代码了。
如果你使用的浏览器支持Java,你可以放心的运行Java程序。
(5)动态性
Java程序的组成单元是类,所谓的类就是对方法和属性的封装。
有些类是自己动手编写和封装的类,但是JDK为我们提供了一套API接口。
里面包含了许多的工具类,例如java.util包下面的类。
而类又是运行时候动态加载的,这使得Java可以在各种环境中动态的维护程序和类库,而不像其它语言那样,每当升级之后都一定需要自己亲自重新修改,编译。
2.2Java包含的一些技术以及开发工具
2.2.1Servlet、JDBC、JSP和JavaBeans
Servlet我们也可以称它为小应用服务器。
Servlet主要是用于JavaWeb程序开发。
Servlet的本质也是JSP,当我们将其进行编译之后其也是一个JSP文件。
但是Servlet不同于JSP的是,Servlet更擅长于处理业务逻辑,但是JSP的视图显示比Servlet方便。
所以我们在做一般的JavaWeb项目的时候(当不使用框架的时候)一般用JSP做视图显示,用Servlet做业务逻辑处理。
由于Java是垮平台的,因此Servlet也可以与平台无关。
其Java内部是以线程的方式提供服务的,而且Servlet是单例模式,当有一个服务请求过来的时候,服务器会为它创建一个进程,多个线程共享这个进程,不必对每个请求都创建一个进程,并且利用多线程和加锁可以保证多个请求之间互相不干扰,保证了服务的独立性,因此效率也是很高的。
JDBC(JavaDatabaseConnection)作为一个连接数据库的工具对象,用于执行SQL语句的JavaAPI,它的是由Java编程语言编写的类和接口组成。
JDBC为它提供了一个标准的API(ApplicationProgramInterface应用程序接口)[4]。
可以只使用java语言来编写应用程序。
同时,作为一种规范,它也让各个数据库厂商为Java程序员提供了访问数据库类和接口的标准。
总的来说,JDBC的功能主要体现在以下三个方面:
首先发送数据库连接请求建立连接、接着将发送SQL语句、最后执行SQL语句并且返回处理结果。
当我们在调用JDBC的接口和类的时候,首先我们需要得到一个Connection连接对象,从而实现对数据库的操作,这一点和Hibernate操作数据库的时候类似---都是通过Connection对象去操作数据库[2]。
JDBCAPI同时支持数据库访问的两层模型和三层模型。
在两层模型中,应用程序或者Javaapplet将直接与数据库进行通话。
此时需要一个数据库的驱动来与特定数据库管理系统通信。
获得链接对象之后SQL语句被送往数据库,数据库再将处理结果返回给用户。
这当中用户的计算机为客户机,提供数据库的电脑为服务器,我们也称之为C/S配置。
但是在三层模型中,用户发送的命令是先被送到中间层,中间层在收到这个请求命令之后再将之发给服务器,服务器在处理完SQL语句之后再将相应的处理结果返回到中间层,最后由中间层再将结果返回给客户端。
这种模式就是三层式结构,也称之为B/S模式[3]。
JSP(JavaServerPages)用于组成包含动态的Web的网页内容(HTML、DHTML、XHTML以及XML等网页)的一种应用Java网页技术。
其组成主要包含HTML和Java代码片段。
JSP的出现让动态的Web网页开发变得更加简单、灵活和效率高。
其主要用于配合Servlet一起进行JavaWeb的开发,具有自己独立的语法和一些专用的标签。
JavaBeans号称java的种子,主要用于对应数据库中的表,用于封装对象。
是Java的可重用技术组件。
对应着这MVC开发模式中的Model,用于持久化对象数据,将数据库中面向关系的数据和面向对象编程时候的数据对象对应起来。
一般需要事先java.io.Serializable接口就可以实现持久化。
2.2.2Struts2.0技术介绍
Struts2.0框架的开发是为了减少在使用MVC模式的时候开发Web应用的时间,通过struts2.0我们可以完成其中一些很发杂的业务工作。
和Tomcat等其它Apache项目一样,它也是开源的项目,这样,可以让开发者更好的了解它们内部机制。
同时,Struts2.0主要是用于业务逻辑的处理,其工作的核心就是拦截器。
拦截器不同于Servlet中的过滤器。
拦截器主要是拦截一类的请求,例如在Struts2.0中主要拦截*.action的请求,而过滤器可以过滤任何请求。
Struts2.0的开发优势主要体现在一下两个方面:
标签库和页面导航。
其中Taglib是Struts2.0的标签库,灵活使用。
能很大程度的提高了开发的效率,与其它的标签不一样的是,EL表达式不仅可以操作对象的普通方法和属性,而且可以为属性赋值,这也是区别于其它标签的最大地方。
而页面导航,则是Struts2.0的另外一个大的优势,仅仅通过一个*.xml配置文件,我们就可以完成整个项目的业务逻辑脉络。
这对于后期的维护有很大的好处,当另外一批开发者接手这个项目的时候,其只需要查看相关的配置文件就可以很快的理解其项目整体开发思路。
Struts2.0的工作原理是:
首先,我们的客户端发送一个*.action的请求,服务器tomcat容器接收这个特殊的请求,经过滤器过滤后到达转到Struts2.0默认的FilterDispatcher过滤器。
而FilterDispatcher过滤器也是Struts2.0工作的核心所在,在该过滤器中可以过滤一些不需要处理的请求,从而减轻了系统的开销[20]。
Tomcat启动web容器的时候就会加载配置文件里面相关的参数,转到相应的*Action处理类去处理请求,如果找到相应的Action,过滤器会把请求的处理首先交给ActionProxy代理去处理。
因为ActionProxy只是一个代理对象,其真实的实现处理需要去创建一个ActionInvocation实例。
并且ActionInvocation是处于ActionProxy层之下的,它可以明显的表现Action的执行状态,它获得了Action的所有引用和相关的Interceptor。
相关实例调用ActionInvocation.invoke方法,进一步调用Action的实现时,将会执行interceptor拦截,在action方法被调用之后,相关拦截器的也将被调用。
最后执行完之后,会返回一个String类型的字符串,我们再到struts-*.xml配置文件中就可以找到其相应的视图展示页面*.jsp。
图2.1Struts2.0的工作原理图
2.2.3Ajax、Jquery、JavaScript介绍
Ajax(asynchronousJavaScriptandXML)是异步JavaScript和Xml,是一种用于生成交互式网页的主要开发技术,使用Ajax技术,我们可以做到局部刷新数据的目的,从而不用刷新整个页面,这样就可以提高页面的及时刷新性。
而JavaScript中的XMLHttpRequest参数变量则是我们对服务器进行操作的核心对象,它可以让我们在不重新刷新页面的情况下与Web服务器进行交换数据[15]。
从而大大节省了服务器的开销,可使英特网应用程序更小、更快、更友好。
Ajax技术是一种不依赖于Web服务器软件的浏览器技术。
Ajax的工作原理是基于下面几个标准:
第一,Ajax的变化多样性技术、第二,耦合性要求高的客户端服务端环境。
Ajax提出了一种新的开发方式,其要求开发人员掌握MVC的程度也很高,因此其对于应用的层次也就做了限定。
同时开发人员还要考虑CS环境的外部和使用Ajax技术来重新定义MVC边界。
开发人员必须以页面集合的方式来考虑Web应用,并且需要将其认为是单个页面。
图2.2ajax的开发框架
Jquery是在prototype之后的又一个杰出的JavaScript框架,是我们平时开发使用的一个非重量级的js仓库,不但兼容css3,同时对各种版本的浏览器均支持。
Jquery可以让用户更加简单地对HTMLdocuments、events、实现动画效果进行处理,并且可以为网站提供便捷的ajax交叉互动[3]。
它还有一个很大优势就是相关文档说明很齐全,而且各种使用说明也很详细,其也可以兼容很多的插件。
其也做到了让html页面保持代码和html内容分离,提供了多种方法来调用相关的js,不再需要将相应的js代码都写到一个页面中,可以通过id来调用相应的js[18]。
Jquery的特点主要有以下几点:
(1)动态特效。
(2)很好的兼容ajax技术。
(3)可以通过插件来扩展。
(4)方便的工具---例如我们可以通过浏览器来判断。
(5)渐进性的增强。
(6)链式调用,可以一个对象同时调用多个函数来添加多个效果。
(7)最后,支持浏览器的种类多,像IE6.0以上、Opera9.0以上、FireFox2以上、Chrome1.0以上等主流浏览器均支持。
JavaScript是一种以对象和事件驱动为主的客户端的脚本开发语言,主要用于支持Java语言的开发,同时也用于为java进行web页面的开发提供参考,不但可以处理页面的动态效果,而且也是一种广泛用于客户端的Web开发的脚本语言。
常常用来给需要添加动态功能的网页进行处理。
是一种基于原型、动态的语言,也是有Sun公司注册的商标。
因为JavaScript为开发人员提供了完整的编程语句,基本语句包括:
for循环语句、while循环语句、foreach循环语句、switch选择语句、do…while语句、break循环终止语句、continue、with、try…catch语句、if(if…else、if…elseif…)。
丰富的语句支持可以让我们更好的展示一个效果。
从技术层面的角度来讲,我觉得它的核心优势主要有三点:
①HTTP请求(AJAX)有javascript发起。
②动态操作DOM。
③支持页面对象。
(1)我们可以让HTTP请求的发送变主动了,不再是机械式的只有当用户点击之后才能触发。
而是主动的发送http请求时为了和服务器进行交互式的拿数据了,再根据返回的数据(XML、JSON、字符串也可以)给予用户反馈。
我们平常项目中遇到的较多的就是经典的表单验证。
(2)根据http的请求的结果做出相应,可以刷新图片了,显示一个新的div等等,可以给用户一个变现力很强的回馈。
而这些我们可以不通过刷新整个页面,因此用户不用等待很久就可以得到自己想要的数据。
(3)JavaScript是支持面向对象的,而面向对象的开发方法又是一种很好的组织代码的方式。
2.2.4MVC模式介绍
MVC也即Model-View-Control