java个人博客开发论文

更新时间:2024-05-16 10:00:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

菏泽学院本科生毕业论文

目 录

摘要: ............................................................................................................... 3 关键字: ............................................................................................................. 3 Abstract:.......................................................................................................... 4 Key word: .......................................................................................................... 5 1 前言 ............................................................................................................... 1 1.1 问题的提出 ................................................................................................ 1 1.2 课题的背景及意义 ..................................................................................... 1

1.2.1 课题背景 ........................................................................................ 1 1.2.2 课题意义 ........................................................................................ 2 2 JSP及其相关技术 ......................................................................................... 2 2.1 JSP技术 ..................................................................................................... 2

2.1.1 JSP的运作模式 .............................................................................. 3 2.1.2 JSP的特点 ...................................................................................... 5 2.2 Servlet技术 ............................................................................................. 8

2.2.1 Servlet 技术概述 ......................................................................... 8 2.2.2 Servlet 与 JSP 之间的关系 ........................................................ 9 2.2.3 Servlet 应用范围及缺陷 .............................................................. 9 2.2.4 Servlet 的生命周期 ..................................................................... 10 2.3 JDBC技术 .................................................................................................. 11

2.3.1 JDBC概述....................................................................................... 11 2.3.2 JDBC两层模型和三层模型 ............................................................ 12 2.3.3 使用JDBC的优缺点 ...................................................................... 12 2.4 JSP开发方式 ............................................................................................ 13 3 需求分析 ...................................................................................................... 14 3.1 需求分析概述 ........................................................................................... 14 3.2 个人博客系统概述 .................................................................................... 15 3.3 系统目标................................................................................................... 15 3.4 系统功能要求 ........................................................................................... 16 4 系统概要设计 ............................................................................................... 17 4.1 功能模块设计及模块功能描述 ................................................................. 17

4.1.1 功能模块设计 ................................................................................ 17 4.1.2 模块功能描述 ................................................................................ 17 4.2 数据库设计 ............................................................................................... 18

4.2.1 概念结构简介 ................................................................................ 18 4.2.2 概念模型设计 ................................................................................ 18 4.2.3 数据库表设计 ................................................................................ 19 4.2.4 系统模块设计 ................................................................................ 21 4.3 关系模型................................................................................................... 22

1

菏泽学院本科生毕业论文

4.4 数据字典................................................................................................... 23 5 系统详细设计 ............................................................................................... 26 5.1 系统的开发环境 ....................................................................................... 26

5.1.1 JSP支持平台Tomcat6.0 ............................................................... 26 5.1.2 JDK概述及配置 ............................................................................. 27 5.1.3 开发工具Dreamweaver 8 .............................................................. 28 5.2 系统中JSP技术的应用 ............................................................................ 29

5.2.1 用JavaBean 封装数据库操作 ...................................................... 29 5.2.2 字符编码过滤器EncodingFilter ................................................. 30 5.3 系统主要功能模块设计 ............................................................................ 30

5.3.1 相册模块 ....................................................................................... 30 5.3.2 日志模块 ....................................................................................... 32 5.3.3 视频模块 ....................................................................................... 34 5.3.4 留言板模块 .................................................................................... 35 6 研究成果与前景展望 .................................................................................... 35 6.1 研究成果概述 ........................................................................................... 35 6.2 软件测试................................................................................................... 36

6.2.1 软件测试的目标及方法 ................................................................. 36 6.2.2 难点和问题 .................................................................................... 37 6.3总结与展望 ................................................................................................ 37

6.3.1 毕业设计总结 ................................................................................ 37 6.3.2 展望 ............................................................................................... 38 致谢 .................................................................................................................. 39 参考资料 ......................................................................................................... 39 附录 系统使用说明 ...........................................................错误!未定义书签。

2

菏泽学院本科生毕业论文

基于B/S架构的Java个人博客开发

计算机科学与技术专业学生 杜康

指导教师 吕方兴

摘要:本论文的研究课题是《基于B/S架构的Jsp个人博客开发》。本系统主要为用户提供博客系统。通过系统的需求分析、概要设计和详细设计, 使该系统具备了数据库信息检索及维护的功能,并且实现了博客系统的相关操作功能。

在本系统的设计与实现中主要使用了JSP(Java Server Pages)+JavaBean+Servlet动态网页设计技术,并以Windows XP为运行环境,采用浏览器/服务器结构(B/S),后台数据库是MySQL, Tomcat服务器作为JSP的支持平台。采用开发工具采用的是Dreamweaver 8、JDK1.6和编程工具Myeclipse。

本系统主要由四个功能模块组成:

1. 主模块功能: 设置用户界面、接受用户选择、调用相应的程序块。

2. 相册模块功能: 接受博主提交信息,根据信息做出相应添加、删除、修改操作,并对相应操作对数据库进行操作,修改数据库内容,以供前台调用

3. 日志模块功能: 根据博主提交信息,对数据库进行添加修改删除,及时更新数据库。以供前台调用。

4. 视频模块功能: 实现上传或删除视频,并对数据库进行及时操作,以供前台操作。

5.关于博主模块功能:实现博主个人信息的添加、删除、修改的功能,并及时对数据库进行操作,以供前台调用。

6.留言本模块功能:为浏览者提供留言途径,后台删除、查看留言,并对数据库进行即使操作,以供前台调用。

本系统重点完成了对相册模块和日志模块的实现,详细设计了博客后五个模块的功能,达到了帮助用户对个人博客系统使用的目的。 关键字: JavaBean、JDBC、ODBC

3

菏泽学院本科生毕业论文

Based on B/S structure is Java personal blog development

Student majoring in Computer science and technology Dukang

Tutor LvFangXing

Abstract:

