当前位置:首页 > 基于Java EE的个人数字图书馆
信息科学与技术学院学士学位论文
Transaction、Query和Criteria。这6个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。不过需要注意的是Session对象是非线程安全的。同时,Hibernate的Session不同于JSP应用中的HttpSession。此处当使用Session这个术语时,其实就是指Hibernate中的Session,而将HttpSession对象称为用户Session。
SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就足够了,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象[9]。
Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。
2.5 Freemarker简介
简单的说,Freemarker就是一种用Java编写的模版引擎,它的工作原理是:模版+数据 = 输出,它根据模板输出多种规格的文本如:HTML、XML、Java等。Freemarker不是一个Web应用框架,而适合作为Web应用框架,其与容器无关,因为它并不知道HTTP或Servlet。Freemarker同样可以在非Web应用程序环境中使用;不过,FreeMarker更适合作为Model2框架如(Struts 2)的视图组件;同时,你也可以在模板中使用JSP标记库[10]。
7
信息科学与技术学院学士学位论文
FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用Servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序。虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据。
2.6 本章小结
本章主要对系统中使用到的技术作了简单的介绍,首先介绍了UML建模语言中不同图列表示的含义;其次介绍了MVC的三层结构模式;然后对Struts、Hibernate、Freemarker简单的介绍了它们的来源、发展、技术核心和应用。通过本章的阅读,读者对本文中使用到的技术有了基本的了解和认识,对于下午的理解有一定的帮助。
8
信息科学与技术学院学士学位论文
3 平台需求分析
需求分析是收集需求、编写需求文档、审核需求文档、编写需求规格说明的过程,其处于开发周期中的开始阶段。
需求分析的方法有面向对象的分析方法、面向功能的分析方法和面向数据的分析方法。需求分析的成功与否直接决定着项目能否成功的进行下去,因此需求分析在整个项目中起决定性的作用,非常重要。本章将结合本次开发的具体情况,对目标系统的功能性需求、非功能性需求进行分析获取。
3.1 系统总体结构概述
此次开发的主要目标是构建一个属于个人的知识管理工具——个人数字图书馆,此个人数字图书馆的主要功能是在线注册过的用户都能够通过此平台最终达到个人知识的组织和管理并能和该平台上和的其他注册用户交流和共享资料的目的。其系统总体结构框图如图3-1所示。
个人数字图书馆 前台用户 我的资料管理 图书管理 后台管理员 常用功能 收藏管理 备忘录管理 发布日志 搜索资料 用户管理 资料管理 信息管理 图3-1 系统总体结构框图
由图3-1可以看出,系统主要由前台和后台两部分构成,前台主要是提供给系统的注册用户使用。后台主要用于管理员对整个系统的管理,后台管理中,前台系统
9
信息科学与技术学院学士学位论文
的所有用户,和用户的所有资料文件都能在后台完全显示,管理员可以删除用户的每一个文件,也可以删除每一个系统注册用户。
在该系统上每个注册用户可以上传自己认为有价值的资料并可以共享给其他注册用户供其下载使用,如果不想让其他用户看到自己的资料,可以将文件设为私有,也可以在系统上搜索自己想要的资料(搜素范围仅限在本站)。为了加深用户之间的交流,每个注册用户间都可以互相发送信息(结构图上的信息项),互相问候或索要对方的资料。作为个人数字图书馆平台,系统提供了我的收藏功能,用户可以将自己感兴趣的网页文章保存为网摘,同时可以为网摘添加简要描述。作为个人自学自冶的平台,此系统为用户添加了备忘录功能,用户可以将今天没有完成的工作,添加到备忘录项,备忘录按时间顺序排列显示,最早添加的备忘录显示在最前面,这样有利于促使用户查看所有的备忘录。
3.2 系统参与者功能描述
参与者(Actor)是系统外部的一个实体,可以是一个人、各种软件系统或应用,它与某种方式参与用例的执行过程。参与者通过向系统输入或请求向系统输入某些事件来触发系统的执行。参与者由参与用例时所担当的角色来表示,一个参与者可以参与一个或多个用例。参与者有三大类:系统用户、与所建造的系统交互的其他系统和一些可以运行的进程。本文中涉及到的参与者是系统用户,所以,在此只对系统用户的功能进行描述。
从上一节的分析得到了系统结构图,由图3-1可知系统的主要参与者有两种:注册用户和系统管理员。到此,系统的参与者已经很明了。两类参与者的相关人员和在此系统中拥有的功能分别是:注册用户登录个人数字图书馆系统后,可以进行站内的图书搜索,我的图书管理(可见权限的设置、删除、上传等),查看系统的共享图书,收藏和下载自己感兴趣的图书,书写发表日志,与系统中的用户互相发送信息等;管理员登录系统后可以查看系统的所有用户,查看系统的所有图书,删除系统每个注册用户,删除各种图书及其他用户资料等。现在已经明确了系统参与者的具体功能,下面就可以对其功能进行细致的分析和实现。
10
共分享92篇相关文档