"景先生毕设|www.jxszl.com

个人博客的设计与实现

2023-02-17 15:29编辑: www.jxszl.com景先生毕设
个人博客的设计与实现
摘要:Blog是Web blog的缩写,中文就是“网络日志”,在中国我们称它为博 客。它被解释为一个特定的软件系统,被用来在网络上出版、发表和张贴个人 的文章并且通常是由简短且经常更新的帖子所构成,这些张贴的文章都按照年 份和日期倒序排列。Blog的内容和目的有很大的不同,从对其他网站的超级链 接和评论,有关公司、个人构想到日记、照片、诗歌、散文,甚至科幻小说的 发表或张贴都有。而此系统也主导这一思想,主要为了完善地实现注册用户发 表文章,访客可以发表评论等相关功能来设计,并且完成前台运作和管理。
系统功能保留了传统博客系统的功能,同时又加上了人性化的界面设计, 比如日历的引用。完善的数据更新能力、实用的管理以及个性化的设计使本系 统能适应博客的发展。
系统页面釆用Html语言和Css样式以及JavaScript脚本来设计,系统的 相关功能由Java语句来实现,使用Tomcat为服务器,和SQL2000数据库作为 后台,来完成系统的相关功能。主要分为游客角色和用户角色。游客可以注册、 查看日志、照片、博主的资料和发表评论。用户则完成写日志、修改日志、上 传照片、管理照片、更改个人信息、发布公告等功能。
关键词:博客系统Jsp

目录
序言    1
第一章概述    2
1.1开发背景及意义    2
1.1.1开发背景    2
1.1.2开发博客的意义    2
1.2开发内容及可行性分析    2
1.2.1可行性分析    3
第二章系统开发技术及开发环境    4
2.1基于JSP的开发技术的网站设计模式开发方法    4
2.1.1JSP 概述    4
2.1.2Servlet 概述    4
2.1.3tomcat 概述    5
2.2开发环境简介    5
2.2.1开发平台: MyEclipse+dreamweaver    5
2.2.2所使用的数据库:SQL SERVER 2000    6
第三章系统详细设计    7
3.1需求分析    7
3.2系统功能    7
3.2.1前台    7
3.2.2后台    8
3.2.3系统物理设计    8
3.3系统体系结构设计    9
3.4数据库的设计    10
3.4.1数据流图及数据字典    10
第四章系统实现及调试    13
4.1 系统文件结构    13
4.2首页面及主要页面设计    13
4.3功能模块详细设计    13
4.3.1注册登录页面    14
4.3.2首页    15
4.3.3文章页面    15
4.3.4公告页面    16
4.3.5相片页面    16
4.3.6管理员页面    17
第五章遇到的问题和解决方法    18
第六章结束语    20
致谢    21
参考文献    22

序言
随着网络技术的发展,博客越来越成为人们生活中不可缺少的一部分。博 客通常被称为“网络日志”简称为“网志”。博客是继EMAILE、BBS、IM之后 出现的第四种全新的网络交流方式。博客就是以网络作为载体,简易迅速便捷 地发布自己的心得,即时有效轻松的与他人进行交流,再集丰富多彩的个性化 展示于一体的综合性平台。博客系统可以充分展示每个用户的内心世界、工作 感受、技术资料等方面的资讯。博客是个独立站点任何人都可以方便的来使用, 就像每个人拥有自己的笔记本开始书写一样简单。
博客的出现代替了以前的个人网站,任何人不需要懂得网页设计的制作技 术,就可以在互联网上表达自己的观点,展示自己的风釆,记录自己的生活琐 事或是工作经验,让自己得到更多人的关注。
随着Blogging快速扩张,它的目的与最初的浏览网页心得已相去甚远。目前 网络上数以千计的Bloggers发表和张贴Blog的目的有很大的差异。不过,由于沟 通方式比电子邮件、讨论群组更简单和容易,Blog已成为家庭、公司、部门和 团队之间越来越盛行的沟通工具,因为它也逐渐被应用在企业内部网络(Intranet)中。博客作为一种新表达的方式,它的传播不仅情绪,包括大量的智慧、意见 和思想。某种意义上说,它也是一种新的文化现象,博客的出现和繁荣,真正 凸现网络的知识价值,标志着互联网发展开始步入更高的阶段。

