javablog毕业论文.doc

上传人:laozhun 文档编号:2386798 上传时间:2023-02-17 格式:DOC 页数:44 大小:567.50KB
返回 下载 相关 举报
javablog毕业论文.doc_第1页
第1页 / 共44页
javablog毕业论文.doc_第2页
第2页 / 共44页
javablog毕业论文.doc_第3页
第3页 / 共44页
javablog毕业论文.doc_第4页
第4页 / 共44页
javablog毕业论文.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《javablog毕业论文.doc》由会员分享,可在线阅读,更多相关《javablog毕业论文.doc(44页珍藏版)》请在三一办公上搜索。

1、摘 要本篇论文共分为八个部分:包括绪论、相关技术简介、Blog设计的系统分析、数据库设计、Blog的详细设计、Blog开发中的困难、Java web前景展望和结论。其中第五部分“Blog的详细设计”是本篇论文的重点。整篇论文都是围绕着这一部分来展开论述的,在这一部分里详细介绍Blog的开发全过程和开发过程中存在的疑难问题。其中包括:所需组件的介绍、Blog各个模块的实现和数据的流程。 J2EE 带动了Java在企业级的发展,现在,随着对JAVA2平台企业版(J2EE)第三方支持的增多,JAVA被广泛接纳为开发企业级服务器端解决方案的首选平台之一。随着Spring,Hibernate的不断完善和

2、发展,EJB3.0出现了,成为了未来Java 企业级开发的新的方向。 关键字:J2EE,Blog, Java Web, 模块AbstractThis paper includes eight parts: including introduction, related technology introduction, Blog design system analysis, database design, detailed design, Blog Blog development difficulties, Java web prospect and conclusion. Among t

3、hem the fifth part Blog is the detailed design of this essay focus. The whole thesis is all around this part to discuss, in this part of the development of the detailed introduction Blog process and development process in the knotty problem. Including: required components introduction, Blog modules

4、of realization and the flow of information. The J2EE impetus to the development of the enterprise Java, now, as to JAVA2 platform enterprise edition (J2EE) third-party support increasing, Java widely accepted as development enterprise-level server solution preferred platform one. With Hibernate are,

5、 developing and perfecting, EJB3.0 appeared, become the future development of the new direction of hongdu Java.Keywords: J2EE,Blog, Java Web,Modul毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过

6、帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何

7、其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生

8、在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优

9、 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意

10、? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年 月 日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件

11、)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日目 录摘 要.IAbstract.III目 录.V第1章 绪 论.11.1 课程背景11.1 课题的目的、意义1第2章 J2SE简介.22.1 J2SE简介22.1.1 J2SE的概念22

12、.1.2 J2SE的特性22.2数据库技术简介42.2.1 数据库概念42.2.2 常用数据库4第3章 Blog设计的系统分析.63.1 系统需求分析63.2 系统实现的目标63.3 系统模块的设计63.4系统流程图7第4章 数据库设计.84.1 创建数据库84.1.1数据库概念结构设计84.1.2数据库逻辑结构设计84.2 数据库表的设计10第5章 Blog的详细设计.135.1 所需组件简介135.1.1 DbUtil组件简介135.1.2 diaplaytag组件简介145.1.3upfileload组件简介165.2主要模块设计165.2.1来访者模块175.2.2管理员模块195.2

13、.3博文管理模块235.2.4博文类别管理模块265.2.5留言管理275.5.6文件管理28第6章 Blog开发过程中的困难.336.1 Blog开发存在的困难336.1.1 结构流程问题336.1.2 组件使用问题336.1.3博文分页34第7章 结 论.37第1章 绪 论1.1 课程背景Blog 全名Web log,中文意思是“网络日志”,后来缩写为Blog。它是继Email、BBS、IM之后出现的第四种网络交流方式,是网络时代的个人“读者文摘”,是以超级链接为武器的网络日记,是代表着新的生活方式和新的工作方式,更代表着新的学习方式。简言之,Blog 就是以网络作为载体,简易迅速便捷地发

14、布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。1.1 课题的目的、意义随着Blog快速扩张,它的目的与最初的浏览网页心得已相去甚远。目前网络上数以千计的 Bloggers发表和张贴Blog的目的有很大的差异。不过,由于沟通方式比电子邮件、讨论群组以及BBS和论坛更简单和容易,Blog已成为家庭、公司、部门和团队之间越来越盛行的沟通工具。博客作为一种新表达的方式,它的传播不仅情绪,包括大量的智慧、意见和思想。某种意义上说,它也是一种新的文化现象,博客的出现和繁荣,真正凸现网络的知识价值,标志着互联网发展开始步入更高的阶段。因此制作一个blog网站已经很有

