武汉工商学院信息工程学院项目名称:个人博客网站的实现(Java)学生姓名:学号:班级: 12计科本1 指导教师:2014年12月23日目录1 绪论 (1)1.1系统应用意义 (1)1.2主要设计任务 (1)1.3开发及运行环境 (1)1.3.1 JSP的基础——Servlet 技术 (1)1.3.2 JavaBean原理和机制 (1)1.3.3 开发平台:Eclipse (2)1.3.4 数据库:Microsoft SQL Server 2005 (2)2 系统需求分析 (3)2.1功能需求分析 (3)2.1.1 前台 (3)2.1.2后台 (3)2.2系统功能结构 (4)3 系统设计与实现 (4)3.1数据库的设计与描述 (4)3.2页面设计与描述 (5)3.3 数据库连接 (6)4 功能测试 (7)4.1功能实现.......................................................................................... 错误!未定义书签。
5 总结 (16)1 绪论1.1系统应用意义博客,又译为网络日志、部落格或部落阁等,是一种通常由个人管理、不定期张贴新的文章的网站。
博客上的文章通常根据张贴时间,以倒序方式由新到旧排列。
许多博客专注在特定的课题上提供评论或新闻,其他则被作为比较个人的日记。
一个典型的博客结合了文字、图像、其他博客或网站的链接、及其它与主题相关的媒体。
能够让读者以互动的方式留下意见,是许多博客的重要要素。
大部分的博客内容以文字为主,仍有一些博客专注在艺术、摄影、视频、音乐、播客等各种主题。
博客是社会媒体网络的一部分。
博客秉承了个人网站的自由精神,但是综合了激发创造的新模式,使其更具开放和建设性。
它作为一种新表达的方式,它的传播不仅情绪,包括大量的智慧、意见和思想。
某种意义上说,它也是一种新的文化现象,博客的出现和繁荣,真正凸现网络的知识价值,标志着互联网发展开始步入更高的阶段。
1.2主要设计任务博客网站系统的总任务是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的个人博客网站,为网络用户提供进行在线交流的网络平台。
通过个人博客网站可以结交更多的朋友,表达更多的想法,它随时可以发布文章。
可以浏览别人的博文。
1.3开发及运行环境1.3.1 JSP的基础——Servlet 技术Java Servlet是JSP技术的基础,JSP本身就是预先被编译成Servlet,然后再运行的,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成,Servlet这个名称大概源于Applet,现在国内的翻译方式很多,本文为了避免误会,本文直接采用Servlet 这个名称而不做任何翻译,读者如果愿意,可以称之为“小服务程序”。
Servlet其实和传统的CGI程序和ISAPI、NSAPI等Web程序开发工具的作用是相同的,在使用Java Servlet 以后,用户不必再使用效率低下的CGI方式,也不必使用只能在某个固定Web服务器平台运行的API方式来动态生成Web页面。
许多Web服务器都支持Servlet,即使不直接支持Servlet 的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。
得益于Java的跨平台的特性,Servlet也是平台无关的,实际上,只要符合Java Servlet规范,Servlet是完全平台无关且是Web服务器无关的。
由于Java Servlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Java Servlet效率非常高。
但Java Servlet也不是没有缺点,和传统的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用输出HTML语句来实现动态网页的,如果用Java Servlet来开发整个网站,动态部分和静态页面的整合过程简直就是一场噩梦。
这就是为什么SUN还要推出Java Server Pages的原因。
1.3.2 JavaBean原理和机制JavaBean是Java的可重用组件技术,提供了一定的通用功能,可以在Java应用(包括基于JSP的Web应用)中重复使用,JavaBean是一种符合某些命名和设计规范的Java类,通过封装属性和方法而具有某种功能或处理某个业务,简称beans。
由于JavaBean是基于JAVA语言的,因此JavaBean不依赖平台,它具有以下特点。
(1)可以实现代码的重用。
(2)易编写,易维护,易使用。
(3)可以再任何安装了Java运行环境的平台上使用,而不需要重新编译。
JSP页面是由普通的HTML标签和Java程序组成的,如果程序片HTML大量的交互在一起,页面就显得混杂,不易维护。
因此,不提倡在JSP页面中嵌入大量的Java程序片来处理数据。
通常提倡在JSP的web应用中集成JavaBean组件,由JavaBean处理业务逻辑,然后在JSP中调用,而JSP页面着重网页界面的设计,以此实现业务逻辑和前台显示的分离。
JSP 页面将数据的处理过程封装到一个或几个beans中,只需要在JSP页面中调用beans即可。
使用JavaBean的好处有:(1)可以是JSP页面变得清晰。
(2)节省软件开发时间(可以直接使用已经测试和可信的已有组件,避免重复开发)。
(3)降低系统维护的难度。
(4)为JSP应用带来了更多的课伸缩性,使系统变得健壮和和灵活。
JavaBean的传统应用是在可视化领域,如Java图形界面中使用的按钮,文本框或列表框等。
自从JSP诞生后,JavaBean在非可视化领域得到了更多的应用,在服务器端的应用的方面变现出越来越强的生命力。
在非可视化的JavaBean是指没有图形界面的JavaBean用于封装业务逻辑。
封装数据,同常与JSP搭配使用,实现业务逻辑与前台程序(JSP页面文件)的分离。
使得系统具有更好的健壮性和灵活性。
通过JavaBean可以很好的实现逻辑的封装,提高程序的可维护性。
例如在web应用中要是实现在购物车中添加一件商品的功能。
在引入JavaBean之前,直接使用脚本片段把这些处理操作写在JSP文件中,但这样的JSP页面可能有成百上千好代码,不便于程序的修改和维护。
掌握JavaBean相关知识后,就可以创建一个实现购物车的JavaBean,建立一个共有的additem()方法,在JSP文件中使用该JavaBean并调用additem()方法,用来实现添加商品的功能。
以后如果需要考虑添加商品时要判断库存是否还有该货物,没有该货物是显示缺货,这时就可以直接修改JavaBean的additem()方法。
加入相关的处理语句,完全不用修改JSP程序。
1.3.3 开发平台:EclipseEclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。
它主要由Eclipse项目、Eclipse工具项目和Eclipse 技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE.JDT 支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。
它提供建造块和构造并运行集成软件开发工具的基础。
Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
1.3.4 数据库:Microsoft SQL Server 2005Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。
Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
SQL Server 2005 Notification Services 是用于开发生成并发送通知的应用程序的平台,也是运行这些应用程序的引擎。
可以使用Notification Services 生成并向大量订阅方及时发送个性化的消息,还可以向各种各样的应用程序和设备传递消息。
使用Notification Services 平台,可以开发功能齐全的通知应用程序。
订阅表达了订阅方在特定信息(称为事件)方面的兴趣,可以根据事件的到达或计划对其进行评估。
事件数据本身可以源自数据库内部、其他数据库或外部源。
通知是事件和订阅匹配的结果,在发送给订阅方之前,可以采用各种格式。
2 系统需求分析2.1功能需求分析21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。
人们不在局限于打电话,接电话,而是发微博,微博就像一个平台一样,不论是熟人还是陌生人,都会相遇在这个平台,只要你愿意,就会交更多的朋友,真正实现“海内存知己,天涯若比邻”。
该系统所实现的功能:(1)游客可以任意的写博文和浏览博文;(2)游客也可以注册一个自己的账号,用来登录;(3)管理员可以修改和删除用户信息(4)管理员可以删除和修改用户的博文;为了达到以上的开发目的,个人博客网站应遵循一定的设计和开发与原则:1).模块接口定义清晰;2).基础类库和接口设计合理,尽量建立叮扩展的接口和抽象类;3).数据库操作使用标准SQL语句,如果一定要使用有差别的SQL语句,则尽量集中在一起,以减少将来维护和移植的难度;4).采用开放的标准和工具等;博客系统通常提供三类服务1).信息服务,它可分为:博文显示,浏览博文2).注册服务:游客注册一个新账号,用来登录3).管理服务:博主可以对自己的博客进行各种管理在此,我参考现有的几大博客网站如QQ空间,新浪博客等,采用Browser/Server结构,将个人博客网站划分为两个子系统:前台,后台。
下面分析各个子系统的功能需求。
2.1.1 前台在前台的功能实现上,可以分为以下几个部分:1).博文主页:游客可以浏览博客的首页,首页包括博文的摘要。
2).博文浏览:游客可以浏览博客中感兴趣的博文。
2.1.2后台通过计算机网络将前台与后台的数据库相连,网站管理员将从前台得到的信息进行处理,实现文章管理,公告管理,投票管理,个人相册管理,朋友圈,用户设置及博主设置等子系统。
1).博主登陆:博客主人用帐号,密码登录到网站。