DateBase 图 2.1 Servlet 工作流程图 d)服务器将响应信息返回至客户端2.1.3 JavaBean 概述 JavaBean是Sun公司为了进入因特网、企业网以及万维网上进行分布式计算的组件结构入口。
按照Sun公司的定义,JavaBean是一个可重复使用的软件部件。
JavaBean体系结构是第一个全面地基于组件的标准模型之一,该组件是Java类,这些类遵循一个接口格式,以便于使方法命名、底层行为以及继承或实现的行为能够把类看做标准的JavaBean组件的方式进行构造7。
在 Java 模型中,通过 JavaBean 可以无限扩充 Java 程序的功能,通过 JavaBean 的组合可以快速生成新的应用程序。
JavaBean 具有以下特点: a)可以实现代码的重复利用。
b)易维护性、易使用性、易编写性。
c)可以在 Java 的任何平台上工作,不需要重新编译。
d)可以在内部网或者网络之间进行传输。
e)可以以其它部件的模式进行工作。
JavaBean 在 JSP 程序中常用来封装事务逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。
2.2 基于 B/S 的 WEB 应用体系结构2.2.1 传统的两层体系结构 在 Web 发展的初期,Web 应用主要是通过静态页面在 Internet上发布信息。
用户通过浏览器向服务器发送请求,服务器接收用户端的请求,向客户端浏览器发送所请求的页面。
在这种结构下,网站上的页面是静态的,无法根据用户的实际使用情况做动态的变化。
网站的信息提供者通过更新服务器上的网页来向用户提供最新的信息。
用户和浏览器之间只有有限的交互,而网站和用户之间几乎没有交互。
2.2.2 三层体系结构 三层体系结构图如图 2.2 所示。
CGI,ASP,
PHP 等技术的出现,使得开发动态交互式的 Web 应用得以实现。
用户通过浏览器向服务器发送请求,Web 服务器接收客户端发送来的请求,对请 图 2.2 三层体系结构图求进行分析,如果请求是静态页面,那么就将所请求的页面发送到客户端;如果请求的是动态页面,那么就执行此动态页面,并将执行结果发送给客户端。
动态页面中的脚本程序可以和数据库服务器进行交互。
Web 服务器可以根据用户的请求动态更新页面上的信息,Web 信息提供者可以通过改变数据库中的数据向用户提供最新信息,而不需要逐个更改页面。
用户可以通过这些动态页面向数据库中输入信息,从而增强了用户和服务器之间的交互性。
2.2.3 JSP 网站开发模式 目前,JSP 技术已经成为一种受大多数大型企业或中小型企业喜爱的动态网页开发技术。
越来越多的技术人员也逐步成为 JSP 技术的推崇者。
JSP 技术正是利用了 Java 的“一次开发,处处使用”的性能,成为了网站开发技术人员的首选技术。
当然,JSP 技术的最大优势在于能够将页面的表现形式和页面的商业逻辑分开。
JSP 网 站 开 发 技 术 标 准 提 供 了 两 种 开 发 模 式 : 一 种 是JSPJavaBean开发模式;一种是JSPServletJavaBean开发模式89。
JSPJavaBean 模型图如图 2.3 所示。
图 2.3 JSPJavaBean 模型图 JS 在这种模型中, P 页面独自响应请求并将处理结果返回给客户,所有的数据通过 JavaBean 来处理,JSP 实现页面的显示。
此模型常常会导致页面被嵌入大量的脚本语言或者 Java 代码段,当处理大型业务时,页面程序将变得异常复杂给开发和维护带来困难。
JSPServletJavaBean 模型图如图 2.4 所示。
图 2.4 JSPServletJavaBean 模型图 Servlet 技术是一种采用 Java 技术来实现 CGI 功能的一种技术。
Servlet 是运行在 Web 服务器上,用来生成 Web 页面。
Servlet 技术非常适于服务器端的处理和编程。
在此种开发模式中,JSP 技术用来显示页面,该页面中没有任何的商业处理逻辑,通过 Servlet 技术来完成大量的事物处理工作。
Servlet 用来处理事务的请求,充当着一个控制者的角色,并负责向客户发送请求,创建 JSP 需要的 Bean 和对象,根据用户的请求行为,决定将哪个 JSP 页面发送给用户。
从上面两种开发模式来说:第二种模式要好些,更适合于团队开发,速度相对较慢,但是可维护性高6。
2.3 Eclipse 简介 Eclipse 最初由 OTI 和 IBM 两家公司的 IDE 产品开发组创建,起始于 1999 年 4 月。
IBM 提供了最初的 Eclipse 代码基础,包括Platform、JDT 和 PDE。
Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。
由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成10。
2.4 Tomcat 简介 如今,基于 Web 的应用越来越多,传统的 Html 已经满足不了如今的需求。
因此需要一个交互式的 Web,于是便诞生了各种 Web 语言。
如 Asp,Jsp,
Php 等。
当然,这些语言与传统的语言有着密切的联系,如
Php 基于 C 和 C语言,Jsp 基于 Java 语言。
Tomcat 即是一个 Jsp和 Servlet 的运行平台。
Tomcat是一个免费的开 源的Serlvet容器,是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成11。
2.5 SQL Server 简介 Microsoft SQL Server 2000 是微软所推出的一套在Windows平台上执行的功能强大的关系型数据库管理系统,用以作为应用程序的数据来源,存放各种数据,并可以让用户很容易地达成所要进行的数据存取操作。
同时,也提供了一些可视化的管理工具,协助数据库系统管理者更方便快速地管理及设计数据库的内容,以及对数据库进行维护。
SQL Server 2000 不仅可以实现个人数据库的管理,更适合企业级数据库的应用1213。
2.6 MVC 设计模式 MVC 模式的基本形式图如图 2.5 所示。
输入 控制器 用户 模型 显示 视图 图 2.5 MVC 模式的基本形式图 MVCModel-View-Controller模式并不是 J2EE 行业人士标新立异的。
MVC 的核心就是要做到三级甚至多级的松散耦合,MVC 模式将系统分为三个部分,分别是数据模型、视图和控制器,并定义了这三个部分之间实现通信的一种模式,使每个部分不必卷入到其他部分的状态表示和方法实现的细节中去。
每个部分有自己的数据管理规则,各个对象之间的通信只能使用自己定义的一个受限连接集合进行。
保持这种分离性通常是面向对象编程和设计要追求的目标,让各个对象只需专注于自己的事务。
模型部分代表了商业数据的访问及修改数据的操作。
当数据发生改变时,要负责通知视图部分,并且提供视图查询状态的能力。
另外,还向控制部分提供应用功能。
视图部分以自己的方式显示模型的内容。
访问模型的数据,并且当模型的数据发生变化时更新模型的显示。
视图还把从用户那里得到的信息传给控制部分。
控制部分定义了应用的行为。
分发用户请求和选择表现视图,还负责解释用户输入,进而调用模型的功能。
在Web应用中,用户输入包括对Web级资源的HTTP、GET和POST请求。
控制部分根据用户交互和模型的状态选择要显示的视图。
一个应用程序一般为相关的功能选择一个控制部分1415。
3 系统分析与总体设计 博客信息系统包括:前台信息显示系统、后台信息管理系统。
前者是面向公众的一个窗口,通过前台信息显示系统方便访问者浏览日志、评论和留言;发表评论和留言。
后者是后台信息管理系统,方便博客管理员发表日志;回复评论和留言;管理日志、评论、留言及个人信息 12。
3.1 系统需求分析3.1.1 用户需求分析 用例图用来描述系统与参与者之间的相互作用,与用例图相关的几个概念: a)角色:代表了某一事件发生的参与者,用一个小人表示。
b)用例:代表系统可以实现的功能,通常一个用例代表一组功 能,实质上规定了系统实现功能的范围。
c)用例图:当角色和用例发生某种关系时,就可以用一个图将 它们关联起来,这就是用例图。
博客信息管理系统允许用户有三种身份:博客访问者、博客管理员及系统管理员。
博客系统参与者中每种身份操作起来都很方便、快捷。
博客访问者无需登陆就可以浏览信息、发表评论或留言;博客管理员注册后再登陆,就可以发布日志、管理个人主页;而博客管理员的基本信息都由系统管理员对其统一管理。
博客信息管理系统用例图如图 3.1 所示。
用户登录 修改账号信息 管理博客账号 用户 删除博客内容 管理博客内容 系统管理员 浏览博客内容 博客管理员 发表留言 发表评论 图 3.1 博客信息管理系统用例图3.2 数据分析 系统的用户主要是博客访问者和博客管理员,下面以博客前台展示系统中的用户查询日志为例进行说明。
该过程的数据流程图如图3.2 所示。
图 3.2 用户查询日志的数据流程图 用户查询日志的数据流程:首先,用户输入需查找的关键字,然后提交表单数据,服务器接收到关键字后,根据关键字对日志标题进行模糊查询,处理后将结果以日志标题链接的形式显示给该用户,用户点击相应的链接就可以浏览日志内容。
3.3 系统流程 根据博客信息管理系统的特点,将其分为两大模块:前台用户浏览模块和后台用户管理模块。
前台用户浏览模块主要用于用户浏览日志信息;后台用户管理模块主要用于博客管理员对个人博客网站的管理,如日志管理、留言管理及评论管理等。
博客系统平台的前台用户浏览模块流程图如图 3.3 所示。
前台用户浏览模块主要用于用户浏览日志信息,用户浏览日志有三种浏览方式可以选择:一是直接点击日志标题链接进入日志显示页面浏览日志;二是点击博客主题链接进入该个人博客的首页,然后在该首页中选择所需的日志标题链接进入日志显示页面浏览日志;三是通过首页提供的搜索功能,搜索所需要的日志,然后在结果列表中选择所需的日志标题链接进入日志显示页面浏览日志。
浏览日志的同时用户可以查看别人对该日志的评论,然后用户也可以对该日志发表自已的评论。
用户进入后台管理平台,首先必需进行权限验证,防止未授权的用户非法登录。
若未通过验证,则显示出错提示,并跳转到登录界面。
若通过验证,则进入个人博客后台管理平台。
用户可以浏览已发表的日志,并对其进行相应的操作如修改日志和删除日志;可以查看日志的评论信息并对其进行回复或者删除操作;可以发表新的日志;可以新建日志分类;可以浏览个人博客的留言信息并对其进行相应的操作如回复留言 图 3.3 前台用户浏览模块流程图 图 3.4 后台用户管理模块流程图和删除留言;还可以对个人信息进行修改。
博客系统平台的后台用户管理模块流程图如图 3.4 所示。
3.4 功能模块划分前台模块功能结构如图 3.5 所示。
博客信息管理系统前台 博客展示 日志展示 评论展示 留言展示 用户管理 查询管理 最 热 博 最 精 日 最 发 最 发 用 用 日 博 新 点 客 新 华 志 新 表 新 表 户 户 志 客 博 博 列 日 日 列 评 评 留 留 登 注 查 查 客 客 表 志 志 表 论 论 言 言 陆 册 询 询 图 3.5 博客信息系统前台功能结构图.