This thesis research topic is \lopment\This system mainly provide users with blog system. Through the demand analysis of the system, high level design and detailed design, so that the system has the database information retrieval and maintenance function, and fulfilled the blog system related operation function.

In this system in the design and implementation of main USES the JSP (Java web Server JavaBean + + Servlet dynamic web design technology, and with Windows XP as

operation environment, use browser/Server structure (B/S), backend database is MySQL Server as JSP, Tomcat support platform. Using development tool use is Dreamweaver 8, JDK1.6 and programming tools Myeclipse.

This system mainly consists of four function modules:

1. The main module function: set the user interface, accept the user to select, call the corresponding program blocks.

2 albums module function: accept blogger submit information, according to the information makes the corresponding add, delete, modify operation, and to the corresponding operation on the database operation, the modified database content, in order to offer the front desk calls

3. Log module function: according to the blogger submit information that the database add modification and deletion, update the database. For front desk calls.

4. Video module function: to achieve upload or delete video, and the database, in order to offer timely operation desk operation.

4

菏泽学院本科生毕业论文

5. Shut get autorization module function: to achieve blogger personal information to add, delete, modify the function, and promptly to the database operation, for front desk calls.

6. Guestbook module function: provide your visitor with message way, background, and delete, viewer messages to the database, for even operation desk calls.

This system mainly completed the album module and log of the module, the detailed design blog closed after five modules of the system, achieves the help users to personal blog systems use purpose.

Key word:

JavaBean, JDBC, ODBC

5

菏泽学院本科生毕业论文

1 前言

1.1 问题的提出

随着互联网的不断发展,人们的生活发生了巨大的变化,人们获取信息资料的方式也发生了巨大的改变,越来越多的人喜欢到网上去收集信息,特别是近几年,随着数字化产品的不断普及,人们越来越喜欢上Blog(博客),当下个人博客得到了长足的发展,类似于新浪,网易,都有自己的博客系统。个人博客现在已渐渐成为人们交流,获取网络信息的主要途径。为此,我提出了个人博客系统开发的课题。

1.2 课题的背景及意义

1.2.1 课题背景

博客,又译为网络日志、部落格或部落阁等,是一种通常由个人管理、不定期张贴新的文章的网站。博客上的文章通常根据张贴时间,以倒序方式由新到旧排列。许多博客专注在特定的课题上提供评论或新闻,其他则被作为比较个人的日记。

个人博客是博客的一种。自建独立网站的博客主,有自己的域名、空间和页面风格。是个人持续性的日记或评论。它是最传统常见的博客。个人博客作者一般注重博客的内容,即使他们的博客从来没有被除了自己以外的人阅读过。博客经常不只是一个沟通的方法,它们成为了一种反映生活的方法或艺术创作。编写博客可以抒发感情,引起人们的共鸣。很少个人博客出名和成为主流,但一些个人博客很快就聚集了许多读者。研究该系统的意义在于通过个人博客记录个人生活点滴:如同日记一般,可将自己每日生活中发生的事情记录下来,并且跟朋友或网友们分享。传达个人自由思想:博客是个自由的空间,可依照个人自由意志去撰写任意的内容,传达个人的自由思想。抒发分享个人情绪:博客常用来抒发个人情绪,把生活中的不满、郁闷或愤怒宣泄到博客上,或是网友们分享个人心情。分享交流知识技术:如果有专长、兴趣的人,可以借由撰写博客来分享自己

1

菏泽学院本科生毕业论文

的知识与技术,并和网络上得网友交流讨论。 认识同好交流朋友:借由博客的社群性质可以吸引兴趣或性格相合的网友来观看,并且借此认识结交新朋友。 宣传文化推销产品:可以通过自己的企业博客来对外宣传本企业文化,或者通过博客来做营销。

1.2.2 课题意义

今天,随着网络技术的不断发展进步,网上流行的博客系统以其庞大的访问量和低廉的成本受到越来越多的人的青睐。同时,由于网上博客系统所占据的主导地位,一个简单的个人博客,就可以使用户随心所欲的达到自己的交流目的,这也为网上信息传递提供了一个平台。而且,由于个人博客才刚刚兴起,并且现在还处于免费阶段,以后将会有越来越多的人加入到个人博客的行列中来,同时随着法律的不断完善,网上个人博客也收到了法律的保护,用户可以在自己的博客上发表自己的言论,同他人进行思想上的交流。随着社会的进步,个人博客系统也将成为网络主流。借此,大部分人可以从网络上通过个人博客进行网络营销。由此可见,个人博客系统将拥有一片广阔的市场。不仅仅是人们日常生活的交流,更多的是通过博客学习到更多的知识。

2 JSP及其相关技术

2.1 JSP技术

JSP是由SUN 微软系统公司(Sun Microsystems Inc)倡导、许多公司参与一起建立的一种动态网页技术标准,其在动态网页的建设中有其强大而特别的功能。目前在国外的众多网站特别是涉及电子商务的网站中,已经大量使用了JSP技术。

JSP(Java Server Pages,服务器端动态网页)既然名为“服务器端”动态网页,可想而知,JSP必定是在“服务器”建立的动态网页。更明确地说,JSP是能在Web Server(尤其是JSWDK)端整合Java语言至HTML网页的环境中,利用HTML网页内含的Java程序代码取代原有的CGI、ISAPI或者IDC的程序,以便执行原有CGI/WinCGI、ISAPI的功能。

2

菏泽学院本科生毕业论文

2.1.1 JSP的运作模式

JSP能在Web Serve (尤其是JSWDK)端整合Java语言至HTML网页的环境中,然后利用HTML网页内含的Java程序代码取代原有的CGI、ISAPI或者IDC的程序,以便执行原有CGI/WinCGI、ISAPI的功能。

相对应用于Client端(指的是浏览器端的HTML文件)内嵌的描述语言,Sun公司提供的JSWDK-1.0.1也支持类似的描述语言,它便是Java语言。先来看看JSP的运作模式。

请求请求请求浏览器回传服务器回传JSP回传数据库 图2.1 JSP 运作模式由于JSP放置在Web服务器上,它在解析使用者由表单穿送过来的字段数据后,接着通过适当的逻辑生成标准HTML文件,然后传送给客户端,使用者看到的是一般符合HTML格式的文件内容。因为JSP是在JSWDK-1.0.1上执行的,所以无论使用者使用的是哪一种平台下的浏览器,皆能欣赏由JSP产生的网页内容。

在传统的网页HTML义件中加入Java程序片段(scriptlet)和JSP标签(tag),就构成了JSP网页(.jsp)。web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTMI格式返回给客户。程序片段可以操作数

3

菏泽学院本科生毕业论文

据库、重新定向网页以及发送E-mail等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行。网络上传送给客户端的仅是得到的结果,JSP对客户浏览器的要求很低,支持无Plug in,ActiveX,无Java Applet、甚至无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页面的应用模型。

4

菏泽学院本科生毕业论文

JSP页面由JSP引擎执行,引擎安装在Web服务器或者支持JSP的应用服务器上。JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面给客户端的响应。JSP页面通常被编译成为Java Servlet。后者是一个标准的Java扩展,页面开发人员能够访问全部的Javs应 用环境,以利用Java技术的扩展性和可移植性。

当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlet类,并且存储在服务器的内存中。这使得以后对该页面的调用有非常快的响应。(避免了CGI—BIN为每个HTTP请求生成一个新的进程的问题,或是在服务器端使用引用所引起的运行时的语法分析问题)。

JSP页面可以包含在多种不同的应用体系结构或者模型中,它的页面可以 应用于由不同协议、组件和格式所组成的联合体中。例如在一个简单实现中,浏 览器直接调用JSP页面,JSP页面自动生成被请求的内容(AD调用JDBC直接从数 据库中获取信息),并且创建标准的HTML,作为结果发送回浏览器。

这个模型基本上用JSP页面(编译成为Java Servlet)代替了CGI—B则概念。这个方法使用户能够简单而快速地编程,并且很容易根据请求和资源状态生成动态内容。这个结构在许多应用上工作良好,但不能扩展到以下情况,即大量的基于Web的并发客户访问稀少的企业资源。因为每个客户必须建立或者共享一个到可用内容资源的连接。例如,如果JSP页面访问数据库,可能生成许多到数据库的连接,将极大地影响到数据库的性能。

2.1.2 JSP的特点

和传统的CGI相比较,JSP有相当的优势。首先,在速度上,传统的CGI程序需要使用系统的标准输入输出设备来实现动态网页的生成,而JSP是直接和服务器相关联的。而且对于CGI来说,每一个访问者就需要新增加一个进程来处理,进程不断建立和销毁对于作为Web服务器的计算机将是不小的负担。其次,JSP是专门为Web开发而设计的,其目的是为了建立基于Web的应用程序,包含了一整套的规范和工具。使用JSP技术可以很方便地将一大堆JSP页面组合成为一个Web应用程序。

和ISPAI和NSAPI相比较,JSP的开发速度要快得多,开发难度也要小得多,在编译为Java Servlet以后,配合目前最新的JIT(Just In Time)的Java解释器,其执行速度也慢不了多少。而且,ISAPI和NSAPI这种和Web服务器过于紧密结合

5

菏泽学院本科生毕业论文

的技术使用时一旦出现错误,很容易是 Web服务器崩溃,而JSP就没有这个缺点。

JSP真正的对手是ASP和PHP,还有最近才问世的ASP.net,在Web技术方面ASP,PHP和JSP的比较见下表。

ASP JSP Web服IIS ,PWS Apache,IIS,PWS,iPlanet 务器 Netscape Server,等 运行平Windows 各种UNIX(Solaris, 台 Linux, AIX, IRIX等),Windows, MacOS等 组件技COM Java, EJB 术 自定义无 有 TAG语法 开放性 无 多家合作,包括SUN, IBM, BEA Weblogic Netscape, Oracle 脚本语VBScript, Java, EMAC-Script, 言支持 Jscript WEBL等 建立大可以 可以 型Web应用程序 程序执快 极块 行速度 学习难低 较低 度 Session有 有 管理 统一的有,ADO,ODBC 有,JDBC 数据库连接 后缀名 Asp Jsp 表2-1 JSP,ASP,PHP比较

PHP Apache,IIS,PWS,Netscape Server等 各种UNIX(Solaris, Linux, AIX, IRIX等),Windows COM, JavaBeans 无 自由软件 PHP 不宜 极块 低 有 无 php, php3, phps Web服务器和运行平台

ASP目前仅仅被支持于Microsoft Internet Information Server(IIS)和Personal Web Server(PWS),由于IIS和PWS仅仅有Windows下的版本,故ASP目前只能在Windows平台下使用。尽管有第三方的插件号称可以在UNIX下使用ASP,但

6

菏泽学院本科生毕业论文

对基于COM组件技术的ASP来说,在没有COM支持的UNIX平台下只能是一个“玩具”。

JSP仅仅是一个规范,尽管通过的论述可以得出JSP一般要用Javal来实现的论断,但作为跨平台的语言,Java可以在许多平台下使用。这样,JSP也就显而易见的跨平台的了。目前的JSP的确可以在多种Web服务器和操作系统下使用。如Apache Web Server和Microsoft IIS等。

Apache Web Server是世界上占有率最高的Web服务器,可以在包括SUN Solaris, IBM AIM, SGI IRIX, Linux和Windows在内的许多操作系统下运行。Apache Web Server下JSP的实现可以通过免费的Apache Jserv和GNUJSP, Jakarta-Tomcar实现。

也可以使用商业的JRUN(LiveSoftware),Websphere(IBM),Weblogic(BEA)来实现。Microsoft IIS本身支持JSP,但可以通过JRUN, Weblogic, Websphere来实现。还可以使用应用服务器添加JSP支持的Netscape Enterprise Server及由之发展而来的可以直接支持JSP的iPlanet Web Server等等。

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技术将成为首选。

7

菏泽学院本科生毕业论文

2.2 Servlet技术

2.2.1 Servlet 技术概述

Servlet(Java 服务器小程序)是用Java编写的服务器端程序,是由服务器端调用和执行的任何Java类。Servlet是使用Java Servlet应用程序设计接口(API)及相关类和方法的Java程序。除了Java Servlet API,Servlet还可以使用用以扩展和添加到API的Java类软件包。

Servlet是Java 2.0中新增的一个全新功能,是一种采用Java技术来实现CGI功能的一种技术。Servlet本身与协议无关,与平台也无关。浏览器端也就是客户端运行的Java程序叫做Applet,而服务器端运行的程序叫做Servlet。

Java Servlet运行于Java-Enable Web服务器中,可以被看作是运行在请求和面向请求服务器上的模块。Java Servlet能够像CGI脚本一样动态的扩展Web服务器的功能,并采用请求—响应模式提供Web服务。Servlet和CGI一样都是运行在Web服务器上,用来生成Web页面的。

最早支持Servlet技术的是Javasoft的Java Web Server。此后,一些其它的基于Java的Web Server 开始支持标准的Servlet API。Servlet API是用来编写Servlet 的一套编程接口,编写Servlet不需要关心Servlet是如何被加载、Servlet运行的服务环境是什么、传输数据的协议有什么不同等。因而,Servlet能够运行在不同的Web服务器中,Servlet避免了CGI的这些缺陷。

Servlet看起来像是通常的Java程序。Servlet倒入特定的属于Java Servlet API的包。因为是对象字节码,可动态的从网络加载,可以说Servlet对Server就如同Applet对Client一样,但是,由于Servlet运行于Server中,它们并不需要一个图形用户界面。

Servlet的主要功能在于交互式的浏览和修改数据,生成动态Web内容。这个过程为:

? 用户发送请求至服务器端。

? 服务器将请求信息发送至Servlet。

? Servlet生成响应内容并将其传给Server。响应内容动态生成,通常取决于客户端的请求。

? 服务器将响应返回给客户端。

8

菏泽学院本科生毕业论文

2.2.2 Servlet 与 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.3 Servlet 应用范围及缺陷

1. Servlet能完成以下几种功能:

? 创建并返回一个包含基于客户请求性质的动态内容的完整的HTML页面。 ? 创建可嵌入到现有HTML页面中的一部分HTML页面(HTML片段) ? 与其他服务器资源(包括数据库和基于Java的应用程序)进行通信 ? 用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。

? 当允许在以单连接方式传送数据的情况下,在浏览器上打开服务器至Applet的新连接,并将该连接保持在打开状态。在客户机和服务器简单、高效的执行会话的情况下,Applet也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准进行通信。

9

菏泽学院本科生毕业论文

? 对特殊的处理采用MIME类型过滤数据。

? 将定制的处理提供给所有服务器的标准例行程序,Servlet可以修改如何认证用户。

2. Servlet的一些应用范围: ? 处理HTTP请求

Servlet能够处理HTTP请求,并且能够传递HTTP响应到客户端。 ? 用于处理HTML表单

通过HTTP产生提交数据,然后Servlet可以处理这些数据。 ? 允许人们之间的合作

一个Servlet能并发处理多个请求,可以使用同步请求支持系统。 ? 转送请求

Servlet可以转送请求给其他的服务器和Servlet。这就允许在镜像同样内容的几个服务器之间平衡负载。按照任务类型或组织范围,可以允许被用来在几个服务器中划分逻辑上的服务区。

? 允许定以激活代理

Servlet编写者们可以定义彼此之间共同工作的激活代理,每个代理者是一个Servlet,而且代理者能够在他们之间传送数据。

2.2.4 Servlet 的生命周期

Servlet的生命周期始于将它装入Web服务器的内存时,并在终止或重新装入Servlet时结束。

1. 初始化

? 在下列时刻装入Servlet:

? 如果已经配置自动装入选项,则在启动服务器是自动装入 ? 在服务器启动后,客户机首次向Servlet发出请求时 ? 重新装入Servlet时

装入Servlet后,服务器创建一个Servlet实例并且调用它的init()方法。在初始化阶段,Servlet初始化参数被传递给Servlet配置对象。

2. 请求处理

对于到达服务器的客户机请求,服务器创建特定于请求的一个“请求”对象

10

菏泽学院本科生毕业论文

和一个“响应”对象。服务器调用Servlet的service()方法,该方法用于传递“请求”和“响应”对象。Service()方法从“请求”对象或的请求信息,同时处理该请求,并用“响应”对象的方法将响应传回给客户机。Service()方法也可以调用其他方法来处理请求,例如doGet()、doPost()或其他的方法。

3. 终止

当服务器不再需要Servlet,或重新装入Servlet的新实例时,服务器会调用它的destroy()方法,来终止当前Servlet实例的运行。

2.3 JDBC技术

2.3.1 JDBC概述

JDBC是Java数据库连接(Java Data Base Connectivity)的简称,是一种可用于执行SQL语句的Java API(Application Programming Interface应用程序设计接口)。它由一些Java语言编写的类和界面组成。JDBC为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。

Java具有健壮、安全、易用等特性,而且支持自动网上下载,本质上是一种很好的数据库应用的编程语言。它所需要的是Java应用如何同各种各样的数据库连接,JDBC正是实现这种连接的关键。

JDBC API 为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)。

11

菏泽学院本科生毕业论文

不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现“WriteOnce,RunEverywhere!”

2.3.2 JDBC两层模型和三层模型

JDBC支持两层模型,也支持三层模型访问数据库。

两层模型中,一个java Applet或者一个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的优点

? JDBC API与ODBC十分相似,有利于用户理解

? JDBC 使得编程人员从复杂的驱动器调用命令和函数中解脱出来。可以致力于应用程序中的关键地方。

? JDBC 支持不同的关系型数据库,使得程序的可移植性大大加强。 ? 用户可以使用JDBC-ODBC桥驱动器将JDBC函数转换为ODBC。

? JDBC API是面向对象的,可以让用户把它的常用方法封装为一个类,以备

12

菏泽学院本科生毕业论文

后用。

2. JDBC的缺点

? 使用JDBC,访问数据记录的速度会受到一定程度的影响。

JDBC 结构中包含了不同厂家的产品,这就给更改数据源带来很大的麻烦。

2.4 JSP开发方式

JSP技术规范种给出了两种使用JSP开发Web应用的方式,这两种方式可以归纳为模型一和模型二,这两种模型的主要差别在于它们处理业务的流程不同。

模型一,如下图所示,称之为JSP+JavaBeans模型。在这一模型中,JSP页面独自响应请求并将处理结果返回给客户,所有的数据通过JavaBean来处理,JSP实现页面的表现。

