1、 单位代码 xxxxx 密 级 公开 学 号 xxxxxxxxxxxx XX 文理学院 学士学位论文 基于 JSP 的个人博客系统设计与实现 论文作者: 李姜伟 指导教师: 陈梁 学科专业: 计算机科学与技术 (职教师资 ) 提交论文日期: 2013 年 04 月 05 日 论文答辩日期: 2013 年 04 月 20 日 学位授予单位: xxxxxx 中 国 重 庆 2013 年 4 月 软件工程学院毕业论文(设计) 目录 I 目 录 摘要 .III Abstract. IV 1 引言 .1 1.1 系统开发的背景 .1 1.2 开发的目的和意义 .1 1.3 开发环境及工具和技术的选用 .
2、2 1.3.1 开发环境 .2 1.3.2 开发工具及技术介绍 .2 2 系 统分析 .5 2.1 任务概述 .5 2.2 功能需求分析 .5 2.2.1 前台 .5 2.2.2 后台 .6 2.3 性能需求分析 .6 2.4 系统数据需求 .7 2.4.1 系统的数据需求 .7 2.4.2 系统的数据字典 .8 3 系统概要设计 .9 3.1 系统体系结构 .9 3.2 主要功能设计 .9 3.2.1 主要功能模块 .9 3.2.2 系统流程图 . 10 4 数据库设计 . 12 4.1 数据库概念设计 . 12 4.2 数据库逻辑结构设计 . 15 4.2.1 数据库详细设计 . 15 4
3、.2.2 数据表关系设计 . 18 5 系统详细设计 . 19 5.1 登陆和注册界面设计 . 19 5.2 前台页面设计 . 21 5.2.1 前台首页概述 . 21 5.2.2 前台首页技术分析 . 22 5.2.3 前台首页的面局 . 23 5.3 后台界面设计 . 24 5.3.1 后台首页概述 . 24 5.3.2 后台首页技术分析 . 25 5.3.3 后台首页的布局 . 25 5.4 系统重难点代码分析 . 25 5.4.1 系统配置 . 25 5.4.2 分类显示文章信息 . 27 5.4.3 相册上传的实现 . 29 软件工程学院毕业论文(设计) 目录 II 6 系统测试 .
4、32 6.1 测试方法 .32 6.2 测试内容 .33 6.2.1 登录测试 .33 6.2.2 发表文章测试 .34 7 结论与展望 .37 致 谢 .38 参 考 文 献 .39 2009 级计算机科学与技术职教师资毕业设计 III 基于 JSP 的个人博客系统 计算机科 学与技术 (职教师资 ) 李姜伟 指导教师 陈梁 摘要 : 博客,是一种互联网平台上的个人信息交流中心。看上去平淡无奇,毫无可炫耀之处,但它可以让每个人零成本、零维护地创建自己的网络媒体,每个人都可以随时把自己的思想火花和灵感更新到博客站点上。 本系统页面采用 Html 语言和 Css 样式以及 JavaScript
5、脚本来设计,系统的相关功能由 Java 语 句 来 实 现 , 使 用 Sql2000 数 据 库 作 为 后 台 , 采 用Jsp+Servlet+JavaBean 模式来完成系统的相关功能。主要分为游客和博主两种角色。游客可以注册、查看日志、照片 、博主的资料和发表评论。博主则完成写日志、修改日志、上传照片、管理照片、更改个人信息、添加公告、退出系统等功能。 关键词: 博客;个人博客; JSP; Sql2000 李姜伟:基于 JSP 的个人博客系统设计与实现 IV Personal blog system based on JSP Computer Science and Technolo
6、gy Vocational Education faculty Undergraduate Class one Author:Li Jiangwei Supervisor: Chen Liang Abstract:Blog is a kind of Internet platform of information exchange center. Look boring, are in no way to show off, but it allows everyone to zero cost, zero maintenance to create your own network medi
7、a, everyone can update their ideas spark and inspiration to the blog site. The system page using Html and Css, and JavaScript script design, system related function is implemented by Java statements, using Sql2000 database as the background, using the Jsp + Servlet + JavaBean model to complete the r
8、elated functions of the system. Mainly divided into two roles tourists and blogger. Visitors can register and view the log information, photos, blogger and comment. Bloggers are writing log, modify logs, upload photos, photo, change the personal information management, add announcements, exit system
9、s, etc. Key words: Blog; Personal blog; JSP; Sql2000; 2009 级计算机科学与技术职教师资毕业设计 1 引言 1.1 系统开发的背景 信息时代的今天,网络已经成为人们工作、学习的一部分,不断充实和改变着人们的生活。在网络中,构建一个个性化的个人博客,可以充分地表达自己的思想,通过发表文章展示个人才能,抒发个人情感。网友则可以根据主题发表个人意见,表达自己的想法,与博主进行思想交流,乐在其中。 博客之所以以用户的欢迎,首先在于它具有无与伦比的“越分享越多”的魅力精髓。对于博文本人 ,对于阅读博客的人;对于自己,对于他人,对于社会;对于工作,对
10、于生活,“越分享越多”的博客精髓注定了博客的发展势不可挡。博客可以美化一个人的生活!而所谓的新媒体革命,所谓的人际交往和知识传播的革命,都是第二层次的。通过分享,美化每一个博客,美化每一个人的生活,自然美化整个社会。分享可以是沟通,可以是人际关系,可以是文章,可以是音乐和声音,可以是图片和视频,可以是阅读和推荐“博客网,让你随心所欲”,这个随心所欲主要就是在超越时空的虚拟世界中,可以随心所欲地分享你愿意分享的一切。 1.2 开发的目的和意义 目的:许多博客专注在特定的课题上提供评论或新闻,其他则被作为比较个人的日记。一个典型的博客结合了文字、图像、其他博客或网站的链接、及其它与主题相关的媒体。
11、能够让读者以互动的方式留下意见,是许多博客的重要要素。大部分的博客内容以文字为主,仍有一些博客专注在艺术、摄影、视频、音乐、播客等各种主题。 博客的功能主要有以下四点:( 1)个人自由表达和出版,用户可以自由发表文章,但是是有前提的,例如谣言、色情等不合法的内容是不允许发表的;( 2)知识过滤和积累,用户可以将自己生活、工作中的一些心得记录下来与他人分享;( 3)深度交流沟通,博客可以促进交流可以与他人交流自己记录下的一些心得或者国内外新闻等,但是用户应该以辩证的方式去评论;( 4)博客营销。作用还有很多,总之博客在现如今这个飞速发展的网络时代已经成为人们不可或缺的一部分。所以我选择了这个课题
12、作为我的毕业设计。 意义:在网络技术逐渐渗入社会生活各个层面的今天,传统的交流方式也面临着变革,而网络博客则是一个很重要的方向。博客是以网络为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人分享,再集丰富多彩的个性化展李姜伟:基于 JSP 的个人博客系统设计与实现 2 示于一体的统合性平台。基于 Web 技术的博客系统可以 借助于遍布全球的 Internet进行,因此交流既可以是本地进行,也可以是异地进行,大大拓展了沟通与交流的灵活性。记录个人生活点滴:如同日记一般,可将自己每日生活中发生的事情记录下来,并且跟朋友或网友们分享。 1.3 开发环境及工具和技术的选用 1.3.1 开发环境
13、 ( 1)硬件平台 CPU: AMD 3200+ 1.81GHz 内存: 2G 显示器: 18.5 英寸 LCD ( 2)软件平台 操作系统: Windows XP 数据库: SQL Server 2000 开发工具: Macromedia Dreamweave, MyEclipse, 开发语言: Java 语言 服务器: Tomcat 浏览器: IE6.0 分辨率: 1366*768 1.3.2 开发工具及技术介绍 ( 1) JSP 技术 JSP(全称 Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请
14、求,而动态生成 HTML、 XML或其他格式文档的 Web 网页的技术标准。 JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于 HTTP 的应用程序。 当客户端请求一个 JSP 网页时, JSP Engine 会检查所请求的 JSP 网页是否已经处于被载入执行的状态,如果没有,它会先读取 JSP 程序文件,将它换成 Servlet程序代码编译载入,然后才执行请求的服务。也是就说,只有当客户端第一次请求 JSP 网页时,才需要被转换、编译和载入,做到了一次执行,处处执行。 JSP 的Servlet Class 是 JSP Eng
15、ine 自动帮我们编译产生的,不像 Servlet 需要手动编译,另外,在 JSP 程序中建立新的对象和 Java Bean 非常方便容易。 ( 2) JSP 的基础 Servlet 技术 Java Servlet 是 JSP 技术的基础, JSP 本身就是预先被编译成 Servlet,然后2009 级计算机科学与技术职教师资毕业设计 再运行的,而且大型的 Web 应用程序的开发需要 Java Servlet 和 JSP 配合才能完成, Servlet 这个名称大概源于 Applet,现在国内的翻译方式很多,本文为了避免误会,本文直接采用 Servlet 这个名称而不做任何翻译,读者如果愿意,
16、可以称之为“小服务程序”。 Servlet 是使用 Java Servlet 应用程序设计接口及相关类和方法的 Java 程序。它在 Web 服务器上或应用服务器上运行并扩展了该服务器的能力。 Java Servlet 对于 Web 服务器就好像 Java Applet 对于 Web 浏览器。 Applet装入 Web 浏览器并在 Web 浏览器内执行,而 Servlet 则是装入 Web 服务器并在 Web服务器内执行。 Java Servlet API 定义了 Servlet 和服务器之间的一个标准接口,这使得 Servlet 具有跨服务器平台的特性。 Servlet 通过创建一个框架扩展
17、服务器的能力,采用请求 -响应模式提供 Web服务。当客户机发送请求至服务器时,服务器将请求信息发送给 Servlet, Servlet生成响应内容并将 其传给 Server,然后再由 Server 将响应返回给客户端。 ( 3) JavaBean JavaBean 是一种 JAVA 语言写成的可重用组件。为写成 JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。 JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他 Java 类可以通过自身机制发现和操作这些 JavaBean 属性。 ( 4)开发平台: MyEcli
18、pse+dreamweaver MyEclipse 是一个十分优秀的用于开发 Java, J2EE 的 Eclipse 插件集合,MyEclipse 的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。 MyEclipse 目前支持 Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC 数据库链接工具等多项功能。可以说 MyEclipse 几乎囊括了目前所有主流开源产品的专属 eclipse 开发工具。 Dreamweaver 是美国 Macromedia 公司开发的集网页制作和网站管理于一身的所见即所得
19、式网页编辑器,是针对专业网页设计师 而设计的视觉化网页开发工具,它可以让设计师轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。 Dreamweaver 与 Flash、 Fireworks 一度被称为网页三剑客。 6 ( 5)数据库: SQL Server 2000 SQL Server 2000 作为 Microsoft 家庭的重要成员,是基于客户机 /服务器的大型关系数据库系统。 SQL Server 2000 这种关系型数据库系统能够满足各种类型的企业客户和独立软件供应商构建商业应用程序的需求,根据客户的反映和需求,是大规模联机事务处理( OLTP)、数据仓库和电子商务应用
20、程序的优秀数据库平台。 SQL Server 2000 具有以下特点: 1强大可伸缩性; 李姜伟:基于 JSP 的个人博客系统设计与实现 4 2支持大型 Web 站点或企业信息处理系统; 3客户机 /服务器体系结构; 而数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。各部件之间的关系如图 1.1 所示: 图 1.1 数据关系图 ( 6) Tomcat 服务器 Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器。 它是 Apache 基金会的 Jakarta 项目中 的一个核心项目,由 Apache, Sun 和其它一些公司及个人共同开发而成。 应用程序 OD
21、BC 管理器 ODBC API sql 驱动程序管理器 数据源名( DSN) ODBC 驱动程序 数据源 ODBC 层 数据层 应用层 2009 级计算机科学与技术职教师资毕业设计 2 系统分析 2.1 任务概述 博客网站系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的个人博客网站,为网络用户提供进行在线交流的网络平台。通过个人博客网站可以结交更多的朋友,表达更多的想法,它随时可以发布文章。 具体的要求如下: ( 1)博主可以简单的添加和删除文章; ( 2)独立于具体的数据库平台。 对
22、于与数据库交互的部分充分考虑兼容性; ( 3)容易在原先基础上进行二次开发; ( 4)中间基础平台的无型性。尽量采用开放的标准技术,达到跨平台运行的效果; 为了达到以上的开发目的,个人博客网站应遵循一定的设计和开发与原则; ( 5)模块接口定义清晰; ( 6)基础类库和接口设计合理,尽量建立叮扩展的接口和抽象类; ( 7)数据库操作使用标准 SQL 语句,如果一定要使用有差别的 SQL 语句,则尽量集中在一起,以减少将来维护和移植的难度; ( 8)采用开放的标准和工具等。 2.2 功能需求分析 博客系统通常提供三类服务 : ( 1)信息服务,它可分为:文章显示,热点文章推荐,博主风采; ( 2)查询服务:可以根据文章内容,文章标题,留言内容,留言标题等进行模糊查询; 本系统采用 Browser/Server 结构,将个人博客网站划分为两个子系统:前台,后台。下面分析各个子系统的功能需求。 2.2.1 前台 在前台的功能实现上,可以分为以下几个部分: ( 1)用户登录: 网站用户用个人注册的帐号和密码登录到博客系统。系统检测用户的帐号和密码是否错误和判断用户是博主还是普通用户并给予其相应的权限对系统进行操作。 ( 2)用户注册: