图2.1 Struts 原理图
6. Hibernate框架技术。在本系统的开发中对数据库的操作并不是使用原始的JDBC,而是使用了Hibernate框架,数据库中每个表都有对应的Java类文件和一个DAO类文件,使操作起来更方便。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思文来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate的核心接口一共有5个,分别为:Session、SessionFactroy、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。
•Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。
•SessionFactroy接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactroy并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactroy就够,当需要操作多个数据库时,可以为每个数据库指定一个Session Factory。
•Configuration接口:Configuration接口负责配置并启动Hibernate,创建Session Factory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建Session Factory对象。
•Transaction接口:Transaction接口负责事务相关的操作。它是可选的,可发人员也可以设计编写自己的底层事务处理代码。
•Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。
3.系统设计
3.1 系统需求分析
本系统在主页面需进行登录, 以确认身份, 主要是为了区分学生、教师和管理员而设置的, 不同身份的网络用户具有不同权限操作权。学生只能登录学生工作区, 教师只能登录教师工作区。学生在登录学生工作区后, 具有查看和修改个人信息、提交作业、上传资料、下载资料等权限。教师在登录教师工作区后, 具有查看和修改个人信息、发布作业、批改作业、查看作业、上传资料和下载资料等权限。而管理员在登陆工作区之后,具有一些对本系统管理的权限和功能,比如对公告的管理,删除和添加新的公告等。然后还可以对学生信息进行管理,比如删除学生信息。还可以对老师的信息进行管理,如删除老师的个人信息。还可以对文献资料进行管理,比如删除过期的资料等。
作业提交系统的用户是全校的学生和老师, 客户端设计应尽量简单, 这样不会增加额外的文护工作, 因此整个系统采用B/S模式来开发。B/S模式实际上采用的是三层的客户/服务器体系结构, 客户端(前端)为IE或Navigator等浏览器, 可通过HTTP请求与中间层的WEB服务器相连, 访问数据库中数据时, 服务器再通过JSP连接到后端的数据库服务器。我们按照B/S模式设计出的作业提交系统总体功能模块如图3.1所示。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>