第一章概述
1.1开发背景及意义
1.1.1开发背景
在没有自己的博客之前,人们会经常进出于论坛发表贴子或者通过即时通 信软件聊天,来表达自已的想法,可是这些都是零散的和杂乱的。博客的出现, 让人们可以不断的把自己以前的和每天激发的一些想法或者感受整理放在自己 的博客上,虽然这些想法可能只是皮毛,没有什么深度,但是当下笔去写的时 候每次都会对某个小小的问题有了更多的一点点思考,再写博客的时候就感觉 到了一种想法得以释放思考得以延伸的满足感。生活中每天的一个小小的事情 都会引起人们的思考,甚至是和朋友的聊天中一个小小的火花迸发。督促自己 努力、把一时的想法变成观点,争取在生命中的每天里留下点什么,这正是博 客的精神:自由表达,开放宽容。
1.1.2开发博客的意义
随着Blog人数的增加,Blog作为一种新的生活方式、新的工作方式和新 的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构。 它使交流和沟通更有明确的选择和方向性;单一的思想和群体的智慧结合变得 更加有效;个人岀版变成人人都可以实现的梦想。Blog正在影响和改变着我们 的生活。Show you, share me,人人都可以博客,人人都需要博客。
1.2开发内容及可行性分析
博客网站系统页面采用Html语言和Css样式以及JavaScript脚本来设计, 系统的相关功能由Java语句来实现,使用Tomcat为服务器,和SQL数据库作 为后台,釆用Jsp+Servlet来完成系统的相关功能。主要分为游客角色和用户 角色。游客可以注册、查看日志、照片、博主的资料和匿名发表评论。用户则 完成写日志、修改日志、上传照片、管理照片、更改个人信息、添加收藏、退 出系统等功能。性能方面尽量实现操作界面友好、方便,易维护,安全性高,
充分考虑到用户需求不断变化的需要,降低系统在扩展新的业务功能时的复杂 度。
1.2.1可行性分析
可行性分析的目的就是用最小的代价在尽可能短的时间内确定问题是否能 够解决。该系统的可行性分析包括以下几个方面的内容:
技术可行性分析:本系统拟采用JSP和SQL2000分别作为前端和后端的开 发工具。JSP在执行以前先被编译成字节码(bytecode),字节码由Java虚拟 机(Java Virtual Machine)解释执行,比源码解释的效率高;服务器上还有字 节码的Cache机制,能提高字节码的访问效率。同时,SQL Server提供强大的 开发工具和各类开发特性,在大大提高开发效率的同时,进一步拓展应用空间, 带来新的商业应用机遇。因此从技术方面讲开发此系统是可行的。
操作可行性分析:本系统是一个基于Web的个人博客系统,系统基于Web 的工作界面,能在浏览器中直接进行录入、浏览、修改、删除、查阅等工作。 在操作使用上十分方便,通过Web浏览器就可使用本系统,因此,本系统简单、 方便,易于使用户接受,因而该系统是方便可操作的。
经济可行性分析:由于开发此博客管理系统所需的硬件(计算机及相关硬 件)和软件环境(NET+SQL2000),市场上都容易购买到或从相关网站下载,系统 成本主要集中在本管理系统的开发与维护上,对用户不造成过重的经济负担。 而且,目标系统不是很复杂,开发的周期较短,一人即可完成,所以从经济方 面讲开发此系统是可行的。

第二章系统开发技术及开发环境
2.1基于JSP的开发技术的网站设计模式开发方法
2.1.1JSP 概述
JSP是由Sun公司倡导,许多公司参与一起建立的动态网页技术标准。在 Java基础上开发出的JSP实现了动态网页与静态页面的分离,脱离了硬件平台 的束缚,它的先编译后运行等方式大大提高了执行效率,逐渐成为因特网上的 主流开发工具⑴。JSP充分利用了 Java的强大功能,是一种优秀的服务器端技 术。JSP基于强大的Java语言,具有极强的扩展能力,良好的缩收性,与平台 无关的开发特性等其他技术所不具备的优势。
JSP技术的主要有点如下:
将内容的生成和显示进行分离;         
强调可重用的组件;
釆用标签简化页面开发;
一次编写,处处运行;    -    .
当客户端请求一个JSP网页时,JSP Engine会检查所请求的JSP网页是否 已经处于被载入执行的状态,如果没有,它会先读取JSP程序文件,将它换成 Servlet程序代码编译载入,然后才执行请求的服务。也是就说,只有当客户 端第一次请求JSP网页时,才需要被转换、编译和载入,做到了一次执行,处 处执行。JSP的Servlet Class是JSP Engine自动帮我们编译产生的,不像 Servlet需要手动编译,另外,在JSP程序中建立新的对象和Java Bean非常 方便容易。
2.1.2 Servlet 概述
JAV Servlet技术为web开发者提供了 •种渐变,可靠的机制来扩展web 服务器的功能和访问现有的事务系统。Servlet可以认为是运行在服务器端的 Applet,但没有运行界面⑶,能够像CGI 一样动态地扩展Web服务器的功能, 并采用请求——响应模式提供Web服务。Servlet和CGI 一样都是运行在Web 服务器上,用来生成Web页面。Servlet的主要功能在于交互式地浏览和修改 数据,生成动态Web内容。
2.1.3 tomcat 申既述
Apache Tomcat服务器是一个免费的开放源代码的Servlet容器,不但具 有轻量级和灵活嵌入系统的特点,并且可以支持Servlet/JSP的最新规范⑷, 在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置 好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部 分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它 实际上作为一个与Apache独立的进程单独运行的。
当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页 面和Servleto另外,Tomcat和IIS> Apache等Web服务器一样,具有处理HTML 页面的功能,它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat 的默认模式oTomcat很受广大程序员的喜欢,因为它运行时占用的系统资源少, 扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在 不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新 的功能。

2.2开发环境简介
2.2.1 开发平台:MyEclipse+dreamweaver
Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开 发提供一个全功能的、具有商业品质的工业平台。
Eclipse最大的特点是允许安装第三方开发的插件来使自身的功能得到扩 展和增强,而MyEclipse就是最有名的插件集之一。MyEclipse是一款功能强 大的Java EE集成开发环境,包括完备的编码、调试、测试和发布功能,完整 支持 JSP、Struts、JSF、Hibernate、Spring、CSS、JavaScript、HTML、SQL 等技术。⑸
Dreamweaver是一款专业的HTML编辑器,用于对Web站点、Web页和 Web应用程序进行设计、编码和开发。无论直接编写HTML代码还是在可视化 编辑环境中工作,Dreamweaver都会提供帮助良多的工具,Web创作体验丰富。
2.2.2所使用的数据库:SQL SERVER 2000
SQL Server 2000是基于客户机/服务器的大型关系数据库系统。SQL Server 2000能够满足各种类型的企业客户和独立软件供应商构建商业应用程序的需 求,根据客户的反映和需求,是大规模联机事务处理(0LTP)、数据仓库和电 子商务应用程序的优秀数据库平台。SQL Server 2000具有以下特点:
强大的使用可扩展性;
易于安装、部署和使用;
支持数据仓库;
支持大型Web技术;
可以与其他服务器软件进行系统集成等;⑹    
而数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接 的抽象。

第三章系统详细设计
3.1需求分析
需求就是对期望的行为的表达⑻。博客网站系统的总目标是:在计算机网 络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一 个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的个人 博客网站,为网络用户提供进行在线交流的网络平台。博客一般具有以下功能:
显示博主的所有文章及文章评论;
发表文章评论;
显示博主的所有图片;
显示留言及发表留言;
访问者登录;
为进入后台提供登录入口;
通过博客后台,进行发表文章、上传图片、以及相应的增加、删除、修改、查 找操作。[7]
在此,我参考现有的几大博客网站如腾讯博客,新浪博客等,釆用B/S结 构,将个人博客网站划分为两个子系统:前台,后台。
3.2系统功能
3.2.1前台
在前台的功能实现上,可以分为以下几个部分:
[1]用户注册:
游客将个人的信息存储到博客网站的数据库中,以成为本博客的正式用 户。
[2]用户登录:
网站检测用户的帐号,密码并给予其相应的权限对网站进行操作。
[3]用户修改个人信息:
把已存储的用户信息用一个网页显示出来,方便用户对个人信息进行更 新。
[4]文章查询和留言:
用户可以检索或浏览博客中的文章同时给感兴趣的文章留言评论。
[5]公告信息查询:
用户可以浏览网站中的公告信息,了解博主的一些情况。
[6]图片查询:
用户可以对博客中的图片等进行查询,浏览。
3.2.2后台
通过计算机网络将前台与后台的数据库相连,网站管理员将从前台得到的 信息进行处理,实现文章管理,公告管理,投票管理,个人相册管理,朋友圈, 用户设置等子系统。
[1]文章管理:    二
管理员对网站中已有的日志进行删除,更新等琳佐泛 -
[2]公告管理:
发布,删除,更改公告―—
⑶投™VV•MvJv U
发起投票,统计投票等。
[4]个人相册管理:
对博客相册中的图片进行删除,更新等操作。
[5]用户设置:
更新普通用户对博客的操作的权限。
[6]博主设置:
对博主的信息等进行操作。

3.2.3系统物理设计
基于以上设计,系统实现的物理结构如图3.1所示:
图3. 1系统物理结构图
图3.2和3.3分别为系统前台和后台流程图
图3.2前台流程图
图3. 3博主后台系统流程图
3.3系统体系结构设计
本系统釆用基于B/S的三层WEB应用体系结构,由终端(用户主机/浏览器)、
WEB服务器、数据服务器构成。三层体系结构图如图3. 4所示。
CGL ASP, PHP等技术的出现,使得开发动态交互式的Web应用得以实现。 用户通过浏览器向服务器发送请求,Web服务器接收客户端发送来的请求,对 请响应
图3.4三层体系结构图
求进行分析,如果请求是静态页面,那么就将所请求的页面发送到客户端;如 果请求的是动态页面,那么就执行此动态页面,并将执行结果发送给客户端。 动态页面中的脚本程序可以和数据库服务器进行交互。
Web服务器可以根据用户的请求动态更新页面上的信息,Web信息提供者可 以通过改变数据库中的数据向用户提供最新信息,而不需要逐个更改页面。用 户可以通过这些动态页面向数据库中输入信息,从而增强了用户和服务器之间 的交互性。

3.4数据库的设计
一个设计良好的数据库,可以使系统的实现变得非常的简单,同时,也可 以使系统的执行速度变得很快。
341数据流图及数据字典
博客网站中涉及的数据元素包括:
名字:用户信息
别名:
描述:用户的个人信息,用于对用户的确认和更新。
定义:用户信息=帐号+密码+姓名+性别+工作单位+QQ号码+邮箱号码 位置:输入到用户浏览器(前台)
名字:管理员信息
别名:
描述:管理员的个人信息,用于对管理员的确认和更新。 定义:管理员信息=帐号+密码
位置:输入到管理员浏览器(后-)
名字:评论信息
别名:
描述:对已有日志进行评论。
定义:评论信息=评论题目+评论内容+评论日期
位置:输入到用户浏览器(前台)
名字:文章类型信息
别名:
描述:用于对日志进行分类。
定义:用户信息=类型名称+分类说明
位置:输入到用户浏览器(前台)
名字:朋友圈信息
别名:
描述:用户的个人信息,用于对用户的确认和更新。
定义:朋友信息=姓名+QQ号码+说明
位置:输入到用户浏览器(前台)
名字:照片信息
别名:
描述:用户上传的照片,图片等。
定义:照片信息=照片位置+照片说明+日期 位置:输入到用户浏览器(前台)
名字:投票信息
别名:
描述:
定义:投票信息=投票分类+投票数量 位置:输入到用户浏览器(前・)
根据系统功能设计要求和模块划分,本站的数据库主要有用户信息、日志 信息、管理员信息、照片信息、文章类型信息、评论信息、投票信息、朋友圈 视图。
在SQL Server2000数据库管理系统中建立名称为博客的数据库。
包括如下8个表,    如图3.    5:        
C2 tb “rticl.        dbo    用广    2007/10/^3 XS:37:^S
Otb.articlelype        dbo        4?00//10/23 1U0/.29
CJ lb.con Burner        db<j    国户    2007/10/17 10i4G:J4
E]        dbc        冲7/isn mm
口 tbjrlend        dbo    用u    2007/10/18 B:46il6
EJ phato        dba    用-    2007/10/22 1心5:卩
□ tb.r^itore        dbo        ?007/10/^4 1112)108
Q tb.vot©        dbo    用户    2007/10/10 10:43:28
图3.5数据库中的表

1)日志信息表如图3.6所示:
        w Id sw        敷机    '• l    M 默 Ufa    
                in»    4        
        »ype»ID        Ini    A    □'    
        title        vaichar 30    vr    
        conienl        Vftichw 2000    vr    
        phT irni*        v占圧h用    30    5    
        numboi        ini    4        
        图3.6    日志表        
2)评论信息表如图3.7所示:                
        列名        数据类型    1长度1    允许空
                int        4    
        discussTitle    war char    30    V
        di senssContent    war char    1000    V
        discussTime    varchar    50    V
                            
图3.7评论表
3)用户信息表如图3.8所示:
    列名    数据类型    1长度1    允许空
    I    int    4    
    account    varchar    10    V
    password    varchar    to    V
    name    varchar    50    ✓
    sex    char    5    \Z
    QQNumber    int    4    ✓
    m airiP age    varchar    50    ✓
    interest    varchar    50    7
    eMail    varchar    50    7
    manageLevel    varchar    10    X/

图3.8用户信息表

第四章系统实现及调试
4.1系统文件结构
相册(photo.html)    存储相片,图片    
表4.2~~功能详细划分表
本系统主要包括用户注册、登录,首页,日志显示、评论,留言显示、评 论,图片显示、评论,系统管理(包括日志管理,留言管理)六大模块。
4.3.1注册登录页面
要求所有人都要注册及登录,其界面如图4.3和4.4所示。
图4.3注册界面
图4.4登录界面

4.3.2首页
此处以管理员身份登录,在右上角可以看到“进入后台”能进入后台面进
行管理。如果是普通用户,则右上角没有“进入后台”的标志。如图4.5所示。
图4.5首页界面

4.3.3文章页面
图4.6文章页面 所有人都可以查看文章、评论,如图4.7所示。

4.3.4公告页面
如图4.8所示,所有人都可以查看
图4.8公告页面
4.3.5相片页面
如图4.9所示,所有人可查看,评论
图4.9相片页面
4.3.6管理员页面
如图4.10所示,管理员页面对系统进0管理与维护。
图4.10管理员页面

