毕业论文??博客网站的设计与实现??江旭
1.5.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.5.2 JavaBean原理和机制
JSP的一大特点就是与JavaBeans的结合,而JSP与JavaBeans结合的一个突出的优点是页面显示和业务逻辑的分离。这可以使团队协作的更好,开发出更高质量的站点。
JavaBean是一种可以重用的Java组件,它类似于COM,在JSP程序中常用来封装事物逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。
事件处理是JavaBeans体系结构的核心之一。通过事件处理机智,可以让一些组件作为事件源,发出可被描述环境或其他组件接受的事件。这样,不同的组件就可在构造工具内组合在一起,组件之间通过事件的传递进行通信,构成一个应用。从概念上讲,事件是一种在“源对象”和“监听对象”之间、某种状态发生变化的传递机智。事件有许多不同的用途,如:鼠标事件、窗口边界改变事件、键盘事件等。在Java和JavaBeans中则是定义了一个一般的、可扩充的事件机制,它能够:
1).对事件类型和传递模型的定义和扩充提供一个公共框架,并适合于广泛的应用。 2).与Java语言和环境有较高的集成度。
事件能描述环境捕获和被激发。能使其他构造工具采取某种技术在设计时直接控制事件,遗迹控制事件源和事件监听者之间的联系。事件本身不依赖于复杂的开发工具。
特别的,事件机制还应当:
1).能够发现制定的对象类可以生成的事件。 2).能够发现制定的对象类可以观察监听到的事件。
3).提供一个常规的注册机制,允许动态操纵事件源与事件监听者之间的关系。 4).不需要其他的虚拟机和语言即可实现。 5).事件源与监听者之间可进行高效的事件传递。
第4页
毕业论文??博客网站的设计与实现??江旭
6).能完成JavaBean事件模型与相关的其他组件体系结构事件模型的中立映射。
JSP和ASP.NET同样是网站开发中常用的开发工具。但是,ASP是微软的产品,其应用只能是在Windows平台上,移植性差,而且以源代码的形式存放在服务器端,安全性差。每次由服务器解释运行,运行效率不高。Jsp页面文件执行时被编译成字节代码,由客户端流览的Java虚拟机解释执行,不再是源代码,因此执行效率和安全性高。将数据库连接的重要信息存放在JavaBean文件后,可以编译成虚拟机才能解释的字节代码,确保了数据库的安全。
在ASP技术里,通过Web页面要实现一些特定的功能比较困难,比如基于网页的报表,打印实现起来就比较麻烦。ASP提供的解决方案是自己开发组件,通过在服务器端注册组件,成为独立的可以重复利用的模块供读者调用。因此要求读者需要掌握比较复杂的变成语言的开发技术。在JSP开发技术里,可以通过开发JavaBean文件实现同样的功能,JavaBean不需要注册,只要放置在相应的目录下就可以运行。可以实现ASP的COM组件同样的功能。此外JSP推出主要就是考虑到平台的无关性。JSP代码可以在APACHE、IIS等服务器上执行,支持大部分操作系统。JSP继承JAVA技术的优点:一次运行,处处运行。
鉴于此,本系统决定使用JSP做为开发工具。下面简单介绍一下相关的其他工具: 1.5.3 开发平台:Eclipse+dreamweaver
Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
Dreamweaver MX 是一款专业的 HTML 编辑器,用于对 Web 站点、Web 页和 Web 应用程序进行设计、编码和开发。无论您喜欢直接编写 HTML 代码的驾驭感还是偏爱在可视化编辑环境中工作,Dreamweaver 都会为您提供帮助良多的工具,丰富您的 Web 创作体验。
利用 Dreamweaver 中的可视化编辑功能,您可以快速地创建页面而无需编写任何代码。不过,如果您更喜欢用手工直接编码,Dreamweaver 还包括许多与编码相关的工具和功能。并且,借助 Dreamweaver,您还可以使用服务器语言(例如 ASP、ASP.NET、ColdFusion 标记语言 (CFML)、JSP 和 PHP)生成支持动态数据库的 Web 应用程序。 1.5.4 数据库:SQL SERVER 2000
SQL Server 2000作为Microsoft家庭的重要成员,是基于客户机/服务器的大型关系数据库系统。SQL Server 2000这种关系型数据库系统能够满足各种类型的企业客户和独立软件供应商构建商业应用程序的需求,根据客户的反映和需求,是大规模联机事务处理(OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。SQL Server 2000 具有以下特点:
1).强大可伸缩性;
2).支持大型Web站点或企业信息处理系统;
第5页
毕业论文??博客网站的设计与实现??江旭
3).客户机/服务器体系结构;
而数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。各部件之间的关系如图2-1所示:
数据源名(DSN) 应用程序 应用层 ODBC管理器 ODBC API sql 驱动程序管理器 ODBC驱动程序 ODBC层 数据源 图2-1 数据关系图
第6页
数据层
毕业论文??博客网站的设计与实现??江旭
第二章 需求分析
2.1系统目标
博客网站系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的个人博客网站,为网络用户提供进行在线交流的网络平台。
通过个人博客网站可以结交更多的朋友,表达更多的想法,它随时可以发布文章。 具体的要求如下:
1).博主可以简单的添加和删除文章;
2).独立于具体的数据库平台。对于与数据库交互的部分充分考虑兼容性; 3).容易在原先基础上进行二次开发;
4).中间基础平台的无型性。尽量采用开放的标准技术,达到跨平台运行的效果;
为了达到以上的开发目的,个人博客网站应遵循一定的设计和开发与原则: 1).模块接口定义清晰;
2).基础类库和接口设计合理,尽量建立叮扩展的接口和抽象类;
3).数据库操作使用标准SQL语句,如果一定要使用有差别的SQL语句,则尽量集中在一起,以减少将来维护和移植的难度; 4).采用开放的标准和工具等;
2.2系统的功能要求
博客系统通常提供三类服务:
1).信息服务,它可分为:文章显示,热点文章推荐,博主风采
2).查询服务:可以根据文章内容,文章标题,留言内容,留言标题等进行模糊查询 3).留言服务:游客可以对系统进行留言或发表看法意见
在此,我参考现有的几大博客网站如QQ空间,新浪博客等,采用Browser/Server结构,将个人博客网站划分为两个子系统:前台,后台。
下面分析各个子系统的功能需求。 2.2.1 前台
在前台的功能实现上,可以分为以下几个部分: 1).用户登录:
第7页
毕业论文??博客网站的设计与实现??江旭
网站用户用个人注册的帐号,密码登录到网站。网站检测用户的帐号,密码并给予其相应的权限对网站进行操作。
2).用户注册:
游客将个人的信息存储到博客网站的数据库中,以成为本博客的正式用户。 3).用户修改个人信息:
把已存储的用户信息用一个网页显示出来,方便用户对个人信息进行更新。 4).文章查询和留言:
用户可以检索或浏览博客中的文章同时给感兴趣的文章。 5).公告信息查询:
用户可以浏览网站中发布的公告信息,了解博客的一些情况。 6).相片查询:
用户可以对博客中的相片,图片等进行查询,浏览。 2.2.2后台
通过计算机网络将前台与后台的数据库相连,网站管理员将从前台得到的信息进行处理,实现文章管理,公告管理,投票管理,个人相册管理,朋友圈,用户设置及博主设置等子系统。
1).文章管理:
管理员对网站中已有的文章进行删除,更新等操作。 2).公告管理:
发布,删除,更改公告。 3).投票管理:
发起投票,统计投票等。 4).个人相册管理:
对博客相册中的图片进行删除,更新等操作。 5).用户设置:
更新普通用户对博客的操作的权限。 6).博主设置:
对博主的信息等进行操作。
2.3系统的性能需求
博客网站的特性要求博客网站系统需要具备以下几个主要特性:
1).多样性: 博客网站在设计时必须遵循的一个重要原则,就是以用户为系统设计的中心。网络的发展大大降低了信息咨询的成本,用户面临更多的选择,所以,博客网站除了降低成本以外,还必须在皮肤,功能的多样性上下工夫,才能够得到用户的认可。具体来说,应用系统应能实现用户特定的需求,操作界面友好、方便,功能设置符合用户的习惯和要求。
第8页