图2-2 JSP模型一

从上图可以看出,模型一也实现了页面表现和业务逻辑相分离。然而使用这种方式就要在JSP页面使用大量的Java代码,当需要处理的业务逻辑很复杂时,这种情况会变得非常糟糕。大量嵌入式代码使整个页面程序变得异常复杂。对于前端界面设计的网页开发人员来说,这简直是一场噩梦。所以,模型一不能满足大型应用的需要,但是对于小型应用,因为该模型简单,不用涉及诸多要素,从而可以很好地满足小型应用的需要,所以在简单应用中,可以考虑模型一。

模型二,如下图所示,称之为JSP+Servlet+JavaBeans模型。这一模型结合了JSP和Servlet技术,充分利用了JSP和Servlet两种技术原有的优势。这个模型

13

菏泽学院本科生毕业论文

使用JSP技术来表现页面,使用Servlet技术完成大量的事务处理,使用图3:

Bean来存储数据。Servlet用来处理请求的事务,充当一个控制者的角色,并

图2-3 JSP模型二

负责向客户发送请求。它创建JSP需要的Bean和对象,然后根据用户请求的行为,决定将哪个JSP页面发送给客户。

从开发的观点看,模型二具有更清晰的页面表现,清楚的开发角色的划分,可以充分利用开发团队中的网页设计人员和Java开发人员。这些优势在大型项目中表现得尤为突出,网页设计人员可以充分发挥自己的美术和设计才能来充分表现页面,程序编写人员可以充分发挥自己的业务逻辑处理思维,实现项目中的业务处理。

