1、 I 基于 Struts+Hibernate 框架的在线答疑系统 基于 Struts+Hibernate 框架的在线答疑系统 II 摘 要 在线答疑系统是大学教学与科研辅助系统的一个子系统。它是一个面向广大大学教师和学生的开放型教学与科研辅助系统,构建基于 Web 技术的教学与科研资源共享平台,便于大学教师的教学科研管理以及师生间资源共享。本系统从大学教师的日常业务出发,充分提高教育与科研的网络化、电子化水平,从而能够大大提高教育与科研的效率。 Struts 框架是一种在 JSP Model2 的基础上 MVC 设计模式的实现,经过数年发展已经有了成熟而广泛的 应用。 Struts 框架实现了
2、业务层、视图层和控制器层的分离,从而达到提高开发效率,便利后期维护的目的。因此,在本系统的设计和实现中应用 Struts 框架是一个有益的尝试。本文的主要工作有: 1. 简要介绍了 MVC 设计模式的概念和优势,以及常见的几种实现 MVC 设计模式的框架,如 Struts、 Spring、 webwork 等。 2. 通过对目前大学教学和科研工作业务流程的深入调查研究,分析本系统的需求。本文通过在线答疑的各个过程抽象建模,明晰各模块的功能,同时也对系统的一些非功能性需求做出了说明。 3. 在需求分析 的基础上,设计和实现系统。本文设计了系统的数据模型并完成数据库实现,并在 各 模块的设计与实现
3、过程中,详细介绍了如何利用 Struts框架实现 MVC 设计模式。本文还对系统实现成果做了展示。 4. 详细阐述了 本系统中 Struts 框架的 应用过程 和 该框架 最新的发展动态。Struts 框架的构建和配置在应用中占有十分关键的地位。经过数年发展, Struts框架吸收了 webwork 等流行 MVC 框架的优点,发展到了一个新的阶段。本文也对系统中另一项关键技术 Hibernate 组件的应用作了介绍。 5. 对本系统开发 成果和 不足做了总 结,同时对下一步工作做出了规划。 关键词 :在线答疑系统; MVC 设计模式; Struts 框架 ; Hibernate 组件 Abs
4、tract III Abstract The “BBS for Q/A” is a subsystem of University teaching and research support system. It is a open support system which mainly face the numerous teachers and students, constructing a teaching and research resource sharing platform based on the Web technology. It is convenient for r
5、esource sharing between teachers and students. This system begins with teachers of universitys routine parochial affairs, sufficiently improve the networking and electronic-level of education and research, in order to step up efficiency greatly. Struts framework is a kind of implementation of MVC de
6、sign pattern based on JSP Model2.After several years development, it has gotten mature and widely application. Struts framework implements the separation of Model-View-Controller, and then reaches the goal of increasing development efficiency and commodious upper system maintenance. Therefore, using
7、 Struts framework is a advantageous attempt in the device and implementation of system. The capital works in my article as follows: 1. Give a summary about the concept and advantages of MVC design pattern. In addition, show some familiar framework for implementing MVC design pattern, such as Struts,
8、 Spring, webwork, etc. 2. Through searching into current affair processes of university teaching and research deeply, to analyze the demand of system. Via-abstractly modeling the various online Q/A process, and then clarifying the functions of each module, as well as some explanation for non-functio
9、nal needs of system. 3. Design and implement the system based on the requirements analysis. This part designed the system data model and completed the implementation of database, then described in detail how to use the Struts framework to achieve MVC design pattern, and furthermore, displayed the ac
10、hievement of my system. 4. Made a thorough expatiation on the operating principle, operating principle and the latest developments of Struts framework whose construction and deployment 基于 Struts+Hibernate 框架的在线答疑系统 IV play an important role in the practical applications. After several years developm
11、ent, Struts framework has absorbed the advantages of webwork and other popular MVC framework, up to a new stage. This article also has a introduction of another key technology -Hibernate component-application. 5. Sum up the result of system development and disadvantages; subsequently the next step o
12、f work is planned. Key words: BBS for Q/A; MVC design pattern; Struts framework; Hibernate component. 目录 V 目 录 第一章 绪论 . 1 1.1 MVC 设计模式的概念 . 1 1.2 MVC 设计模式的优越性 . 2 1.3 常见 MVC 框架介绍 . 3 1.3.1 Struts 框架 . 3 1.3.2 Spring 框架 . 4 1.3.3 JSF 框架 . 4 1.4 本文主要内容及结构 . 5 第二章 项目需求分析 . 6 2.1 项目背景 . 6 2.2 术语解释 . 7 2
13、.3 前台系统功能需求说明 . 7 2.3.1 需求用例说明 . 7 2.3.2 需求流程说明 . 9 2.4 后台系统功能需求说明 . 10 2.4.1 需求用例说明 . 10 2.4.2 需求流程说明 . 11 2.6 非功能性需求 . 11 2.6.1 安全性 . 11 2.6.2 可用 性 . 12 2.6.3 可扩展性 . 12 基于 Struts+Hibernate 框架的在线答疑系统 VI 2.7 本章小结 . 12 第三章 项目设计与实现 . 13 3.1 项目开发平台 . 13 3.2 数据模型与数据库设计 . 14 3.2.1 数据模型 . 14 3.2.2 数据库实现 .
14、 15 3.3 概要设计 . 16 3.3.1 前台若干功能模块 . 16 3.3.2 后台若干功能模块 . 17 3.4 注册模块的设计与实现 . 17 3.4.1 模块流程 . 17 3.4.2 MVC 设计模式 . 18 3.4.3 视图层组件 . 19 3.4.4 业务层组件 . 20 3.4.5 控制器层组件 . 20 3.4.6 实现 . 20 3.5 登录模块的设计与实现 . 20 3.5.1 模块流程 . 20 3.5.2 MVC 设计模式 . 22 3.5.3 视图层组件 . 22 3.5.4 业务层组件 . 22 3.5.5 控制器层组件 . 23 3.5.6 实现 . 2
15、3 3.6 系统其余各功能模块的实现 . 23 3.7 本章小结 . 26 目录 VII 第四章 STRUTS+HIBERNATE 框架应用 . 27 4.1 Struts 框架工作原理 . 27 4.1.1 Struts 框架结构 . 27 4.1.2 ActionForm Bean. 27 4.1.3 Struts 框架的初始化 . 28 4.1.4 Struts 框架响应客户请求 . 28 4.2 Struts 框架应用 . 30 4.2.1 Struts 压缩包内容 . 30 4.2.2 Struts 框架的构建 . 31 4.2.2 Struts 配置文件 web.xml. 31 4
16、.2.3 Struts 配置文件 Struts-config.xml . 34 4.2.4 Struts 框架的国际化支持 . 38 4.3 Hibernate 组件原理及应用 . 38 4.4 Struts 的最新发展: Struts 2.0 . 40 4.4.1 Struts 1.X 的优势与不足 . 41 4.4.2 Struts2.0 简介 . 42 4.5 本章小结 . 43 第五章 总结与展望 . 44 5.1 总结 . 44 5.2 展望 . 44 致 谢 . 46 参考文献 . 47 附录 STRUTS-CONFIG.XML 文件代码 . 49 基于 Struts+Hibern
17、ate 框架的在线答疑系统 VIII Contents IX Contents CHAPTER 1 INTRODUCTION . 1 1.1 Concept of MVC Design Pattern. 1 1.2 Excellence of MVC Design Pattern. 2 1.3 MVC Framework. 3 1.3.1 Struts . 3 1.3.2 Spring . 4 1.3.3 JSF . 4 1.4 Content and Structure of Thesis. 5 CHAPTER 2 REQUIREMENTS ANALYSIS . 6 2.1 Backgrou
18、nd of the System. 6 2.2 Explaination of Key Words. 7 2.3 Registered Users Module. 7 2.3.1 Use Case Diagram . 7 2.3.2 Flow Diagram . 9 2.4 Adminstration Module. 10 2.4.1 Use Case Diagram . 10 2.4.2 Flow Diagram . 11 2.6 Non-Functinal Requirement. 11 2.6.1 Security. 11 2.6.2 Usableness . 12 2.6.3 Expa
19、ndability . 12 基于 Struts+Hibernate 框架的在线答疑系统 X 2.7 Summary. 12 CHAPTER 3 DESIGN AND IMPLEMENT . 13 3.1 Terrace of Developing. 13 3.2 Design of Data-Model and DataBase. 14 3.2.1 Data-Model . 14 3.2.2 Implement of DataBase . 15 3.3 General Design. 16 3.3.1 Registered Users Module . 16 3.3.2 Adminstrat
20、ion Module . 17 3.4 Registration Module. 17 3.4.1 Flow . 17 3.4.2 MVC Design Pattern . 18 3.4.3 View . 19 3.4.4 Model . 20 3.4.5 Controller . 20 3.4.6 Implements . 20 3.5 Login Module. 20 3.5.1 Flow . 20 3.5.2 MVC Design Pattern . 22 3.5.3 View . 22 3.5.4 Model . 22 3.5.5 Controller . 23 3.5.6 Implements . 23 3.6 Implements of Other Module. 23 3.7 Summary. 26