基于ssh的宠物管理系统的设计与实现本科毕业论文(编辑修改稿)内容摘要:
处理,降低了运行效率。 此外,对数据库的处理往往较复杂,特别是 与数据库的连接浪费了大量的时间。 这使得使用 SSH 这三个开源框架的优点被很好的体现出来了。 开源框架的设计思路是将整个系统的实 现分为三层:表现层、业务逻辑层、持久层。 表现层主要是负责前台的显示,业务逻辑层主要负责处理业务逻辑以及页面的转向,持久层主要负责后台与数据 基于 SSH 的 宠物管理系统设计与实现 4 库的连接以及交换数据。 这样大大增加了系统的扩展性,能够即使的调整系统功能来满足用户的需求;使得结构更加严谨,每层完成指定的任务,减轻显示页面的工作量,增加了它们的执行效率。 此外增加了持久层,也就增加了更多的安全性。 课题研究内容 本系统主要是为 用户提供一个网上交流宠物信息的平台,也为社区宠物的管理员提供一个方便管理,记录宠物信息数据的平台。 用户可以在该平台上浏览查看宠物的信息以及相关资料,还可以在留言板中留下自己的意见及建议。 而管理人员能方便的收集,修改社区宠物的各种数据,听取用户的意见,以达到更好的管理社区内宠物的目的。 本系统使用 SSH 框架进行开发, SSH 对视图层、控制层、业务逻辑层、持久化 层提供了全面的支持 ,已经广泛应用于 各种系统的 开发。 系统的开发环境是MyEclipes ,数据库使用 MySQL Server ,服务器使用 Tomcat。 本文组成结构 本文 摘要简述了本文重点讲述内容。 第一章交代了选择该课题的开发背景,研究现状以及研究内容。 第二章展示了本课题所使用到的关键技术, SSH 框架 (Struts2+ Spring + Hibernate), JSP 技术,以及 MySQL 数据库跟 B/S 结构等。 第三章 对该 系统 做出了 需求分析。 说明了制作该系统的任务概要,使用该系统的用户的用户特点并将系统的功能需求,界面需求,操作需求以及其他需求一一介绍。 第四章对宠物管理系统做出了详细的设计,从功能设计,到数据库设计,然后给出了系统的功能结构图, er 图,以及系统用例图,最后提及了用户输入出错的设计。 第 五 章 详细叙 述了系统的实现,主要开发系统的搭建,举例给出了宠物管理模块的实现过程,给出了其数据库的设计以及其业务控制的主要代 基于 SSH 的 宠物管理系统设计与实现 5 码和其连接其 Struts, Hibernate, Spring 的配置代码 ,并且给出了主要功能实现的截图。 第 六 章浅谈了软件的安装,测试与调试。 第 七 章自我评价,总结了安全性以及有待改进的地方。 其后是参考文献,以及感谢。 2 关键技术介绍 本章全面介绍本系统所用到的关键技术, SSH(Struts+Spring+Hibernate)作为本系统的核心与亮点技术,更是作了详细介绍,要掌握他们的工作原理,主要功能。 然后介绍了本系统使用的页面 Jsp 以及数据库 MySQL 还有 B/S 模式。 只有掌握了这些技术基础,才能使本系统的开发正常进行。 MVC 模式 MVC 是三个单词的缩写,分别为: 模型 (Model),视图 (View) 和控制Controller)。 MVC 模式的目的就是实现 Web 系统的职能分工。 Model 层实现系统中的业务逻辑,通常可以用 JavaBean 或 EJB 来实现。 View 层用于与用户的交互,通常用 JSP 来实现。 Controller 层是 Model与 View 之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映 射为模型层可执行的操,如图 21 所示: 基于 SSH 的 宠物管理系统设计与实现 6 图 21 MVC 模式工作原理图 MVC 是一个设计模式,它强制性的使 应用程序 的输入、处理和输出分开。 使用 MVC 应用程序被分成三个核心部件:模型、视图、控制器。 它们各自处理自己的任务。 分层概念。 视图是用户看到并与之交互的界面。 模型表示企业数据和业务规则。 控制器接受用户的输入并调用模型和视图去完成用户的需求。 SSH 框架 SSH 为 Struts+Spring+Hibernate 的一个集成框架,是目前较流行的一种 Web应用程序开源框架。 集成 SSH 框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的 Web 应用程序。 其中使用 Struts 作为系统的整体基础架构,负责 MVC 的分离,在 Struts框架的模型部分,利用 Hibernate框架对持久层提供支持,业务层用 Spring支持。 具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的 Java 对象,然后编写基本的 DAO 接口,并给出 Hibernate 的 DAO实现,采用 Hibernate 架构实现的 DAO 类来实现 Java 类与数据库之间的转换和访问,最后由 Spring 完成业务逻辑。 系统的基本业务流程是: 在表示层中,首先通过 JSP 页面实现交互界面,负责传送请求 (Request)和接收响应 (Response),然后 Struts 根据配置文件 基于 SSH 的 宠物管理系统设计与实现 7 ()将 ActionServlet 接收到的 Request 委派给相应的 Action 处理。 在业务层中,管理服务组件的 Spring IoC 容器负责向 Action提供业务模型 (Model)组件和该组件的协作对象数据处理 (DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件 以提升系统性能和保证数据的完整性。 而在持久层中,则依赖于 Hibernate 的对象化映射和数据库交互,处理 DAO 组件请求的数据,并返回处理结果。 Struts、 Spring、 Hibernate 的关系如图 22 所示: 图 22 Struts、 Spring、 Hibernate 关系图 Struts2 简介 Struts 2 是 Struts 的下一代产品,是在 struts 和 WebWork 的技术基础上进行了合并的全新的 Struts 2 框架。 Struts 2 以 WebWork 为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与 Servlet API 完全脱离开,所以 Struts 2 可以理解为 WebWork 的更新产品。 Struts 2 框 架 本 身 大 致 可 以 分 为 3 个 部 分 : 核 心 控 制 器StrutsPrepareAndExecuteFilter、业务控制器 Action 和用户实现的企业业务逻辑组件。 其工作原理如图 23 所示。 基于 SSH 的 宠物管理系统设计与实现 8 图 23 Struts2 工作原理图 核心控制器 StrutsPrepareAndExecuteFilter FilterDispatcher 是早期 Struts2 的 过 滤 器 , 后 期 的 都 用StrutsPrepareAndExecuteFilter 了。 StrutsPrepareAndExecuteFilter 名字已经很能说明问题了, prepare 与 execute,前者表示准备,可以说是指 filter 中的 init 方法,即配制的导入;后者表示进行过滤,指 doFilter 方法,即将 request 请求,转发给对应的 Action 去处理。 核心控制器执行读取静态数据信息,决定需要转发或者导航的 Action 配置, 基于 SSH 的 宠物管理系统设计与实现 9 创建 Action 的 Context,创建 Action 代理,内存清理和性能优化等操作。 而 Interceptor 拦截器本身是一个普通的 Java 对象,它能动态拦截 Action 调用,在 Action 执行前后执行拦截器本身提供的各种 各 样的 Web 项目需求,也可以阻止 Action 的执行,同时也可以提取 Action 中可以复用的部分。 主要作用为:在 Action 调用之前提供系统处理流程逻辑控制,和 Action 交互时,提供 Ation执行时的一些初始信息,在 Action 结束后,一些事后的处理流程逻辑,修改 Action中返回的 Result 信息,捕获异常。 如果自己定义过滤器的话 , 是要放在 Strtus2 的过滤器之前的 , 如果放在Struts2 过滤器之后 , 自己的过滤器对 Action 的过滤作用就废了不会有效 , 除非是访问 Jsp/Html。 用 FilterDispatcher 是无法做到 使用 Action 的环境 , 而又在执行 Action 之前拿 filter 做一些事 的 ,而 StrutsPrepareAndExecuteFilter 可以把 他拆分成StrutsPrepareFilter 和 StrutsExecuteFilter, 可以在这两个过滤器之间加上我们自己的过滤器。 业务控制器 Action 业务控制器 Action 是由开发者自己编写实现的, Action 类可以是一个简单的 Java 类,与 Servlet API 完全分离。 Action 一般都有一个 execute()方法,也可以定义其他业务控制方法。 Action 的 execute()返回一个 String 类型值。 Struts 2 提供了一个ActionSupport 工具类,该类实现了 Action 接口和 validate()方法,一般开发者编写 Action 可以直接继承 ActionSupport 类。 编写 Action 类后,开发者还必须在配置文件中配置 Action。 一个 Action 的配置应该包含下面几个元素: 该 Action 的 name,即用户请求所指向的 URL。 Action 所对应的 class 元素,对应 Action 类的位置。 指定 result 逻辑名称和实际资源的定位。 Action 是业务控制器,在编写 Action 的时候,尽量避免将业务逻辑放到其中,尽量减少 Action 与业务逻辑模块或者组件的耦合程度。 业务模型组件 业务模型组件可以是实现业务逻辑的模块,可以是 EJB、 POJO 或者 基于 SSH 的 宠物管理系统设计与实现 10 JavaBean,在实际开发中,对业务模型组件的区分和定义也是比较模 糊的,实际上也超出了 Struts 2 框架的范围。 不同的开发者或者团队,都有自己的方式来实现业务逻辑模块, Struts 2 框架的目的就是使用 Action 来调用业务逻辑模块。 视图组件 Struts 2 可以使用 Jsp 以及其他视图技术,如 FreeMarker、 Velocity 等。 Action 的返回结果只是一个简单的字符串,也就是一个逻辑上的视图名称,要与实际视图资源对应,必须通过配置文件来实现。 在 配置文件中,每一个 Aciton 定义都有 name 和 class 属性,同时还要指定 result 元素。 result 元素指定了逻辑视图名称和实际视图的对应关系。 每个 result 都有一个 type 属性, 中并没有显式指定 type值,即使用了默认的 type 类型,该结果类型支持 Jsp 所谓视图资源。 Struts2 的配置文件类型 Struts2 共有 4 类配置文件。 :定义框架自身的全局变量。 :定义框架自身使用的 Action 映射及 result 定义。 : struts 插件使用的配置文件,比如当使用 Struts 和 Spring结合时就需要在 中引用该配置文件。 :定义应用自身使用的 Action 映射及 result 定义;当然我们一般将应用的各个模块分不到不同的配置文件中。 框架中所使用的组件 ActionServlet 控制器 , ActionClass 包含事务逻辑 , ActionMapping 帮助控制器将请求映射到操作 , ActionForward 用来指示操作转移的对象 ,ActionError 用来存储和回收错误 , Struts 标记库 可以减轻开发显示层次的工作。 Spring 简介 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性由 Rod Johnson 创建的。 框架的主要优势之一就是其分层架构,分层架构允许使用 基于 SSH 的 宠物管理系统设计与实现 11 者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。 Sp。基于ssh的宠物管理系统的设计与实现本科毕业论文(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。