另外,从设计结构来看,这种模型充分体现了模型视图控制器(MVC)的设计架构。事实上,现存的很多开发框架都是基于这种模型的,充分实现了MVC ,例如Apache Struts框架和JavaServer Faces框架。

3 需求分析

3.1 需求分析概述

需求分析是软件定义时期的最后一个阶段,他的任务是准确回答“系统做什么?”这个问题。

在可行性分析阶段已经粗略的了解了用户的需求,甚至还提出了可执行方案,但是,可行性研究的基本目的是用较小的成本在较短的时间内确定是否存在可行方案,因此忽略了许多细节。所以可行性分析不能代替需求分析,它实际上没有准确说出“系统必须作什么”这个问题。

14

菏泽学院本科生毕业论文

需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。需求分析的结果是系统开发的基础,关系到工程的成败和软件的质量。因此,必须用行之有效的方法对软件进行严格的审查验证。

3.2 个人博客系统概述

个人博客系统是主要为注册用户提供一个发布个人信息和写作的平台。用户可以在自己的博客里发布一些自己的文章和相关信息。个人博客系统可以帮助用户管理个人的所有发布信息,而且用户可以对自己的信息进行任意的修改。本博客系统主要是为了用户提供一个网上空间,让用户可以在空闲的时间进入自己的领域随意玩转。

3.3 系统目标

博客网站系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的个人博客网站,为网络用户提供进行在线交流的网络平台。

通过个人博客网站可以结交更多的朋友,表达更多的想法,它随时可以发布文章。

具体的要求如下:

? 博主可以简单的添加和删除文章;

? 独立于具体的数据库平台。对于与数据库交互的部分充分考虑兼容性; ? 容易在原先基础上进行二次开发;

? 中间基础平台的无型性。尽量采用开放的标准技术,达到跨平台运行的效果;

为了达到以上的开发目的,个人博客网站应遵循一定的设计和开发与原则: ? 模块接口定义清晰;基础类库和接口设计合理,尽量建立叮扩展的接口和抽象类;

? 数据库操作使用标准SQL语句,如果一定要使用有差别的SQL语句,则尽

15

菏泽学院本科生毕业论文

量集中在一起,以减少将来维护和移植的难度;采用开放的标准和工具等

3.4 系统功能要求

博客系统通常提供三类服务:

? 信息服务,它可分为:文章显示,热点文章推荐,博主风采

? 查询服务:可以根据文章内容,文章标题,留言内容,留言标题等进行

模糊查询

? 留言服务:游客可以对系统进行留言或发表看法意见

在此,我参考现有的几大博客网站如QQ空间,新浪博客等,采用Browser/Server结构,将个人博客网站划分为两个子系统:前台,后台。