第五章 遇到的问题和解决方法
JSP技术源于Java语言。Java语言是体系结构中立的。这使JSP技术可以在 实现这个JSP平台的任何系统中运行。这种途径适合于异构的网络环境和软件 的分发。但这同时产生一个问题,就是环境搭建的复杂。
(1)在环境搭建过程中首先是JDk的配置。就是在安装完成后还要在系统 变量中添加如下变量和变量值:
1> classpath
=,;%java_home%\lib\dt. jar;%java_home%\lib\tools. jar
2>JAVA_H0ME = java6. 0 的目录,如:D:\Java\jdkl.6. 0_10 3>JRE_H0ME = JRE6. 0 的目录,如:D:\Program Files\Java\jre6 4>Path =;%JAVA_HOME%\bin
(2)其次是Tomcat的安装和配置:需要在系统变量中添加如下变量和变
量值:
1 > CAT AL I NA_H0ME=T omc a t 的目录,如:D: \Program Files\Apache
Software Foundation\Tomcat 6. 0
2>Classpath=;%CATALINA_HOME%\lib
3>Path=;%CATALINA_HOME%\bin;
(3)由于JSP不能直接连接数据库,还需要ODBC驱动的帮助。
public class ODBConnection (
private final String url = 〃odbc:odbc:sqllocal”;
private final String userName = 〃sa〃;
private final String password = 〃“;
private Connection con = null;
〃通过构造方法加载数据库驱动
static {
try (
Class. forName (zzsun. odbc. odbc. odbcOdbcDriverzz). newlnstance ();
} catch (Exception ex) (
System, out. printing数据库加载失败〃);
〃创建数据库连接
public boolean creatConnection() (
try (
con 二 DriverManager. getConnection(url, userName, password);
con. setAutoCommit (true);
} catch (SQLException e) {
System, out. println(e. getMessage());
System, out. print In (,zcreatConnectionError!/z);
!
return true;
}
由于时间关系,本系统在实施中有诸多考虑不足的地方。但作为一个极富发 展潜力的项目,博客系统是值得继续全面完善的。如有可能,将进一步开展研 究、升级和实践工作,争取制作成一个功能完善,安全性高的博客系统。

第六章结束语
博客被中国的“博客”先行者们称为是继E—mail. BBS和IM之后的第四 种网络交流方式,是网络时代的自媒体    作为一种全新的互联网信息发布工具和人际沟通工具,博客的优势在于它不拘泥于“一对一”或“一对多”的 信息展示,而是开辟出了一个由此及彼(由人际圈的相交而来的广域交流)的 “多对多”的舆论时代。与其他信息平台相比,博客传播更具个性化和立体化, 且交互性更强。本文针对如何设计一个结构灵活的个人博客系统进行了研究, 并做了以下几个方面的工作:
1.分析了现有的一些博客网站。我参考了 QQ空间,新浪博客等网站。在参 考这些网站建设的基础上,我给出了自己的问题定义。
2.对JSP技术进行了综述。本文选择JSP来开发Web服务和应用服务,所 以深入地了解JSP的各项核心技术及其应用。

致谢
在这次毕业设计中,首先我要感谢的是我的指导老师郭军老师,••毕业 设计的过程中提供了很多指导和建议,使我能够顺利的完成毕业设计。此次毕业设计,我的同学给了很大帮助,一起共同商量探讨,使我获益匪 浅,也使我们的同学关系更进一步了,所以在这里非常感谢帮助我的同学。同时也感谢院系各级领导对我的关心,为我提供了舒适的工作、学习环境, 使得我的毕业设计有了良好的硬件保障。还要感谢各位评阅老师的辛勤劳动,感谢您们在百忙之中评阅的我论文设 计。祝各位老师在以后的工作和生活中一切顺利!

参考文献
[1]李平.基于JSP的动态网页开发技术[J].网络与通信,2009, 25(7-3).
[2]唐爱国,杭志,王建明.Web2. 0动态网站开发-JSP技术详解与应用实 践[M].清华大学出版社,2009.
[3]池亚平,方勇.Servlet技术与应用方法[J].北京邮电大学学报, 2003 (S1), 26.
[4]乐挺.Tomcat和IIS的Web服务集成研究[J].电脑知识与技 术,2008(36).
[5]孙更新,宾晟,宫生文.Java程序开发大全基于MyEclipse平台 +Struts+Hibernate+Spring主流框架开发[M].屮国铁道出版 社,2010.
[6]张丽娟.SQL Server 2000网络数据库教程[M]. 1.北京:机械工业出 版社,2006.
[7]明日科技.JSP网络开发实例自学手册[M]. 1.北京:人民邮电出版社, 2008.
[8]Pfleeger S L, MAtlee J. SOFTWARE ENGINEERING Theroy and Practice[M].3.Higher Education Press.
原文链接:http://www.jxszl.com/lwqt/yzlw/178301.html