15、必要。第2章 J2SE简介2.1 J2SE简介Java2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。J2SE,J2ME和J2EE,这也就是SunONE(Open NetEnvironment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入式系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。2.1.1 J2SE的概念Standard Edition(标准版) J2SE 包含那些构成Java语言核心的类。比如:数据库连接、接口定义、输入/输出、网络编程

16、。2.1.2 J2SE的特性易于开发性您也许已经见过这样的报告,即一些新的 Java 语言变化包含易于开发性主题。这些变化包括泛型、元数据、autoboxing、增强的 for 循环、枚举类型、静态导入、C 风格的格式化 I/O、可变参数、并发实用程序以及更简单的 RMI 接口生成。 JSR 201 包括如下四个语言变化:增强的 for 循环、枚举类型、静态导入和 autoboxing;JSR 175 指定了新的元数据功能,而 JSR 14 则详细说明了泛型。 javac 编译器执行的默认语言规范是版本 1.4(并非最新版本)。这意味着要利用以下语言变化的任何好处,需要向 javac 命令传递

17、参数 -source 1.5。 元数据J2SE 1.5 (并非最新版本)中的元数据特性提供这样的能力,即向 Java 类、接口、方法和字段关联附加的数据。这些附加的数据或者注释,可以被 javac 编译器或其他工具读取,并且根据配置不同,可以被保存在类文件中,也可以在运行时使用 Java 反射 API被发现。 向 Java 平台增加元数据的一个主要原因是,使得开发工具和运行工具有一个通用的基础结构,以减少开发和部署所需的成本。工具可以使用元数据信息生成附加的源代码,或者在调试时提供附加信息。 下面的例子用元数据工具创建了一个调试元数据注释,这些元数据注释然后又简单地在运行时显示出来。可以想像,

18、大部分的元数据标签形成一个标准,即一个良好规范的集合。利用一个元数据处理工具,许多重复的代码编写步骤可以减少成一个简练的元数据标签。 泛型泛型一直是 Java 社团所广泛期待的,现在已经是 J2SE 1.5 的一部分了。最先见到使用泛型的地方是在 Collections API 中。Collections API 提供可以被多个 Java 类型使用的公共功能性,比如 LinkedLists、ArrayLists 和 HashMaps。下一个例子使用 1.4.2 库和默认的 javac 编译模式。 泛型化 API 的用户必须使用 符号简单地声明在编译类型中使用的类型。不需要任何类型转换,在本例中

19、试图向一个 Integer 类型的集合中添加 String 对象将会在编译时被捕获。 因此,泛型允许 API 设计者提供这样的公共功能性:可以与多种数据类型一起使用,也可以在编译时出于类型安全对它进行检查。2.2数据库技术简介数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。2.2.1 数据库概念数据库是依照某

20、种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。2.2.2 常用数据库OracleOracle 前身叫SDL,由Larry Ellison 和另两个编程人员在1977创办,他们开发了自己的拳头产品,在市场上大量销售,1979 年,Oracle公司引入了第一个商用SQL 关系数据库管理系统。Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作系

21、统平台。目前Oracle关系数据库产品的市场占有率名列前茅。 SQL Server1987 年,微软和IBM合作开发完成OS/2,IBM 在其销售的OS/2 ExtendedEdition 系统中绑定了OS/2Database Manager,而微软产品线中尚缺少数据库产品。为此,微软将目光投向Sybase,同Sybase 签订了合作协议,使用Sybase的技术开发基于OS/2平台的关系型数据库。1989年,微软发布了SQL Server 1.0 版。 mySQLmySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。目前MySQL被

22、广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。第3章 Blog设计的系统分析3.1 系统需求分析现在是网络时代,大家交流变多了,比如去写日志就是一个很好的交流方法,可以与人分享自己的一些喜怒哀乐,和生活,学习,工作,等各种经验,通过网络日志,我们可以增添更多见识.Blog主要分为两部分,来访者浏览的页面和管理者对Blog的添加、删除、修改等管理操作。和他人分享自己的生活经验和见闻。3.2 系统实现的目标在Blog制作中要达到以下几个方面的目标(1)界面设计有好、

23、美观。(2)数据库安全、可靠。(3)博文的显示布局简约、明确。(4)提供友好、方便的博文管理功能。(5)具有易维护性、易操作性。3.3 系统模块的设计(1) 来访者模块:来访者对博文的浏览和留言和对文件的下载。(2) 管理员登录模块:通过用户名和密码登录博文管理界面和在管理界面可对本用户的密码进行修改。(3) 博文管理模块:发表、删除不同类别的博文和对博文的修改。(4) 博文类别管理模块:增加、修改类别和对类别的删除并对删除类别下的博文进行一并删除。(5) 来访者留言管理:查看来访者的留言信息和对留言的删除。(6) 文件管理:上传文件、对数据库添加相应的文件信息、对文件的删除和对数据库中是相应

24、信息删除。3.4 系统流程图Blog系统是用户进入来访者浏览页面对博文进行浏览和留言以及对文件的下载,当想进入后台管理页面时需要进行身份验证,验证通过后管理员可以对博文和类别执行添加,删除,修改操作、对来访者留言进行删除管理、对本用户的密码进行修改以及对文件的添加,删除。流程图3-1如下博文浏览文件下载博文留言来访页面登录页面是否登录 否 判断身份管 理留言文件类 别博文修改密码第4章 数据库设计4.1 创建数据库数据库的基本结构分物理数据层、概念数据层和逻辑数据层三个层次,反映了观察数据库的三种不同角度4.1.1数据库概念结构设计数据库概念结构设计是在需求分析的基础上,设计出能够满足用户需求

25、的各种实体,以及他们之间的关系,为后面的逻辑结构设计打下基础。使用E-R图直观描述数据实体关系的。图中包括以下内容:(1)实体:用方框表示,方框内为实体的名成。(2)实体的各种属性:用椭圆表示,椭圆内为属性名称。(3)实体之间的联系:用菱形表示,菱形内为联系的名称。4.1.2数据库逻辑结构设计概念结构是独立于实际数据库模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。首先用户要进入管理页面时有要求用户是合法用户,必须对其判断,所以需要一个用来存储用户信息的用户表。用户信息实体属性图如图4-1所示:密 码用户名 用户信息实体图4-1用户信息实体属性图博文是Blog的中心,是必不可

26、少的部分,所以需要一个存储博文详细信息的实体。博文实体属性图4-2如示:博文详细实体标题DBXYD-TF477-46YM4-W74MH-6YDQ8内容DBXYD-TF477-46YM4-W74MH-6YDQ8发表时间DBXYD-TF477-46YM4-W74MH-6YDQ8类别DBXYD-TF477-46YM4-W74MH-6YDQ8图4-2 博文实体属性图为了方便来访者选择不同类别的博文进行阅读,并方便我们对博文的管理,因此对博文进行分类存储。所以要有一个存储类别信息的实体。类别实体属性图如4-3示:类 别 实 体类别名4-2类别级别图4-3类别实体属性图当来访者浏览你发表的博文时对你的博文

27、进行留言。并查看其他来访者对这篇文章的留言时,我们要把来访者的留言存储起来,所以需要一个留言信息实体。留言信息实体属性图4-4如示:留 言 实 体博 文内 容留言者留言时间图4-4留言信息实体属性图文件下载是Blog中的重要部分,和别人一起分享自己的资源,为用户方便下载分享文件,应对文件进行大致的描述,所以我们需要一个文件实体存储文件的详细信息,文件信息实体图如4-5所示:文件实体文件名文件大小文件描述上传时间上传人图4-5文件信息实体图4.2 数据库表的设计本Blog采用的是Mysql数据库管理系统,通过mysql的界面操作软件Navicat Lite制作一下表:博文表、类别表、留言表、用户

28、表和文件表。blog表保存所有博文的信息。包括博文编号(id)、主题(title)、内容(content)、时间(created_time)和所属类别的id值(category_id)。如图4-6所示。属性描述类型主键允许空id博文编号intYesNocatgory_id类别编号IntNoNotitle主题Varchar(100)NoNocontent内容varchar(500)NoNocreated_time时间DatetimeNoNo图4-6 Blog表category表对博文进行分类保存,id、分类的名称(name)、分类级别(level)。如4-7所示。属性描述类型主键允许空id类型编

29、号intYesNoname分类名称varchar(50)NoNolevel级别varchar(50)NoNo图4-7 category表comment表保存对博文的评论,id,评论人(username)、评论的内容(content) 、评论时间(created_time),所评论的博文的id值(blog_id)。如图4-8所示属性描述类型主键允许空id评论编号intYesNoblog_id博客编号IntNonousername评论人varchar(50)NoNocontent评论内容varchar(50)NoNoCreated_time评论时间DatetimeNoNo图4-8 comment表

30、users表保存用户信息,id、用户名(username)和密码(password)。如图4-9所示。属性描述类型主键允许空id用户编号intYesNousername用户名varchar(100)NoNopassword密码varchar(50)NoNo图4-9 Users表files表保存为来访者提供的文件下载资源,id、文件名(filename)、文件大小(filesize)、上传时间(up_time)、上传用户(users_id)、对文件的描述(filedescribe)。如图4-10所示。属性描述类型主键允许空id文件编号intYesNoflename文件名varchar(100)N

31、oNofiledescribe文件描述varchar(50)NoNofilesize文件大小varchar(100)NoNousers_id上传用户intNoNoup_time上传时间DatetimeNoNo图4-10 files表第5章 Blog的详细设计5.1 所需组件简介组件是抽象的概念而已,通俗的说是一些符合某种规范的类组合在一起就构成了组件。他可以提供某些特定的功能。例如J2EE,有servlet,jsp, javabean,ejb等许多组件。但实际他们都是类,只不过有他们特殊的规定。5.1.1 DbUtil组件简介当连接数据库是使用JDBC编写连接代码时它给已写的编码带来了数量惊人

32、的重复增加了程序的冗余,DbUtils是一个为做一些诸如关闭连接、装载JDBC驱动程序之类的常规工作提供有用方法的类.如下:ResultSetHandler一接口执行处理一个jaca.sql.ResultSet,将数据转变并处理为任何一种形式,这样有益于其应用而且使用起来更容易.QreryRunner这个类使执行SQL查询简单化了,它与ResultSetHandler串联在一起有效地履行着一些平常的任务,它能够大大减少你所要写的编码。如下是本系统具体连接数据库代码:1, 建立数据库连接池。首先在tomcat中的lib文件中添加mysql-connector-java-5.1.6-bin.jar

33、文件然后Tomcat服务器中config文件夹下的context.xml文件的配置,在与中添加如下内容:2在项目的WEB-INF/lib中导入commons-dbutils-1.3.jar文件后编写数据库连接类。package com.zzblog.servlet;import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;import javax.sql.DataSource;import mons.dbutils.QueryRunner;public c

34、lass ZzDbUtils public static QueryRunner getQueryRunner()DataSource ds = null;Context context;try context = new InitialContext();ds=(DataSource)context.lookup(java:/comp/env/jdbc/mysqlds);/加载数据库 catch (NamingException e) e.printStackTrace();QueryRunner qr = new QueryRunner(ds);return qr;/返回一个数据库连接对象

35、。5.1.2 diaplaytag组件简介使用DisplayTag可以大大减少Web界面的开发工作量,因为它支持样式(客户要求修改界面从此变得稍微容易了!),动态连接,分页显示,显示数据的排序,将表格数据输出成XLS等格式。在本系统中我们只使用简单的表格样式显示和分页。部分代码如下:1,导入dispalytag下载包displaytag-1.2.j和需的commons-beanutils-1.7.0.jar、commons-collections-3.1.jar、commons-lang-2.3.jar、commons-logging-3.1.jar、log4j-1.2.13.jar。2, 在

36、jsp页面加入displaytag,3, 使用displaytag标签。href=/zzblog/servlet/ZzMyBlogServlet?method=delete&id=$list.id4, 为表格显示内容作链接,为此要写一个链接类。package com.displaytag.link;import org.displaytag.decorator.TableDecorator;import com.zzblog.servlet.ZzBlog;public class MyWrapperBlog extends TableDecorator/继承内置的链接类 public Stri

37、ng getTitle() ZzBlog blog = (ZzBlog) getCurrentRowObject();int id = blog.getId();return + blog.getTitle() + ;public String getName()/链接的属性 ZzBlog blog = (ZzBlog) getCurrentRowObject();String id = blog.getCategory_id();return + blog.getName() + ;5.1.3 upfileload组件简介common-fileupload是jakarta项目组开发的一个功能很强大的上传文件组件,可以支持多个文件同时上传,同时也可以除了将上传文件保存为文件之外,还可以将上传的文件数据提取保存至数据库中。Fileupload中主要有以下几个接口或类:DiskFileItemFactory为文件提供一个文件工厂,通过工厂可以对伤处文件进行设置和创建文件上传类,ServletFileUpload用于接受客户端的数据进行。FileItem可有ServletFileUpload得到,对表单进行判断是否是文件表单,可得到表单内容,通过,write()实现文件上传,详细代码请在文件管理模块中查看。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号