在前台的功能实现上,可以分为以下几个部分: ? 相册查看 ? 视频查看

? 博主信息查看 ? 日志查看 ? 留言板查看 ? 友情链接 ? 联系我

通过计算机网络将前台与后台的数据库相连,网站管理员将从前台得到的信息进行处理,实现视频、相册等各部分的管理 ? 相册、照片管理 ? 视频管理 ? 日志管理

? 博主个人信息管理 ? 友情链接管理 ? 留言板 ? 联系方式管理

16

菏泽学院本科生毕业论文

4 系统概要设计

4.1 功能模块设计及模块功能描述

4.1.1 功能模块设计

相 册模 块 日志模块 视频模块 友情连接模块 关于博主模块 留言本模块 前台设计 个人网站

添 加删 除修 改相册 添加删除修改照片 添加删除修改日志分类 添加删除修改日志 添加删除视频 添加删除修改友情链 接模块 添加删除修改博主信息 添加删除留言 浏览页面 浏览者留言 4.1.2 模块功能描述

1. 相册模块

动态实现照片的添加、删除、修改; 2. 日志模块

动态实现日志的添加、删除、修改; 3. 视频模块

动态实现视频的添加、删除、修改 4. 友情链接模块

17

菏泽学院本科生毕业论文

动态实现友情链接的添加、删除、修改; 5. 关于博主模块

动态实现博主个人简历的添加、删除、修改;

6. 留言板模块

动态实现留言板内容的添加、删除、修改;

4.2 数据库设计

4.2.1 概念结构简介

概念结构设计是将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程。它是整个数据库设计的关键。即在需求分析的基础上,设计出能够满足客户业务要求的各种实体,也就是各种对象,以及它们之间的相互关系。为后面的逻辑结构设计打好基础。描述概念模型的有力工具是E-R模型。

软件系统本质上是信息处理系统,因此,在软件系统的整个开发过程中都必须考虑两方面的问题 “数据”及对数据的“处理”。在需求分析阶段既要分析用户的数据要求(既需要有哪些数据数据、数据本身有什么性质、数据的结构等等),又要分析用户的处理要求(既对数据进行哪些处理、每个处理的逻辑功能等等)。

为了把用户的数据要求清晰明确地表达出来,系统分析员通常建立一个概念性的数据模型(也称信息模型)。概念性信息模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。它描述了从用户角度看到的数据,它反映了用户的现实环境,且与在软件系统中的实现方法无关。

最常用的表示概念数据模型的方法,是实体联系方法。这种方法用E-R图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。用这种方法表示的概念性数据模型又称为ER模型。

4.2.2 概念模型设计

(1)相关概念

最常用的表示概念数据模型的方法是实体—联系方法

18

菏泽学院本科生毕业论文

(entity—relationship approach)这种方法用ER图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。用这种方法表示的概念性数据模型又称ER模型。

通常,软件系统中许多数据是长期保存的,为了减少冗余,简化修改数据的过程,应该对数据进行规范化。

ER模型中包含“实体”、“联系”和“属性”等三个基本成分。 A.实体

实体是客观世界中存在的且可相互区分的事物。实体可以是人,也可以是物,也可以是具体事物,也可以是抽象概念。

B.联系

客观世界中的事物彼此之间往往是有联系的。联系可以分为三类:一对一的关系、一对多的关系和多对多的关系。

C.属性

属性是实体或联系所具有的性质,通常一个实体由若干属性来刻画。 (2)范式

通常用“范式“(Normal Form)定义消除数据的冗余程度。第一范式冗余程度最大,第五范式冗余程度最小。但是,范式级别越高,存储同样数据就需要分解成更多的表。

A.第一范式

每个属性值都是原子值,即仅仅是一个简单值而不含内部结构。 B.第二范式

属于第一范式且每一个非主属性完全函数依赖于码。 C.第三范式

属于第二范式且每一个非主属性即不部分依赖于码,也不传递依赖于码 4.2.3 数据库表设计

? pb_album(相册)

19

菏泽学院本科生毕业论文

pb_blog(日志)

pb_blog_ctg(日志分类)

pb_info(个人资料)

pb_link(友情链接)

pb_message_book(留言本)

pb_photo(照片)

pb_video(视频)

20

菏泽学院本科生毕业论文

4.2.4 系统模块设计

模块表:

子系统编号 1 2 3 4 5 6 7 8 英文名称 Pb_blog Pb_video Pb_album Pb_info Pb_photo Pb_blog_ctg Pb_link Pb_message_book 中文名称 日志 视频 相册 关于我 照片 日志分类 友情链接 留言本 业务职能 添加、删除、修改 添加、删除、修改 添加、删除、修改 添加、删除、修改 添加、删除、修改 添加、删除、修改 添加、删除、修改 添加、删除、修改 安装地点 备注 模块功能表

编号:1 标示符:Pb_blog 名称:日志 功能:实现对日志的添加修改和删除,供浏览者阅读 编号:2 标示符:Pb_video 名称:视频 功能:实现对视频的添加修改和删除,供浏览者阅读 编号:3 标示符:Pb_album 名称:相册 功能:实现对相册的添加修改和删除,实现照片的分类,供浏览者浏览 编号:4 标示符:Pb_info 名称:个人简历 功能:实现对个人简历的添加修改和删除,供浏览者阅读 编号:5 标示符:Pb_photo 名称:照片 功能:实现对照片的添加修改和删除,供浏览者浏览

21

菏泽学院本科生毕业论文

编号:6 标示符:Pb_blog_ctg 名称:日志分类 功能:实现对日志分类的添加修改和删除,实现对照片的分类,供浏览者阅读 编号:7 标示符:Pb_link 名称:友情链接 功能:实现对友情链接的添加修改和删除,供浏览者链接 编号:1 标示符:Pb_message_book 名称:留言本 功能:实现对留言本的添加修改和删除,供浏览者留言 4.3 关系模型

? 关系模式:

日志:(文章号 文章标题 文章类型号 文章关键字 文章正文 更新日期); 日志分类表:(文章类型号 文章类型名 类型描述); 相册表:(相册号 相册名 相册描述)

照片表:(照片号 照片描述 照片缩略图地址 照片地址 照片所属相册) 视频表:(视频编号 视频名称 视频地址 视频图像地址 视频描述); 友情链接表:(链接号 链接网站名 链接网站网址 链接网站描述); 个人信息表:(姓名 密码 邮箱 地址 msn QQ 电话 主页 介绍); 留言本表:(留言编号 留言用户名称 留言者邮箱地址 留言日期) ? 具体二维格式表:

1、博客文章表:

文章号(主文章标题 文章类型文章关键字 键) 号 Int(11) Varchar(30) Int(11) text

2、文章类型表: 文章正更新日期 文 text date 文章类型号(主键) Int(11) 3、相册表

文章类型名 Varchar(10) 类型描述 text 相册号(主键) Int(11)

4、照片表

相册名 Varchar(20) 相册描述 Text 22

菏泽学院本科生毕业论文

照片号(主键) 照片描述 Int(11)

5、视频表

Text 照片缩略图照片地址 照片所属相地址 册 Varchar(100) Varchar(100) Int(11) 视频号(主键) 视频名 Int(11) 6、留言本表

视频封面地视频描述 址 Varchar(20) Varchar(50) Varchar(50) Text 视频地址 留言本号(主键) Int(11)

7、友情链接表

用户名 Varchar(20) 留言者邮箱 Varchar(50) 留言日期 Date 友情链接号(主键) Int(11) 8、版主信息表

链接网站名 Varchar(100) 链接网站网址 Varchar(200) 网站描述 Text 信息姓名 密码 邮箱 QQ MSN 地址 电话 号 Int Varchar Varchar Varchar Int Varchar Varchar Int (11(16) (11) (16) (16) (20) (16) (11) ) 主页 介绍 Varchar text (20) 4.4 数据字典

数据字典是关于数据的集合,也就是对数据流图中包含的所有元素的定义集合。

任何字典的最主要的用途都是供人查阅对不了解的条目的解释,数据字典的作用也正是在软件分析及设计过程中给人提供关于数据的描述信息。

数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而,没有数据流图,数据字典也就难于发挥作用。只有数据流图和数据字典共同放在一起,才能共同构成系统的规范化说明。

数据字典最主要的用途就是作为分析阶段的工具。在数据字典中建立的一

23

菏泽学院本科生毕业论文

组严密一致的定义很有助于改进分析员与用户之间的通信,因此,将消除许多可能的误解。对数据的这一系列严密一致的定义也有助于改进在不同的开发人员或不同的开发小组之间的通信。

数据字典中包含的每个数据元素的控制信息是很有价值的。因为列出了使用一个给定的数据元素的所有程序模块,所以很容易估计改变一个数据将产生的影响,并且能对所有的受影响的程序模块作相应的改变。

数据字典是开发数据库的第一步,而且是很有价值的一步。

数据流是数据结构在系统内的传输路径。其中,“数据流来源”是说明该数据流来自哪个过程。“数据流去向”是说明该数据流将流到那个过程去。

数据流编号 数据流名 D1.1 博主注册 组成 数据流来源 数据流去向 用户注册 用户名+密码+姓用户 名+性别+出生年月日+EMAIL D1.2 D1.3 用户登录 信息修改 用户名+密码 用户 用户登录 信息修改 用户名+密码+姓用户登录 名+性别+出生年月日+EMAIL D1.4 信息保存 用户名+密码+姓信息修改 名+性别+出生年月日+EMAIL 用户信息库 D1.5 D1.8 D2.1 用户注销 信息删除 照片上传 用户信息 用户信息 用户登录 用户注销 用户注销 用户信息库 前台显示 图片格式,图片用户上传 内容,图片描述 D2.2 视频上传 视频格式,视频用户上传 内容,视频描述,视频封面 前台显示 D2.3 D2.4 日志上传 日志内容,日期, 用户上传 前台显示 前台显示 留言板内留言内容,留言用户上传 容上传 时间,留言者姓24 菏泽学院本科生毕业论文

名,日期 D3.1 D3.2 链接 博主信息 链接地址 用户修改 页面显示 页面显示 姓名,性别,博主上传 email,QQ等 25

菏泽学院本科生毕业论文

5 系统详细设计 5.1 系统的开发环境

该系统是在Windows XP操作系统下进行开发的,使用的开发工具是Dreamweaver 8,开发环境是JDK1.6。JSP的支持平台是Tomcat6.0,后台数据库是MySQL。在开发过程中还使用到了开发工具Myeclipse。

5.1.1 JSP支持平台Tomcat6.0

Tomcat是一个免费的开源的Serlvet容器,由于有了Sun的参与和支持,最新的Servlet和JSP规范总能在Tomcat中得到体现。

Tomcat 最新版本是6.0x。它提供了各种平台的版本供下载,可以从http://jakarta.apache.org上下载其源代码版或者二进制版。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。

与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(Web Archive)文件。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部署和撤销应用。当然本地也可以。

26

菏泽学院本科生毕业论文

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.2 JDK概述及配置

JDK是Java develop kit的缩写,它是早期Java的开发包名称,一直延用至今! 在1998年jdk发表1.2版的时候,Sun公司使用了新名称Java 2 platform来称呼

27

菏泽学院本科生毕业论文

