基于ssh的图书点评网站的设计与实_现毕业论文(编辑修改稿)内容摘要:
分析一定要对系统所需要解决的问题进行详细的分析,弄清楚问题的要求。 建立一个新的系统之前要明确新系统的目的、范围、定义和功能所要做的所有工作,在整个需求分析的阶段它需要系统分析员确定用户的需要,明确系统的功能,把问题实例进行抽象化处理和分析。 综合需求分析的方式和方法,新开发出的网站系统具有友好界面,用 户操作起来方便简单、能够很容易的找到用户需求的功能。 图书点评网站的实现功能应具有以上特点,它自身有海量的图书信息提供给读者阅读,是用户再闲暇时能够有所阅读,若是用户对图书兴趣很浓则可以通过点评的方式来发表自己的意见或者与其他本书的读者进行点评式的交流 [3]。 对于那些对写作有很大的兴趣的用户来讲,本系统还应该为用户提供发表文章的平台,用户可以通过发表博文的方式来展现自己的文学水平,这样的方式也能提高用户的写作水平,也可以说是一个学习的平台。 当然用户之间也是需要交流的,这样才能体现文化的多样性,为满足广大用户 的需求本系统也提供了通过好友留言沟通的方式来实现用户之间的沟通。 本系统还设有超级管理员的功能,能够及时对图书模块信息的更新和修改,在维护系统中起到了一定的作用。 在上述用户的需求的环境下,提出了图书点评网站系统的需求。 图书点评网站的设计与实现 6 可行性分析 可行性分析是针对本项目的主要内容和配套条件,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的经济效益和社会影响进行预测,从而提出该项目是否值得开发和如何建设的咨询意见,为项目决策提供一种综合性的系统分析方法。 图书点评系统能够为用户提供快捷地查询图 书和博文的内容,方便用户进行图书资料的阅读和学习,并且能够及时的进行用户之间的交流。 这就摆脱了浪费时间去图书馆和书店所带来的诸多麻烦。 对于图书点评系统的可行性分析将从以下三个方面进行分析研究。 第一、技术可行性研究。 该网站系统界面友好,功能操作简单,在新系统投入使用时,只要对用户进行简单的说明,很容易操作该网站。 该系统可以采用 MyEclipse 结合 MySQL 数据库来完成,涉及的 SSH 框架已经很成熟,完全可在要求的短时间内完成小型图书点评网站的设计和开发。 第二、操作可行性研究。 本系统采用 Windows 图形界面,使大家熟悉的 Windows XP/Win7/Win8 操作系统,对于使用用户而言,只需要具有一般的计算机知识人员都可以轻松上手。 相信对于广大的图书爱好者不会是什么难题。 而且整个系统采用友好的交互界面,简洁明了,不需要对数据库非常了解也可以熟练操作。 第三、社会因素分析。 就是对我们所处的政治环境、经济环境、法制环境、科技环境、文化环境、语言环境、卫生环境等宏观因素的分析。 图书点评网站的所有内容完全由本人独立开发完成,由于开发内容简单,并不占用太多的社会因素。 并且在法律方面没有任何侵权的行为,完全符 合中小型系统的开发设计规定。 图书点评网站的设计与实现 7 本章小结 根据上述系统分析,图书点评网站的设计结构清晰、功能安排合理,而且使用现有JAVA 技术能够进行开发,并可实现用户要求的所有功能。 由于这是一个中小型系统,具有充裕的时间进行开发和设计。 综合以上几个方面,无论是从技术、操作还是社会因素方面该系统都具有较高的开发可行性。 所以下面即将对系统的开发的相关技术进行研究。 图书点评网站的设计与实现 8 第三章 系统相关技术简介 读书点评系统采用了比较成熟的 Struts2+Spring+Hibernate 开发框架,具 有三大特色。 第一, 良好的可扩展性, SSH 三层架构针对特殊应用时具有良好的可插拔性,避免大部分因技术问题不能实现的功能。 第二,良好的可维护性,业务系统经常会有新需求,三层构架因为逻辑层和展现层的合理分离,可使需求修改的风险降低到最低。 第三,优秀的解耦性, SSH 三层构架,控制层依赖于业务逻辑层,但绝不与任何具体的业务逻辑组件耦合,只与接口耦合;同样,业务逻辑层依赖于 DAO 层,也不会与任何具体的 DAO 组件耦合,而是面向接口编程 [4]。 Struts 技术介绍 MVC 即 ModelViewController 的缩写,是一种常用的设计模式。 MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。 Struts 是 MVC 的一种实现,它将 Servlet 和 JSP 标记(属于 J2EE 规范)用作实现的一部分。 Struts 继承了MVC 的各项特性,并根据 J2EE 的特点,做了相应的变化与扩展。 Struts 的原理 Struts 的核心是 ActionSevlet, ActionSevlet 的核心是。 下面将从视图、控制、模型及工作流程四个方面进行介绍说明。 视图 : 主要 由 JSP 生成页面完成视图, Struts 提供丰富的 JSP 标签库: Html, Bean,Logic, Template 等,这有利于分开表现逻辑和程序逻辑。 控制:在 Struts 中,承担 MVC 中 Controller 角色的是一个 Servlet,叫 ActionServlet。 ActionServlet 是一个通用的控制组件。 这个控制组件提供了处理所有发送到 Struts 的HTTP 请求的入口点。 它截取和分发这些请求到相应的动作类(这些动作类都是 Action类的子类)。 另外控制组件也负责用相应的请求参数填充 Action From(通常称之为FromBean) ,并传给动作类(通常称之为 ActionBean)。 动作类实现 了 核心商业逻辑,它可以访问 java bean 或调用 EJB。 最后动作类把控制权传给后续的 JSP 文件,后者生成视图。 所有这些控制逻辑利用。 图书点评网站的设计与实现 9 模型:模型以一个或多个 java bean 的形式存在。 这些 bean 分为三类: ActionForm、Action、 JavaBean or EJB。 Action Form通常称之为 FormBean,封装了来自于 Client 的用户请求信息, 如表单信息。 Action 通常称之为 ActionBean,获取从 ActionSevlet 传来的 FormBean,取出 FormBean 中的相关信息,并做出相关的处理,一般是调用 Java Bean或 EJB 等。 流程:在 Struts 中,用户的请求一般以 *.action 作为请求服务名,所有的 *.action 请求均被指向 ActionSevlet, ActionSevlet 根据 中的配置信息,将用户请求封装成一个指定名称的 FormBean,并将此 FormBean 传至指定名称的 ActionBean,由 ActionBean 完成相应的业务操作,如文件操作,数据库操作等。 每一个 *.action 均有对应的 FormBean 名称和 ActionBean 名称,这些在。 Struts 的优缺点 优点: 1. 开源软件,能更深入的了解其内部实现机制。 2. Taglib 标记库,灵活动用,能大大提高开发效率。 3. 页面导航使系统的脉络更加清晰。 通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。 尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。 4. 提供 Exception 处理机制。 5. 数据库链接池管理 6. Struts 的 Action 必需是 thread- safe 方式,它仅仅允许一个实例去处理所有的请求。 所以 action 用到的所有的资源都必需统一同步,这个就引起了线程安全的问题。 缺 点: Taglib 是 Struts 的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒。 Struts将 MVC 的 Controller 分为三 层 ,在获得结构更加清晰的同时,也增加了系统的复杂度。 ActionForms 使用不便、无法进行单元测试( StrutsTestCase 只能用于集成)。 图书点评网站的设计与实现 10 Spring 技术介绍 Spring 真正的精华是它的 IOC 模式 实现的 BeanFactory 和 AOP, 它是一个开源的项目,而且目前非常活跃。 Spring 的原理 Spring 基于 IOC( Inversion of Control,反向控制)和 AOP 的构架多层 j2ee 系统的框架,但它不强迫你必须在每一层中必须使用 Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某 , 一个模块;它实现了很优雅的 MVC, 对不同的数据访问技术提供了统一的 接口,采用 IOC 使得可以很容易的实现 bean 的装配,提供了简洁的 AOP 并据此实现 Transcation Managment,等等。 Spring 的优缺点 优点 : 1. Spring 能有效地组织你的中间层对象,不管你是否选择使用了 EJB。 如果你仅 仅使用了 Struts 或其他为 J2EE 的 API 特制的 framework, Spring 致力于解决剩下的问题。 2. Spring 能消除在许多工程中常见的对 Singleton 的过多使用。 根据我的经验,这是一个很大的问题,它降低了系 统的可测试性和面向对象的程度。 3. 通过一种在不同应用程序和项目间一致的方法来处理配置文件, Spring 能消除各种各样自定义格式的属性文件的需要。 曾经对某个类要寻找的是哪个魔法般的属性项或系统属性感到不解,为此不得不去读 Javadoc 甚至源编码。 有了 Spring,你仅仅需要看看类的 JavaBean 属性。 Inversion of Control 的使用(在下面讨论)帮助完成了这种简化。 4. 通过把对接口编程而不是对类编程的代价几乎减少到没有, Spring 能够促进养成好的编程习惯。 5. Spring被设计为让使用它创建的应用 尽可能少的依赖于他的 APIs。 在 Spring应用中的大多数业务对象没有依赖于 Spring。 6. 使用 Spring 构建的应用程序易于单元测试。 图书点评网站的设计与实现 11 7. Spring 能使 EJB 的使用成为一个实现选择 ,而不是应用架构的必然选择。 你能选择用 POJOs 或 local EJBs 来实现业务接口,却不会影响调用代码。 8. Spring 帮助你解决许多问题而无需使用 EJB。 Spring 能提供一种 EJB 的替换物,它们适用于许多 web 应用。 例如, Spring 能使用 AOP 提供声明性事务管理而不通过 EJB 容器,如果你仅仅需要与单个数据库打交道,甚至不需 要一个JTA 实现。 9. Spring 为数据存取提供了一个一致的框架 ,不论是使用的是 JDBC 还是 O/R mapping 产品(如 Hibernate)。 Spring 确实使你能通过最简单可行的解决办法来解决你的问题。 而这是有很大 缺 点 : 使用人数不多、 JSP 中要写很多代码、控制器过于灵活,缺少一个公用控制器。 Hibernate 技术介绍 Hibernate 使用了 J2EE 架构中的如下技术: JDBC、 JTA、 JNDI。 其中 JDBC 是一个支持关系数据库操作的一个基础层;它与 JNDI 和 JTA 一起结合,使得 Hibernate 可以方便地集成到 J2EE 应用服务器中去。 通过接口,你不仅可以存储和获得持久对象,并且能够进行事务控制。 Hibernate 的原理 Hibernate 有一些常用的接口,下面就主要的接口进行介绍说明。 Session 接口 : Session 接口对于 Hibernate 开发人员来说是一个最重要的接口。 然而在 Hibernate 中,实例化的 Session 是一个轻量级的类,创建和销毁它不断地创建以及销毁 Session 对象,如果 Session 的开销太大,会给系统带来不良影响。 SessionFactory 接 口 : 这里用到了一个设计模式 ―― 工厂模式,用户程序从工厂类SessionFactory 中取得 Session 的实例。 令你感到奇怪的是 SessionFactory 并不是轻量级的。 实际上它的设计者的意图是让它能在整个应用中共享。 典型地来说,一个项目通常只需要一个 SessionFactory 就够了,但是当你的项目要操作多个数据库时,那你必须为每个数据库指定一个 SessionFactory。 SessionFactory 在 Hibernate 中实际起到了一个缓图书点评网站的设计与实现 12 冲区的作用,它缓冲了 Hibernate 自动生成的 SQL 语句和一些 其它的映射数据,还缓冲了一些将来有可能重复利用的数据。 Configuration 接口 : Configuration 接口的作用是对 Hibernate 进行配置,以及对它进行启动。 在 Hibernate 的启动过程中, Configuration 类的实例首先定位映射文档的位置,读取这些配置,然后创建一个 SessionFactory 对象。基于ssh的图书点评网站的设计与实_现毕业论文(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。