基于文本的WEB组件,在HTML代码中嵌入JAVA代码来实现动态内容的输出的一项技术。
1)利于将创建内容和表示内容的代码分离开来;
2)标签技术更容易使人理解和使用,组件重用;
3)动态内容与静态内容的分离;
4)本质上还是servlet,在服务器端被转换成servlet;
5)适合多层WEB应用开发体系结构 。
2.4 Struts框架Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架[4]。
Struts有如下的主要功能:包含一个controller servlet,能将用户的请求发送到相应的Action对象[5]。JSP tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息[6]。
Struts优点:
1)集中式的、基于XML的配置方式,避免了Java硬编码;
2)提供了Form bean的方式封装用户请求的参数,使其在请求阶段方便使用;
3)自定义了很多有用的标签,如Bean tags可以方便操作Bean中的内容;HTML tags 可以让你轻松初始化表单域等内容;
4)增加了表单验证功能。
3 系统设计 3.1需求分析本系统的用户可分为管理员,注册用户和普通用户(即未注册用户)三类。考虑到系统的安全性,本系统共分成两个界面:一个界面用于注册登录,主要进行基本资料的修改、日志分类和日志内容的管理以及查询等,进入方式为主页默认显示;另外一个界面用于后台管理员登录,主要负责审核用户权限、系统新闻维护、公告维护等。
从总体上看,系统主要需要实现了下列功能:
对管理员来说,包括用户管理、新闻维护、公告维护。
l 用户管理:管理员可以通过进入用户管理模块对用户进行相关的操作。首先从查询页面输入查询条件,结果在查询模块下方分页显示,管理员可以在查询结果中对用户进行相关操作。主要包括用户信息的浏览,注册用户的权限的审批和停用,用户的删除。
l 新闻维护:管理员可以对前台首页的本站新闻进行维护,包括新闻的添加,修改和删除。
l 公告维护:管理员对首页公告进行更新。
对用户来说,包括用户注册、用户登陆、浏览新闻和共享文章,以及登陆后日志分类维护,日志内容维护等。
l 用户注册:非注册用户要取得系统的使用权必须先进行用户注册。用户通过进入注册对自己的基本信息进行填写,提交后经过管理员审核完成,正式获得系统的使用权。
l 用户登陆:注册完成并且经过审核的用户须登陆后才能进入日志维护页面。该模块实现了用户的登陆和错误验证。
l 浏览新闻和共享文章:普通用户(包括注册和非注册用户)进入首页都能对新闻和注册用户发布的公开权限的文章进行浏览,通过点击标题能够查看详细内容。
l 日志分类维护:此模块主要对日志分类进行维护。如果是第一次进入系统,写日志之前必须先添加日志分类。本模块主要实现了分类的即时添加和删除。
l 日志内容维护:注册用户登陆后在日志维护主页面点击分类,页面显示出此分类下的所有日志,在日志标题右边能对发布日志进行删除和修改,点击日志标题能浏览日志全文,在日志显示模块上方点击发布日志,进入日志发布页面。
需求分析用例图如图 3-1。
图3-1 需求分析用例图
3.2 功能划分 3.2.1 前台功能模块划分
3.2.2 后台功能模块划分
3.3 数据库设计 3.3.1 数据库需求分析
根据系统的需求,主要数据项和数据结构如下。
l 管理员信息,包括的数据项有:用户名、口令等。
l 用户信息,包括的数据项有:用户名、密码、真实姓名、性别、联系方式、E-mail地址、电话、用户简介等。
l 日志信息,包括的数据项有:日志编号、标题、内容、发布时间、更新时间、发布人、所属分类等。
l 日志类别信息,包括的数据项有:类别编号、类别名、创建用户名。
l 新闻信息,包括的数据项有:新闻编号、标题、内容、更新时间、转载地址等。
l 公告信息,包括的数据项有:公告编号、标题、内容、更新时间等。
为了从多方面来保障用户个人信息和日志信息的安全性、可信性,本系统还应该建立一套机制,这套机制至少应该包括用户和后台管理的账号的安全机制、后台数据库的安全机制、用户使用过程的控制和验证机制。
3.3.2 数据库物理设计本系统数据库主要使用POWERDESIGNER进行逻辑设计和物理设计。该软件能很直观将实体之间的关系清晰的表述出来。数据库的物理设计如图 3-4。
图3-4 数据库的物理设计
3.3.3 数据库逻辑设计由于本系统是为网上日志备忘系统而设计的,因此数据库名称定为diary。根据需求分析设计了如下图所示的数据库结构图3-5。具体的用户数据表详细信息见附录一。
图3-5 数据库结构
3.4 系统结构因为本系统的实现主要是基于Java的MVC设