Java,译成中文就是“Java平台”,修改后的jdk称为J2sdk即Java 2 (platform) software Develping kit,并分为标准版(Standard Edition)又称j2se, 企业版(Enterprise Edition)又称j2ee,微型版(MicorEdition)又称j2me.它们有不同的用途,不过最基本的开发包还是j2se。

JDK是一切java应用程序的基础,可以说,所有的java应用程序是构建在这个之上的。它是一组API,也可以说是一些java Class。目前已经正式发布的最新版本是JDK1.5。

在安装完JDK后,还需要在环境变量中进行相应的配置才能使用JDK的功能。在Windows中主要进行以下配置:

1. 设置JAVA_HOME的环境变量,它表示Java安装的目录,其他的应用程序如果要使用Java运行环境,首先获得JAVA_HOME变量的值,然后确定执行的路径。

2. 设置CLASSPATH的环境变量,CLASSPATH表示搜索Java类的路径,这个路径中可以包括一些Jar归档文件,也可以是一个目录。在应用程序或者服务器执行时,往往会动态地在CLASSPATH中添加一些自己需要的类的路径。它的值为“安装路径\\lib\\tools.jar”

5.1.3 开发工具Dreamweaver 8

Macromedia Dreamweaver 8 是Macromedia公司出品一款专业的 HTML 编辑器,用于对 Web 站点、Web 页和 Web 应用程序进行设计、编码和开发。无论您愿意享受手工编写 HTML 代码时的驾驭感还是偏爱在可视化编辑环境中工作,Dreamweaver 都会为您提供有用的工具,使您拥有更加完美的 Web 创作体验。

利用 Dreamweaver 中的可视化编辑功能,您可以快速地创建页面而无需编写任何代码。您可以查看所有站点元素或资源并将它们从易于使用的面板直接拖到文档中。您可以在 Macromedia Fireworks 或其他图形应用程序中创建和编辑图像(如:Photoshop),然后将它们直接导入 Dreamweaver ,或者添加 Macromedia Flash 对象,从而优化您的开发工作流程。Dreamweaver 还提供了功能全面的编码环境,其中包括代码编辑工具(例如代码颜色和标签完成);有关 HTML 、层叠样式表 (CSS)、JavaScript 、ColdFusion 标记语言 (CFML) 、Microsoft Active Server Pages (ASP) 和JavaServer Pages (JSP) 的参考资

28

菏泽学院本科生毕业论文

料。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的语句:

File: UserBean.java, SongBean.java, FanBean.java, ViewArea.java 代码说明: 1. openDataBase()

在进行数据库的查询和更新等操作之前,必须要经过几个必需的步骤进行数据库的连接,这在前面介绍JDBC的时候已经详细的阐述了。成员函数openDataBase()将这些步骤封装。因此,在调用其他的成员函数之前,必须调用openDataBase()进行初始化设置

2. executeQuery(String sql)和executeUpdate(String sql)

这两个成员函数分别用来完成通过参数传递来的Sql语句的执行,即查询

29

菏泽学院本科生毕业论文

和更新操作。

3. Statement 和PreparedStatement

Statement对象用于执行不带参数的简单SQL语句,PrepareStatement对象用于执行带或不带IN参数的预编译SQL语句。 4. close()

对数据库的操作完成后,及时释放占用资源。

5.2.2 字符编码过滤器EncodingFilter

Web应用中的过滤器截取从客户端进来的请求,并做出处理的答复。它可以说是外部进入网站的第一关,它可以验证客户是否来自可信的网络,可以对客户提交的数据进行重新编码,可以验证客户是否已经登录等。

要开发一个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 相册模块

相册模块功能描述:接受博主提交信息,根据信息做出相应添加、删除、修

30

菏泽学院本科生毕业论文

改操作,并对相应操作对数据库进行操作,修改数据库内容,以供前台调用。

B_edit_album_ctg.jsp//显示相册名子列表,可以新建或删除相册分类 B_upload_photo.jsp//上传图片,编辑图片信息

B_edit_photo.jsp//管理某个相册中的图片,修改图片简介,删除图片等 相册模块流程图:

新建相册 开始 选择 新建or上传 相册列表 选择相册 上传照片 操作 否 是 执行操作 上传照片 进入列表 删除or修改 相片列表 否 否 是 否结 是 是否结束 是 结束 31 菏泽学院本科生毕业论文

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//获取日志内容

32

菏泽学院本科生毕业论文

日志模块流程图:

开始 进入 博客列表 请求显否 示 是 数据处理 显示文章 关闭 是 结 束

博客文章前台/后台操作流程

开始 进入 博客列表 查看文章 删除文章 查看 删除 添加新文章 显示文章 删除文章 删除 删除/修改 修改页面 是 保 存 否 结束 33

菏泽学院本科生毕业论文

5.3.3 视频模块

视频模块功能描述:实现上传或删除视频,并对数据库进行及时操作,以供前台操作!

B_upload_video.jsp//上传视频(上传视频,视频封面图片,视频简介等) B_edit_video.jsp//修改视频信息 视频模块流程图:

删除 添加 成功 否 否 否 开始 视频列表 选择操作 结束 删除照片 添加视频 是否成功 是 是否成功 添加描述 添加封面 是否成功 是 结束 34

菏泽学院本科生毕业论文

5.3.4 留言板模块

留言本模块功能描述:为浏览者提供留言途径,后台删除、查看留言,并对数据库进行即使操作,以供前台调用。 留言本模块流程图:

是 否 否

删除 前台 开始 前台or后后台 添加留言 留言列表 选择操退出 添加 删除留言 添加留言 成功否 成功否 是

结束 6 研究成果与前景展望

6.1 研究成果概述

博客被中国的“博客”先行者们称为是继E—mail、BBS和IM之后的第四种

35

本文来源:https://www.bwwdw.com/article/j9n7.html

Top