版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录摘要: 3关键字: 4Abstract: 4Keyword: 51前言 11.1问题的提出 11.2课题的背景及意义 11.2.1课题背景 11.2.2课题意义 22JSP及其相关技术 22.1JSP技术 22.1.1JSP的运作模式 32.1.2JSP的特点 52.2Servlet技术 82.2.1Servlet技术概述 82.2.2Servlet与JSP之间的关系 92.2.3Servlet应用范围及缺陷 92.2.4Servlet的生命周期 102.3JDBC技术 112.3.1JDBC概述 112.3.2JDBC两层模型和三层模型 122.3.3使用JDBC的优缺点 122.4JSP开发方式 133需求分析 143.1需求分析概述 143.2个人博客系统概述 153.3系统目标 153.4系统功能要求 164系统概要设计 174.1功能模块设计及模块功能描述 174.1.1功能模块设计 174.1.2模块功能描述 174.2数据库设计 184.2.1概念结构简介 184.2.2概念模型设计 184.2.3数据库表设计 194.2.4系统模块设计 214.3关系模型 224.4数据字典 235系统详细设计 265.1系统的开发环境 265.1.1JSP支持平台Tomcat6.0 265.1.2JDK概述及配置 275.1.3开发工具Dreamweaver8 285.2系统中JSP技术的应用 295.2.1用JavaBean封装数据库操作 295.2.2字符编码过滤器EncodingFilter 305.3系统主要功能模块设计 305.3.1相册模块 305.3.2日志模块 325.3.3视频模块 345.3.4留言板模块 356研究成果与前景展望 356.1研究成果概述 356.2软件测试 366.2.1软件测试的目标及方法 366.2.2难点和问题 376.3总结与展望 376.3.1毕业设计总结 376.3.2展望 38致谢 39参考资料 39附录系统使用说明 40基于B/S架构的Java个人博客开发计算机科学与技术专业学生杜康指导教师吕方兴摘要:本论文的研究课题是《基于B/S架构的Jsp个人博客开发》。本系统主要为用户提供博客系统。通过系统的需求分析、概要设计和详细设计,使该系统具备了数据库信息检索及维护的功能,并且实现了博客系统的相关操作功能。在本系统的设计与实现中主要使用了JSP(JavaServerPages)+JavaBean+Servlet动态网页设计技术,并以WindowsXP为运行环境,采用浏览器/服务器结构(B/S),后台数据库是MySQL,Tomcat服务器作为JSP的支持平台。采用开发工具采用的是Dreamweaver8、JDK1.6和编程工具Myeclipse。本系统主要由四个功能模块组成:1.主模块功能:设置用户界面、接受用户选择、调用相应的程序块。2.相册模块功能:接受博主提交信息,根据信息做出相应添加、删除、修改操作,并对相应操作对数据库进行操作,修改数据库内容,以供前台调用3.日志模块功能:根据博主提交信息,对数据库进行添加修改删除,及时更新数据库。以供前台调用。4.视频模块功能:实现上传或删除视频,并对数据库进行及时操作,以供前台操作。5.关于博主模块功能:实现博主个人信息的添加、删除、修改的功能,并及时对数据库进行操作,以供前台调用。6.留言本模块功能:为浏览者提供留言途径,后台删除、查看留言,并对数据库进行即使操作,以供前台调用。本系统重点完成了对相册模块和日志模块的实现,详细设计了博客后五个模块的功能,达到了帮助用户对个人博客系统使用的目的。关键字:JavaBean、JDBC、ODBCBasedonB/SstructureisJavapersonalblogdevelopmentStudentmajoringinComputerscienceandtechnologyDukangTutorLvFangXingAbstract:Thisthesisresearchtopicis"basedonB/SstructureJsppersonalblogdevelopment".Thissystemmainlyprovideuserswithblogsystem.Throughthedemandanalysisofthesystem,highleveldesignanddetaileddesign,sothatthesystemhasthedatabaseinformationretrievalandmaintenancefunction,andfulfilledtheblogsystemrelatedoperationfunction.InthissysteminthedesignandimplementationofmainUSEStheJSP(JavawebServerJavaBean++Servletdynamicwebdesigntechnology,andwithWindowsXPasoperationenvironment,usebrowser/Serverstructure(B/S),backenddatabaseisMySQLServerasJSP,Tomcatsupportplatform.UsingdevelopmenttooluseisDreamweaver8,JDK1.6andprogrammingtoolsMyeclipse.Thissystemmainlyconsistsoffourfunctionmodules:1.Themainmodulefunction:settheuserinterface,accepttheusertoselect,callthecorrespondingprogramblocks.2albumsmodulefunction:acceptbloggersubmitinformation,accordingtotheinformationmakesthecorrespondingadd,delete,modifyoperation,andtothecorrespondingoperationonthedatabaseoperation,themodifieddatabasecontent,inordertoofferthefrontdeskcalls3.Logmodulefunction:accordingtothebloggersubmitinformationthatthedatabaseaddmodificationanddeletion,updatethedatabase.Forfrontdeskcalls.4.Videomodulefunction:toachieveuploadordeletevideo,andthedatabase,inordertooffertimelyoperationdeskoperation.5.Shutgetautorizationmodulefunction:toachievebloggerpersonalinformationtoadd,delete,modifythefunction,andpromptlytothedatabaseoperation,forfrontdeskcalls.6.Guestbookmodulefunction:provideyourvisitorwithmessageway,background,anddelete,viewermessagestothedatabase,forevenoperationdeskcalls.Thissystemmainlycompletedthealbummoduleandlogofthemodule,thedetaileddesignblogclosedafterfivemodulesofthesystem,achievesthehelpuserstopersonalblogsystemsusepurpose.Keyword:JavaBean,JDBC,ODBC1前言1.1问题的提出随着互联网的不断发展,人们的生活发生了巨大的变化,人们获取信息资料的方式也发生了巨大的改变,越来越多的人喜欢到网上去收集信息,特别是近几年,随着数字化产品的不断普及,人们越来越喜欢上Blog(博客),当下个人博客得到了长足的发展,类似于新浪,网易,都有自己的博客系统。个人博客现在已渐渐成为人们交流,获取网络信息的主要途径。为此,我提出了个人博客系统开发的课题。1.2课题的背景及意义1.2.1课题背景博客,又译为网络日志、部落格或部落阁等,是一种通常由个人管理、不定期张贴新的文章的网站。博客上的文章通常根据张贴时间,以倒序方式由新到旧排列。许多博客专注在特定的课题上提供评论或新闻,其他则被作为比较个人的日记。个人博客是博客的一种。自建独立网站的博客主,有自己的域名、空间和页面风格。是个人持续性的日记或评论。它是最传统常见的博客。个人博客作者一般注重博客的内容,即使他们的博客从来没有被除了自己以外的人阅读过。博客经常不只是一个沟通的方法,它们成为了一种反映生活的方法或艺术创作。编写博客可以抒发感情,引起人们的共鸣。很少个人博客出名和成为主流,但一些个人博客很快就聚集了许多读者。研究该系统的意义在于通过个人博客记录个人生活点滴:如同日记一般,可将自己每日生活中发生的事情记录下来,并且跟朋友或网友们分享。传达个人自由思想:博客是个自由的空间,可依照个人自由意志去撰写任意的内容,传达个人的自由思想。抒发分享个人情绪:博客常用来抒发个人情绪,把生活中的不满、郁闷或愤怒宣泄到博客上,或是网友们分享个人心情。分享交流知识技术:如果有专长、兴趣的人,可以借由撰写博客来分享自己的知识与技术,并和网络上得网友交流讨论。认识同好交流朋友:借由博客的社群性质可以吸引兴趣或性格相合的网友来观看,并且借此认识结交新朋友。宣传文化推销产品:可以通过自己的企业博客来对外宣传本企业文化,或者通过博客来做营销。1.2.2课题意义今天,随着网络技术的不断发展进步,网上流行的博客系统以其庞大的访问量和低廉的成本受到越来越多的人的青睐。同时,由于网上博客系统所占据的主导地位,一个简单的个人博客,就可以使用户随心所欲的达到自己的交流目的,这也为网上信息传递提供了一个平台。而且,由于个人博客才刚刚兴起,并且现在还处于免费阶段,以后将会有越来越多的人加入到个人博客的行列中来,同时随着法律的不断完善,网上个人博客也收到了法律的保护,用户可以在自己的博客上发表自己的言论,同他人进行思想上的交流。随着社会的进步,个人博客系统也将成为网络主流。借此,大部分人可以从网络上通过个人博客进行网络营销。由此可见,个人博客系统将拥有一片广阔的市场。不仅仅是人们日常生活的交流,更多的是通过博客学习到更多的知识。2JSP及其相关技术2.1JSP技术JSP是由SUN微软系统公司(SunMicrosystemsInc)倡导、许多公司参与一起建立的一种动态网页技术标准,其在动态网页的建设中有其强大而特别的功能。目前在国外的众多网站特别是涉及电子商务的网站中,已经大量使用了JSP技术。JSP(JavaServerPages,服务器端动态网页)既然名为“服务器端”动态网页,可想而知,JSP必定是在“服务器”建立的动态网页。更明确地说,JSP是能在WebServer(尤其是JSWDK)端整合Java语言至HTML网页的环境中,利用HTML网页内含的Java程序代码取代原有的CGI、ISAPI或者IDC的程序,以便执行原有CGI/WinCGI、ISAPI的功能。2.1.1JSP的运作模式JSP能在WebServe(尤其是JSWDK)端整合Java语言至HTML网页的环境中,然后利用HTML网页内含的Java程序代码取代原有的CGI、ISAPI或者IDC的程序,以便执行原有CGI/WinCGI、ISAPI的功能。相对应用于Client端(指的是浏览器端的HTML文件)内嵌的描述语言,Sun公司提供的JSWDK-1.0.1也支持类似的描述语言,它便是Java语言。先来看看JSP的运作模式。由于JSP放置在Web服务器上,它在解析使用者由表单穿送过来的字段数据后,接着通过适当的逻辑生成标准HTML文件,然后传送给客户端,使用者看到的是一般符合HTML格式的文件内容。因为JSP是在JSWDK-1.0.1上执行的,所以无论使用者使用的是哪一种平台下的浏览器,皆能欣赏由JSP产生的网页内容。在传统的网页HTML义件中加入Java程序片段(scriptlet)和JSP标签(tag),就构成了JSP网页(.jsp)。web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTMI格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送E-mail等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行。网络上传送给客户端的仅是得到的结果,JSP对客户浏览器的要求很低,支持无Plugin,ActiveX,无JavaApplet、甚至无Frame的浏览器。JSP网页包含以下的组件:JSP指示。JSP页面使用JSP指示将指令传递到JSP引擎。其中包括:①JSP页面指示传递与页面相关的信息,例如缓冲区和线程信息或者出错处理;②语言指示指定脚本语言以及所有的扩展,包含指示可以被用来在页面中包含一个外部的文件,被包含的文件可能是另一个JSP文件;③标签库指示指出页面可以调用的客户标签库类型。JSP标签。绝大多数JSP处理将通过与JSP相关的基于XML的标签完成。JSP1.0中包含大量标准标签,这些标签作为核心标签包括:JSP:useBcan这个标签卢明对一个JavaBeans组件实例的使用。如果法组件的实例不存在,JavaBeans组件将实例化和注册这个标签;JSP:setProperty这个标签在组件的实例中设置一个属性的值;JSP:getProperty这个标签获取一个组件的实例的属性佰,将其转化为字符串,并民将它放人隐含对象“out”中;JSP:include和JSP:forward。1.1版本包含更多的标准标签。标签的好处在于它们易于在应用程序间使用和共享。基于标签的语法的真正威力来自于客户标签库的开发;使得工具供应商或其他人员能够为特定的要求创建和分派标签。脚本组件。JSP页面可以在页面中包含小的脚本、称之为小脚本(scriptlet)。小脚本是一个代码片段,在请求的处理过程中被执行。小脚本可以和页面中的静态组件组合来创建动态生成的页面。脚本在“<%”和“%>”标志中被描述。在这对标志中的所有东西都会被脚本描述语言引擎执行。JSP规范支持所有常用的脚本组件,包括表达式和声明。JSP页面的应用模型。JSP页面由JSP引擎执行,引擎安装在Web服务器或者支持JSP的应用服务器上。JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面给客户端的响应。JSP页面通常被编译成为JavaServlet。后者是一个标准的Java扩展,页面开发人员能够访问全部的Javs应用环境,以利用Java技术的扩展性和可移植性。当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个JavaServlet类,并且存储在服务器的内存中。这使得以后对该页面的调用有非常快的响应。(避免了CGI—BIN为每个HTTP请求生成一个新的进程的问题,或是在服务器端使用引用所引起的运行时的语法分析问题)。JSP页面可以包含在多种不同的应用体系结构或者模型中,它的页面可以应用于由不同协议、组件和格式所组成的联合体中。例如在一个简单实现中,浏览器直接调用JSP页面,JSP页面自动生成被请求的内容(AD调用JDBC直接从数据库中获取信息),并且创建标准的HTML,作为结果发送回浏览器。这个模型基本上用JSP页面(编译成为JavaServlet)代替了CGI—B则概念。这个方法使用户能够简单而快速地编程,并且很容易根据请求和资源状态生成动态内容。这个结构在许多应用上工作良好,但不能扩展到以下情况,即大量的基于Web的并发客户访问稀少的企业资源。因为每个客户必须建立或者共享一个到可用内容资源的连接。例如,如果JSP页面访问数据库,可能生成许多到数据库的连接,将极大地影响到数据库的性能。2.1.2JSP的特点和传统的CGI相比较,JSP有相当的优势。首先,在速度上,传统的CGI程序需要使用系统的标准输入输出设备来实现动态网页的生成,而JSP是直接和服务器相关联的。而且对于CGI来说,每一个访问者就需要新增加一个进程来处理,进程不断建立和销毁对于作为Web服务器的计算机将是不小的负担。其次,JSP是专门为Web开发而设计的,其目的是为了建立基于Web的应用程序,包含了一整套的规范和工具。使用JSP技术可以很方便地将一大堆JSP页面组合成为一个Web应用程序。和ISPAI和NSAPI相比较,JSP的开发速度要快得多,开发难度也要小得多,在编译为JavaServlet以后,配合目前最新的JIT(JustInTime)的Java解释器,其执行速度也慢不了多少。而且,ISAPI和NSAPI这种和Web服务器过于紧密结合的技术使用时一旦出现错误,很容易是Web服务器崩溃,而JSP就没有这个缺点。JSP真正的对手是ASP和PHP,还有最近才问世的ASP.net,在Web技术方面ASP,PHP和JSP的比较见下表。ASPJSPPHPWeb服务器IIS,PWSApache,IIS,PWS,iPlanetNetscapeServer,等Apache,IIS,PWS,NetscapeServer等运行平台Windows各种UNIX(Solaris,Linux,AIX,IRIX等),Windows,MacOS等各种UNIX(Solaris,Linux,AIX,IRIX等),Windows组件技术COMJava,EJBCOM,JavaBeans自定义TAG语法无有无开放性无多家合作,包括SUN,IBM,BEAWeblogicNetscape,Oracle自由软件脚本语言支持VBScript,JscriptJava,EMAC-Script,WEBL等PHP建立大型Web应用程序可以可以不宜程序执行速度快极块极块学习难度低较低低Session管理有有有统一的数据库连接有,ADO,ODBC有,JDBC无后缀名AspJspphp,php3,phps表2-1JSP,ASP,PHP比较Web服务器和运行平台ASP目前仅仅被支持于MicrosoftInternetInformationServer(IIS)和PersonalWebServer(PWS),由于IIS和PWS仅仅有Windows下的版本,故ASP目前只能在Windows平台下使用。尽管有第三方的插件号称可以在UNIX下使用ASP,但对基于COM组件技术的ASP来说,在没有COM支持的UNIX平台下只能是一个“玩具”。JSP仅仅是一个规范,尽管通过的论述可以得出JSP一般要用Javal来实现的论断,但作为跨平台的语言,Java可以在许多平台下使用。这样,JSP也就显而易见的跨平台的了。目前的JSP的确可以在多种Web服务器和操作系统下使用。如ApacheWebServer和MicrosoftIIS等。ApacheWebServer是世界上占有率最高的Web服务器,可以在包括SUNSolaris,IBMAIM,SGIIRIX,Linux和Windows在内的许多操作系统下运行。ApacheWebServer下JSP的实现可以通过免费的ApacheJserv和GNUJSP,Jakarta-Tomcar实现。也可以使用商业的JRUN(LiveSoftware),Websphere(IBM),Weblogic(BEA)来实现。MicrosoftIIS本身支持JSP,但可以通过JRUN,Weblogic,Websphere来实现。还可以使用应用服务器添加JSP支持的NetscapeEnterpriseServer及由之发展而来的可以直接支持JSP的iPlanetWebServer等等。PHP本身就对各种操作系统和Web服务器作了支持,PHP目前可以作为Apache的一个附加模块直接编译进入Apache中去,由于Apache支持多种操作系统,PHP相应地也就可以在各种操作系统上实现。PHP也可以CGI方式或ISAPI方式到IIS或PWS中去。组件技术ASP和JSP对组件技术的支持已经很完善了,而PHP支持COM和JavaBeans。却是很晚,且不完善,所以很难在大型Web应用程序方面将很难与JSP和ASP竞争。但由于PHP技术本身的易学易用,加上众多的函数支持和开放源代码的特性,在中小型Web站点的开发上,PHP还是会占有一席之地的。其实,JSP本身对于ASP和PHP并没有明显的优势,JSP的强大是因为其后面有强大的Java技术做支持。包括JavaBeans和J2EE技术在内的Java技术是JSP强大生命力的所在。Microsoft最新推出的ASP.net技术和ASP技术相比有了许多激动人心的进步,但是从企业级应用的角度看,JSP技术仍然有相当的优势。有理由认为,在将来的Web开发中,中小型站点将出现JSP,ASP.net和PHP三分天下的局面,但是对于大型的电子商务站点,JSP及J2EE技术将成为首选。2.2Servlet技术2.2.1Servlet技术概述Servlet(Java服务器小程序)是用Java编写的服务器端程序,是由服务器端调用和执行的任何Java类。Servlet是使用JavaServlet应用程序设计接口(API)及相关类和方法的Java程序。除了JavaServletAPI,Servlet还可以使用用以扩展和添加到API的Java类软件包。Servlet是Java2.0中新增的一个全新功能,是一种采用Java技术来实现CGI功能的一种技术。Servlet本身与协议无关,与平台也无关。浏览器端也就是客户端运行的Java程序叫做Applet,而服务器端运行的程序叫做Servlet。JavaServlet运行于Java-EnableWeb服务器中,可以被看作是运行在请求和面向请求服务器上的模块。JavaServlet能够像CGI脚本一样动态的扩展Web服务器的功能,并采用请求—响应模式提供Web服务。Servlet和CGI一样都是运行在Web服务器上,用来生成Web页面的。最早支持Servlet技术的是Javasoft的JavaWebServer。此后,一些其它的基于Java的WebServer开始支持标准的ServletAPI。ServletAPI是用来编写Servlet的一套编程接口,编写Servlet不需要关心Servlet是如何被加载、Servlet运行的服务环境是什么、传输数据的协议有什么不同等。因而,Servlet能够运行在不同的Web服务器中,Servlet避免了CGI的这些缺陷。Servlet看起来像是通常的Java程序。Servlet倒入特定的属于JavaServletAPI的包。因为是对象字节码,可动态的从网络加载,可以说Servlet对Server就如同Applet对Client一样,但是,由于Servlet运行于Server中,它们并不需要一个图形用户界面。Servlet的主要功能在于交互式的浏览和修改数据,生成动态Web内容。这个过程为:用户发送请求至服务器端。服务器将请求信息发送至Servlet。Servlet生成响应内容并将其传给Server。响应内容动态生成,通常取决于客户端的请求。服务器将响应返回给客户端。2.2.2Servlet与JSP之间的关系当JSP成为开发动态网站的主要技术时,Servlet在开发中占据了非常重要的位置。网站开发具有两种模式,其中的一种模式同时使用到了JSP和Servlet。这种模式结合了JSP和Servlet技术,充分利用了JSP和Servlet两者的优点。JSP技术主要用来表现页面,而Servlet技术主要用来完成大量的逻辑处理。也就是说,JSP主要用来发送给前端的用户,而Servlet主要来响应用户的请求,完成请求的逻辑处理。Servlet充当着控制着的角色,用来负责响应用的事务处理。JSP本身没有任何的业务处理逻辑,它只简单的检索Servlet创建的JavaBean或者对象,再将动态的内容插入到预定义的模块中。Servlet创建JSP需要的JavaBean和对象,再根据用户的行为,决定处理哪个JSP页面并发送给用户。由于Servlet更适合于后台开发者的使用,而且Servlet本身需要更多的编程技术,因此Servlet本身在页面上表现形式上非常的欠缺,远远不如JSP。在实际的开发过程中,往往先把JSP页面开发出来,然后再将JSP代码转换成Servlet。这样做的好处是充分利用了JSP的页面表现能力,避免了Servlet在页面表现方面的严重不足,大大缩短了开发周期,各尽所能。2.2.3Servlet应用范围及缺陷1.Servlet能完成以下几种功能:创建并返回一个包含基于客户请求性质的动态内容的完整的HTML页面。创建可嵌入到现有HTML页面中的一部分HTML页面(HTML片段)与其他服务器资源(包括数据库和基于Java的应用程序)进行通信用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。当允许在以单连接方式传送数据的情况下,在浏览器上打开服务器至Applet的新连接,并将该连接保持在打开状态。在客户机和服务器简单、高效的执行会话的情况下,Applet也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准进行通信。对特殊的处理采用MIME类型过滤数据。将定制的处理提供给所有服务器的标准例行程序,Servlet可以修改如何认证用户。2.Servlet的一些应用范围:处理HTTP请求Servlet能够处理HTTP请求,并且能够传递HTTP响应到客户端。用于处理HTML表单通过HTTP产生提交数据,然后Servlet可以处理这些数据。允许人们之间的合作一个Servlet能并发处理多个请求,可以使用同步请求支持系统。转送请求Servlet可以转送请求给其他的服务器和Servlet。这就允许在镜像同样内容的几个服务器之间平衡负载。按照任务类型或组织范围,可以允许被用来在几个服务器中划分逻辑上的服务区。允许定以激活代理Servlet编写者们可以定义彼此之间共同工作的激活代理,每个代理者是一个Servlet,而且代理者能够在他们之间传送数据。2.2.4Servlet的生命周期Servlet的生命周期始于将它装入Web服务器的内存时,并在终止或重新装入Servlet时结束。1.初始化在下列时刻装入Servlet:如果已经配置自动装入选项,则在启动服务器是自动装入在服务器启动后,客户机首次向Servlet发出请求时重新装入Servlet时装入Servlet后,服务器创建一个Servlet实例并且调用它的init()方法。在初始化阶段,Servlet初始化参数被传递给Servlet配置对象。2.请求处理对于到达服务器的客户机请求,服务器创建特定于请求的一个“请求”对象和一个“响应”对象。服务器调用Servlet的service()方法,该方法用于传递“请求”和“响应”对象。Service()方法从“请求”对象或的请求信息,同时处理该请求,并用“响应”对象的方法将响应传回给客户机。Service()方法也可以调用其他方法来处理请求,例如doGet()、doPost()或其他的方法。3.终止当服务器不再需要Servlet,或重新装入Servlet的新实例时,服务器会调用它的destroy()方法,来终止当前Servlet实例的运行。2.3JDBC技术2.3.1JDBC概述JDBC是Java数据库连接(JavaDataBaseConnectivity)的简称,是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface应用程序设计接口)。它由一些Java语言编写的类和界面组成。JDBC为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。Java具有健壮、安全、易用等特性,而且支持自动网上下载,本质上是一种很好的数据库应用的编程语言。它所需要的是Java应用如何同各种各样的数据库连接,JDBC正是实现这种连接的关键。JDBCAPI为Java程序提供了一个统一无缝地操作各种数据库的接口,程序员编程时,可以不关心他所要操作的数据库是哪个厂家的产品,从而提高了软件的通用性。JDBC现在可以连接的数据库包括:Xbase、Oracle、Sybase、Access以及Paradox等。JDBC在Web和Internet应用程序中的作用和ODBC在Windows系列平台应用程序中的作用类似。JDBC扩展了Java语言的功能。使用JDBC,向各种关系型数据库发送SQL语句成为一件很容易的事。将Java和JDBC结合起来,将会使程序经过一次编译即可在其他的任何平台上运行。通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现“WriteOnce,RunEverywhere!”2.3.2JDBC两层模型和三层模型JDBC支持两层模型,也支持三层模型访问数据库。两层模型中,一个javaApplet或者一个Java应用直接同数据库连接。这就需要能直接被访问的数据库进行连接的JDBC驱动器。用户的SQL语句被传送给数据库,而这些语句执行的结果将被传回给用户。数据库可以在同一机器上,也可以另一机器上通过网络进行连接。这被称为“Client/Server”结构,用户的计算机作为Client,运行数据库的计算机作为Server。这个网络可是intranet,比如连接全体雇员的企业内部网,当然也可以是internet。在三层模型中,命令将被发送到服务的“中间层”,而“中间层”将SQL语句发送到数据库。数据库处理SQL语句并将结果返回“中间层”,然后“中间层”将它们返回用户。MIS管理员将发现三层模型很有吸引力,因为“中间层”可以进行对访问的控制并协同数据库的更新,另一个优势就是如果有一个“中间层”用户就可以使用一个易用的高层的API,这个API可以由“中间层”进行转换,转换成底层的调用。而且,在许多情况下,三层模型可以提供更好的性能。到目前为止,“中间层”通常还是用C或C++实现,以保证其高性能。但随着优化编译器的引入,将java的字节码转换成高效的机器码,用java来实现“中间层”将越来越实际。而JDBC是允许从一个java“中间层”访问数据库的关键。2.3.3使用JDBC的优缺点1.JDBC的优点JDBCAPI与ODBC十分相似,有利于用户理解JDBC使得编程人员从复杂的驱动器调用命令和函数中解脱出来。可以致力于应用程序中的关键地方。JDBC支持不同的关系型数据库,使得程序的可移植性大大加强。用户可以使用JDBC-ODBC桥驱动器将JDBC函数转换为ODBC。JDBCAPI是面向对象的,可以让用户把它的常用方法封装为一个类,以备后用。2.JDBC的缺点使用JDBC,访问数据记录的速度会受到一定程度的影响。JDBC结构中包含了不同厂家的产品,这就给更改数据源带来很大的麻烦。2.4JSP开发方式JSP技术规范种给出了两种使用JSP开发Web应用的方式,这两种方式可以归纳为模型一和模型二,这两种模型的主要差别在于它们处理业务的流程不同。模型一,如下图所示,称之为JSP+JavaBeans模型。在这一模型中,JSP页面独自响应请求并将处理结果返回给客户,所有的数据通过JavaBean来处理,JSP实现页面的表现。图2-2图2-2JSP模型一从上图可以看出,模型一也实现了页面表现和业务逻辑相分离。然而使用这种方式就要在JSP页面使用大量的Java代码,当需要处理的业务逻辑很复杂时,这种情况会变得非常糟糕。大量嵌入式代码使整个页面程序变得异常复杂。对于前端界面设计的网页开发人员来说,这简直是一场噩梦。所以,模型一不能满足大型应用的需要,但是对于小型应用,因为该模型简单,不用涉及诸多要素,从而可以很好地满足小型应用的需要,所以在简单应用中,可以考虑模型一。模型二,如下图所示,称之为JSP+Servlet+JavaBeans模型。这一模型结合了JSP和Servlet技术,充分利用了JSP和Servlet两种技术原有的优势。这个模型使用JSP技术来表现页面,使用Servlet技术完成大量的事务处理,使用图3:图2-3JSP模型二Bean来存储数据。Servlet用来处理请求的事务,充当一个控制者的角色,并负责向客户发送请求。它创建JSP需要的Bean和对象,然后根据用户请求的行为,决定将哪个JSP图2-3JSP模型二从开发的观点看,模型二具有更清晰的页面表现,清楚的开发角色的划分,可以充分利用开发团队中的网页设计人员和Java开发人员。这些优势在大型项目中表现得尤为突出,网页设计人员可以充分发挥自己的美术和设计才能来充分表现页面,程序编写人员可以充分发挥自己的业务逻辑处理思维,实现项目中的业务处理。另外,从设计结构来看,这种模型充分体现了模型视图控制器(MVC)的设计架构。事实上,现存的很多开发框架都是基于这种模型的,充分实现了MVC,例如ApacheStruts框架和JavaServerFaces框架。3需求分析3.1需求分析概述需求分析是软件定义时期的最后一个阶段,他的任务是准确回答“系统做什么?”这个问题。在可行性分析阶段已经粗略的了解了用户的需求,甚至还提出了可执行方案,但是,可行性研究的基本目的是用较小的成本在较短的时间内确定是否存在可行方案,因此忽略了许多细节。所以可行性分析不能代替需求分析,它实际上没有准确说出“系统必须作什么”这个问题。需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。需求分析的结果是系统开发的基础,关系到工程的成败和软件的质量。因此,必须用行之有效的方法对软件进行严格的审查验证。3.2个人博客系统概述个人博客系统是主要为注册用户提供一个发布个人信息和写作的平台。用户可以在自己的博客里发布一些自己的文章和相关信息。个人博客系统可以帮助用户管理个人的所有发布信息,而且用户可以对自己的信息进行任意的修改。本博客系统主要是为了用户提供一个网上空间,让用户可以在空闲的时间进入自己的领域随意玩转。3.3系统目标博客网站系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的个人博客网站,为网络用户提供进行在线交流的网络平台。通过个人博客网站可以结交更多的朋友,表达更多的想法,它随时可以发布文章。具体的要求如下:博主可以简单的添加和删除文章;独立于具体的数据库平台。对于与数据库交互的部分充分考虑兼容性;容易在原先基础上进行二次开发;中间基础平台的无型性。尽量采用开放的标准技术,达到跨平台运行的效果;为了达到以上的开发目的,个人博客网站应遵循一定的设计和开发与原则:模块接口定义清晰;基础类库和接口设计合理,尽量建立叮扩展的接口和抽象类;数据库操作使用标准SQL语句,如果一定要使用有差别的SQL语句,则尽量集中在一起,以减少将来维护和移植的难度;采用开放的标准和工具等3.4系统功能要求博客系统通常提供三类服务:信息服务,它可分为:文章显示,热点文章推荐,博主风采查询服务:可以根据文章内容,文章标题,留言内容,留言标题等进行模糊查询留言服务:游客可以对系统进行留言或发表看法意见在此,我参考现有的几大博客网站如QQ空间,新浪博客等,采用Browser/Server结构,将个人博客网站划分为两个子系统:前台,后台。在前台的功能实现上,可以分为以下几个部分:相册查看视频查看博主信息查看日志查看留言板查看友情链接联系我通过计算机网络将前台与后台的数据库相连,网站管理员将从前台得到的信息进行处理,实现视频、相册等各部分的管理相册、照片管理视频管理日志管理博主个人信息管理友情链接管理留言板联系方式管理4系统概要设计4.1功能模块设计及模块功能描述4.1.1功能模块设计个人网站个人网站相册模块日志模块视频模块友情连接模块关于博主模块留言本模块前台设计添加删除修改相册添加删除修改照片添加删除修改日志分类添加删除修改日志添加删除视频添加删除修改友情链接添加删除修改博主信息添加删除留言浏览页面浏览者留言模块4.1.2模块功能描述相册模块动态实现照片的添加、删除、修改;日志模块动态实现日志的添加、删除、修改;视频模块动态实现视频的添加、删除、修改友情链接模块动态实现友情链接的添加、删除、修改;关于博主模块动态实现博主个人简历的添加、删除、修改;留言板模块动态实现留言板内容的添加、删除、修改;4.2数据库设计4.2.1概念结构简介概念结构设计是将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程。它是整个数据库设计的关键。即在需求分析的基础上,设计出能够满足客户业务要求的各种实体,也就是各种对象,以及它们之间的相互关系。为后面的逻辑结构设计打好基础。描述概念模型的有力工具是E-R模型。软件系统本质上是信息处理系统,因此,在软件系统的整个开发过程中都必须考虑两方面的问题“数据”及对数据的“处理”。在需求分析阶段既要分析用户的数据要求(既需要有哪些数据数据、数据本身有什么性质、数据的结构等等),又要分析用户的处理要求(既对数据进行哪些处理、每个处理的逻辑功能等等)。为了把用户的数据要求清晰明确地表达出来,系统分析员通常建立一个概念性的数据模型(也称信息模型)。概念性信息模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。它描述了从用户角度看到的数据,它反映了用户的现实环境,且与在软件系统中的实现方法无关。最常用的表示概念数据模型的方法,是实体联系方法。这种方法用E-R图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。用这种方法表示的概念性数据模型又称为ER模型。4.2.2概念模型设计(1)相关概念最常用的表示概念数据模型的方法是实体—联系方法(entity—relationshipapproach)这种方法用ER图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。用这种方法表示的概念性数据模型又称ER模型。通常,软件系统中许多数据是长期保存的,为了减少冗余,简化修改数据的过程,应该对数据进行规范化。ER模型中包含“实体”、“联系”和“属性”等三个基本成分。A.实体实体是客观世界中存在的且可相互区分的事物。实体可以是人,也可以是物,也可以是具体事物,也可以是抽象概念。B.联系客观世界中的事物彼此之间往往是有联系的。联系可以分为三类:一对一的关系、一对多的关系和多对多的关系。C.属性属性是实体或联系所具有的性质,通常一个实体由若干属性来刻画。(2)范式通常用“范式“(NormalForm)定义消除数据的冗余程度。第一范式冗余程度最大,第五范式冗余程度最小。但是,范式级别越高,存储同样数据就需要分解成更多的表。A.第一范式每个属性值都是原子值,即仅仅是一个简单值而不含内部结构。B.第二范式属于第一范式且每一个非主属性完全函数依赖于码。C.第三范式属于第二范式且每一个非主属性即不部分依赖于码,也不传递依赖于码4.2.3数据库表设计pb_album(相册)pb_blog(日志)pb_blog_ctg(日志分类)pb_info(个人资料)pb_link(友情链接)pb_message_book(留言本)pb_photo(照片)pb_video(视频)4.2.4系统模块设计模块表:子系统编号英文名称中文名称业务职能安装地点备注1Pb_blog日志添加、删除、修改2Pb_video视频添加、删除、修改3Pb_album相册添加、删除、修改4Pb_info关于我添加、删除、修改5Pb_photo照片添加、删除、修改6Pb_blog_ctg日志分类添加、删除、修改7Pb_link友情链接添加、删除、修改8Pb_message_book留言本添加、删除、修改模块功能表编号:1标示符:Pb_blog名称:日志功能:实现对日志的添加修改和删除,供浏览者阅读编号:2标示符:Pb_video名称:视频功能:实现对视频的添加修改和删除,供浏览者阅读编号:3标示符:Pb_album名称:相册功能:实现对相册的添加修改和删除,实现照片的分类,供浏览者浏览编号:4标示符:Pb_info名称:个人简历功能:实现对个人简历的添加修改和删除,供浏览者阅读编号:5标示符:Pb_photo名称:照片功能:实现对照片的添加修改和删除,供浏览者浏览编号:6标示符:Pb_blog_ctg名称:日志分类功能:实现对日志分类的添加修改和删除,实现对照片的分类,供浏览者阅读编号:7标示符:Pb_link名称:友情链接功能:实现对友情链接的添加修改和删除,供浏览者链接编号:1标示符:Pb_message_book名称:留言本功能:实现对留言本的添加修改和删除,供浏览者留言4.3关系模型关系模式:日志:(文章号文章标题文章类型号文章关键字文章正文更新日期);日志分类表:(文章类型号文章类型名类型描述);相册表:(相册号相册名相册描述)照片表:(照片号照片描述照片缩略图地址照片地址照片所属相册)视频表:(视频编号视频名称视频地址视频图像地址视频描述);友情链接表:(链接号链接网站名链接网站网址链接网站描述);个人信息表:(姓名密码邮箱地址msnQQ电话主页介绍);留言本表:(留言编号留言用户名称留言者邮箱地址留言日期)具体二维格式表:1、博客文章表:文章号(主键)文章标题文章类型号文章关键字文章正文更新日期Int(11)Varchar(30)Int(11)texttextdate2、文章类型表:文章类型号(主键)文章类型名类型描述Int(11)Varchar(10)text3、相册表相册号(主键)相册名相册描述Int(11)Varchar(20)Text4、照片表照片号(主键)照片描述照片缩略图地址照片地址照片所属相册Int(11)TextVarchar(100)Varchar(100)Int(11)5、视频表视频号(主键)视频名视频地址视频封面地址视频描述Int(11)Varchar(20)Varchar(50)Varchar(50)Text6、留言本表留言本号(主键)用户名留言者邮箱留言日期Int(11)Varchar(20)Varchar(50)Date7、友情链接表友情链接号(主键)链接网站名链接网站网址网站描述Int(11)Varchar(100)Varchar(200)Text8、版主信息表信息号姓名密码邮箱QQMSN地址电话主页介绍Int(11)Varchar(16)Varchar(16)Varchar(20)Int(11)Varchar(16)Varchar(16)Int(11)Varchar(20)text4.4数据字典数据字典是关于数据的集合,也就是对数据流图中包含的所有元素的定义集合。任何字典的最主要的用途都是供人查阅对不了解的条目的解释,数据字典的作用也正是在软件分析及设计过程中给人提供关于数据的描述信息。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而,没有数据流图,数据字典也就难于发挥作用。只有数据流图和数据字典共同放在一起,才能共同构成系统的规范化说明。数据字典最主要的用途就是作为分析阶段的工具。在数据字典中建立的一组严密一致的定义很有助于改进分析员与用户之间的通信,因此,将消除许多可能的误解。对数据的这一系列严密一致的定义也有助于改进在不同的开发人员或不同的开发小组之间的通信。数据字典中包含的每个数据元素的控制信息是很有价值的。因为列出了使用一个给定的数据元素的所有程序模块,所以很容易估计改变一个数据将产生的影响,并且能对所有的受影响的程序模块作相应的改变。数据字典是开发数据库的第一步,而且是很有价值的一步。数据流是数据结构在系统内的传输路径。其中,“数据流来源”是说明该数据流来自哪个过程。“数据流去向”是说明该数据流将流到那个过程去。数据流编号数据流名组成数据流来源数据流去向D1.1博主注册用户名+密码+姓名+性别+出生年月日+EMAIL用户用户注册D1.2用户登录用户名+密码用户用户登录D1.3信息修改用户名+密码+姓名+性别+出生年月日+EMAIL用户登录信息修改D1.4信息保存用户名+密码+姓名+性别+出生年月日+EMAIL信息修改用户信息库D1.5用户注销用户信息用户登录用户注销D1.8信息删除用户信息用户注销用户信息库D2.1照片上传图片格式,图片内容,图片描述用户上传前台显示D2.2视频上传视频格式,视频内容,视频描述,视频封面用户上传前台显示D2.3日志上传日志内容,日期,用户上传前台显示D2.4留言板内容上传留言内容,留言时间,留言者姓名,日期用户上传前台显示D3.1链接链接地址用户修改页面显示D3.2博主信息姓名,性别,email,QQ等博主上传页面显示5系统详细设计5.1系统的开发环境该系统是在WindowsXP操作系统下进行开发的,使用的开发工具是Dreamweaver8,开发环境是JDK1.6。JSP的支持平台是Tomcat6.0,后台数据库是MySQL。在开发过程中还使用到了开发工具Myeclipse。5.1.1JSP支持平台Tomcat6.0Tomcat是一个免费的开源的Serlvet容器,由于有了Sun的参与和支持,最新的Servlet和JSP规范总能在Tomcat中得到体现。Tomcat最新版本是6.0x。它提供了各种平台的版本供下载,可以从上下载其源代码版或者二进制版。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。另外,Tomcat提供Realm支持。Realm类似于Unix里面的group。在Unix中,一个group对应着系统的一定资源,某个group不能访问不属于它的资源。Tomcat用Realm来对不同的应用(类似系统资源)赋给不同的用户(类似group)。没有权限的用户则不能访问这个应用。Tomcat提供三种Realm,1:JDBCRealm,这个Realm将用户信息存在数据库里,通过JDBC获得用户信息来进行验证。2:JNDIRealm,用户信息存在基于LDAP的服务器里,通过JNDI获取用户信息。3:MemoryRealm,用户信息存在一个xml文件里面,上面讲的manager应用验证用户时即使用此种Realm。通过Realm我们可以方便地对访问某个应用的客户进行验证。在Tomcat中,还可以利用Servlet提供的事件监听器功能,来对你的应用或者Session实行监听。Tomcat也提供其它的一些特征,如与SSL集成到一块,实现安全传输。还有Tomcat也提供JNDI支持,这与那些J2EE应用服务器提供的是一致的。说到这里我们要介绍一下通常所说的应用服务器(如WebLogic)与Tomcat有何区别。应用服务器提供更多的J2EE特征,如EJB,JMS,JAAS等,同时也支持Jsp和Servlet。而Tomcat则功能没有那么强大,它不提供EJB等支持。但如果与JBoss(一个开源的应用服务器)集成到一块,则可以实现J2EE的全部功能。既然应用服务器具有Tomcat的功能,那么Tomcat有没有存在的必要呢?很多中小应用不需要采用EJB等技术,Jsp和Servlet已经足够,这时如果用应用服务器就有些浪费了。而Tomcat短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择Tomcat。5.1.2JDK概述及配置JDK是Javadevelopkit的缩写,它是早期Java的开发包名称,一直延用至今!在1998年jdk发表1.2版的时候,Sun公司使用了新名称Java2platform来称呼Java,译成中文就是“Java平台”,修改后的jdk称为J2sdk即Java2(platform)softwareDevelpingkit,并分为标准版(StandardEdition)又称j2se,企业版(EnterpriseEdition)又称j2ee,微型版(MicorEdition)又称j2me.它们有不同的用途,不过最基本的开发包还是j2se。JDK是一切java应用程序的基础,可以说,所有的java应用程序是构建在这个之上的。它是一组API,也可以说是一些javaClass。目前已经正式发布的最新版本是JDK1.5。在安装完JDK后,还需要在环境变量中进行相应的配置才能使用JDK的功能。在Windows中主要进行以下配置:设置JAVA_HOME的环境变量,它表示Java安装的目录,其他的应用程序如果要使用Java运行环境,首先获得JAVA_HOME变量的值,然后确定执行的路径。设置CLASSPATH的环境变量,CLASSPATH表示搜索Java类的路径,这个路径中可以包括一些Jar归档文件,也可以是一个目录。在应用程序或者服务器执行时,往往会动态地在CLASSPATH中添加一些自己需要的类的路径。它的值为“安装路径\lib\tools.jar”5.1.3开发工具Dreamweaver8MacromediaDreamweaver8是Macromedia公司出品一款专业的HTML编辑器,用于对Web站点、Web页和Web应用程序进行设计、编码和开发。无论您愿意享受手工编写HTML代码时的驾驭感还是偏爱在可视化编辑环境中工作,Dreamweaver都会为您提供有用的工具,使您拥有更加完美的Web创作体验。利用Dreamweaver中的可视化编辑功能,您可以快速地创建页面而无需编写任何代码。您可以查看所有站点元素或资源并将它们从易于使用的面板直接拖到文档中。您可以在MacromediaFireworks或其他图形应用程序中创建和编辑图像(如:Photoshop),然后将它们直接导入Dreamweaver,或者添加MacromediaFlash对象,从而优化您的开发工作流程。Dreamweaver还提供了功能全面的编码环境,其中包括代码编辑工具(例如代码颜色和标签完成);有关HTML、层叠样式表(CSS)、JavaScript、ColdFusion标记语言(CFML)、MicrosoftActiveServerPages(ASP)和JavaServerPages(JSP)的参考资料。Macromedia的可自由导入导出HTML技术可导入您手工编码的HTML文档而不会重新设置代码的格式,您可以随后用您首选的格式设置样式来重新设置代码的格式。Dreamweaver还使您可以使用服务器技术(例如CFML、ASP.NET、ASP、JSP和PHP)生成由动态数据库支持的Web应用程序。Dreamweaver可以完全自定义。您可以创建您自己的对象和命令,修改快捷键,甚至编写JavaScript代码,用新的行为、属性检查器和站点报告来扩展Dreamweaver的功能。5.2系统中JSP技术的应用5.2.1用JavaBean封装数据库操作JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。JavaBean组件是Java类,这些类遵循一个接口格式,以便于使方法命名、底层行为以及继承或实现的行为能够把类看作标准的JavaBean组件方式进行构造。该系统的诸多模块都涉及到了数据库的操作,使用到了JDBC技术。为了便于对数据库的操作,将对数据库的操作写成了一个Bean,通过调用Bean来实现数据库的插入、删除与修改等功能,极大的方便了程序的编写。调用JavaBean的语句:<jsp:useBeanid="name"scope="page"class="com.music.*"/>下面就是Bean的代码实现及说明:File:UserBean.java,SongBean.java,FanBean.java,ViewArea.java代码说明:openDataBase()在进行数据库的查询和更新等操作之前,必须要经过几个必需的步骤进行数据库的连接,这在前面介绍JDBC的时候已经详细的阐述了。成员函数openDataBase()将这些步骤封装。因此,在调用其他的成员函数之前,必须调用openDataBase()进行初始化设置executeQuery(Stringsql)和executeUpdate(Stringsql)这两个成员函数分别用来完成通过参数传递来的Sql语句的执行,即查询和更新操作。Statement和PreparedStatementStatement对象用于执行不带参数的简单SQL语句,PrepareStatement对象用于执行带或不带IN参数的预编译SQL语句。close()对数据库的操作完成后,及时释放占用资源。5.2.2字符编码过滤器EncodingFilterWeb应用中的过滤器截取从客户端进来的请求,并做出处理的答复。它可以说是外部进入网站的第一关,它可以验证客户是否来自可信的网络,可以对客户提交的数据进行重新编码,可以验证客户是否已经登录等。要开发一个Filter,必须直接或者间接实现Filter接口。Filter接口定义了以下的方法:init(),用于获得FilterConfig对象。destroy(),销毁这个Filter。doFilter(),进行过滤处理。下面就是EncodingFilter的代码实现及说明:File:EncodingFilter.java代码说明:在EncodingFilter中,在init方法中通过config.getInitParameter(“encoding”)来获得FilterConfig中的参数,可以看出这种获得参数的方法和Servlet获得初始参数是一样的。doFilter是过滤器中最重要的方法,在doFilter方法中,首先通过Http的请求和响应对象,然后对Http请求中的参数进行统一编码,这里采用的编码方式是GB2312。5.3系统主要功能模块设计5.3.1相册模块相册模块功能描述:接受博主提交信息,根据信息做出相应添加、删除、修改操作,并对相应操作对数据库进行操作,修改数据库内容,以供前台调用。B_edit_album_ctg.jsp//显示相册名子列表,可以新建或删除相册分类B_upload_photo.jsp//上传图片,编辑图片信息B_edit_photo.jsp//管理某个相册中的图片,修改图片简介,删除图片等相册模块流程图:开始开始新建or上传新建相册上传照片选择相册选择相册列表操作上传照片相片列表删除or修改结束是否结束是否结束否是执行操作进入列表否否是是5.3.2日志模块日志模块功能描述:根据博主提交信息,对数据库进行添加修改删除,及时更新数据库。以供前台调用。B_write_blog.jsp//撰写新日志或修改日志的编辑页面.可以为日志选择分类B_edit_blog_ctg.jsp//显示日志分类的列表,并可以新建日志分类,或删除已有的B_edit_blog.jsp//显示日志标题列表,可以由此进入B_write_blog.jsp页面或删除Get_blog_list.jsp//获取日志列表Get_blog_text.jsp//获取日志内容日志模块流程图:开始开始关闭显示文章数据处理请求显示开始开始关闭显示文章数据处理请求显示 进入 进入博客列表博客列表博客列表博客列表 查看文章 删除文章删除文章删除查看删除文章删除查看 否 添加新文章添加新文章 显示文章 是 显示文章 删除/修改 删除删除/修改修改页面修改页面 是保存保存结束是结束 否结束博客文章前台/后台操作流程结束 5.3.3视频模块视频模块功能描述:实现上传或删除视频,并对数据库进行及时操作,以供前台操作!B_upload_video.jsp//上传视频(上传视频,视频封面图片,视频简介等)B_edit_video.jsp//修改视频信息视频模块流程图:开始开始视频列表视频列表选择操作选择操作删除添加删除照片添加视频 结束删除照片添加视频是否成功是否成功是否成功 否是否成功成功否添加描述 是添加描述添加封面添加封面是否成功 否是否成功 是结束结束5.3.4留言板模块留言本模块功能描述:为浏览者提供留言途径,后台删除、查看留言,并对数据库进行即使操作,以供前台调用。留言本模块流程图:开始开始前台or后台前台or后台 后台 前台留言列表添加留言留言列表添加留言选择操作选择操作 添加 删除 退出删除留言添加留言删除留言添加留言成功否成功否 是 否 否 成功否成功否是结束结束6研究成果与前景展望6.1研究成果概述博客被中国的“博客”先行者们称为是继E—mail、BBS和IM之后的第四种网络交流方式,是网络时代的自媒体作为一种全新的互联网信息发布工具和人际沟通工具,博客的优势在于它不拘泥于“一对一”或“一对多”的信息展示,而是开辟出了一个由此及彼(由人际圈的相交而来的广域交流)的“多对多”的舆论时代。与其他信息平台相比,博客传播更具个性化和立体化,且交互性更强。本文针对如何设计一个结构灵活的个人博客系统进行了研究,并做了以下几个方面的工作:分析了现有的一些
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度传单派发与宣传活动合同
- 2024年度电影发行与放映权转让合同
- 2024年度汽车租赁公司汽车停车位租赁合同协议书3篇
- 六年级科学上册 全一册教案 (新版)教科版
- 2024年度股权转让合同股权结构变更
- 2024年度租赁服务合同租赁物、租赁期限及租金支付协议
- 《统计热力学基础》课件
- 2024年度医疗设备代售合同
- 指数与指数化投资月报-2024年10月
- 2024年海洋环保仪器及采样设备项目资金申请报告代可行性研究报告
- Unit 5 Fun clubs section B project 说课稿 -2024-2025学年人教版英语七年级上册
- 浙江省温州市2024-2025学年高三上学期一模英语试题 含解析
- 实验室设备安装调试及技术支持方案
- 糖尿病健康知识讲座
- 业务居间合同范本2024年
- 员工入股退股合同范例
- 2024年再生资源回收与利用合作协议
- 生物-江西省稳派上进联考2024-2025学年2025届高三上学期11月调研测试试题和答案
- 2024年xx村10月驻村工作总结
- 【浙江卷】浙江省2024学年第一学期杭州市2025届高三年级教学质量检测(杭州一模)(11.4-11.6)英语试卷
- 森林康养基地建设项目可行性研究报告
评论
0/150
提交评论