【asp精品源码栏目提醒】:本文主要为网学会员提供“SSH框架的理解 - 教育”,希望对需要SSH框架的理解 - 教育网友有所帮助,学习一下!
第一章 什么是 SSH SSH 在 J2EE 项目中表示了 3 种框架即 SpringStrutsHibernate1.1 Struts1.1.1 Struts 的起源 Struts 最早是作为 Apache Jakarta 项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高 JavaServer Pages 、Servlet、标签库以及面向对象的技术水准。
Struts 这个名字来源于在建筑和旧式飞机中使用的支持金属架。
这个框架之所以叫quotStrutsquot,是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我们踩高跷时候的基础支撑。
这也是一个解释 Struts在开发 Web 应用程序中所扮演的角色的精彩描述。
当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供支持。
同样,软件工程师使用 Struts 为业务应用的每一层提供支持。
它的目的是为了帮助我们减少在运用 MVC 设计模型来开发 Web 应用的时间。
我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。
如果想混合使用 Servlets 和 JSP 的优点来建立可扩展的应用,Struts 是一个不错的选择。
早期 Smalltalk 程序语言便采用了 MVCModel-View -Controller 模式 Patterns 以增加程序代码弹性,MVC 模式将程序代码整理切割为三部份,Model 部分是业务与应用领域 Business domain 相关逻辑、管理状态之对象,Controller 部分接收来自 View 所输入的资料并与 Model 部分互动,是业务流程控制 Flow Control 之处,View 部分则负责展现资料、接收使用者输入资料。
在 Java 应用中,JFC/Swing、AWT、JSP 皆是可用作 View 之技术规格,而 JavaBean 与 Enterprise JavaBean规格则可用于 Model 程序代码,一旦应用程序以 MVC 模式加以适当(的)分割,Model 部分程序代码可在不同使用者接口外观(的)应用程序中重复使用。
随着 JSP 与 Servlet 技术大量应用于以 Web 为基础(的)应用程序,Java 开发人员群体认为应以较佳之模式以提升 Web 应用程序之可维护性与重复使用性。
早期 JSP 规格书中曾列举两种可行之 JSP 应用架构,分别为 Model1 与 Model 2。
在 Model 1 架构中,JSP 直接处理 Web 浏览器送来之请求Request ,并辅以 JavaBean 处理应用相关逻辑。
Model 1 架构单纯编写比较容易,但在 Model 1 中 JSP 可能同时肩负 View与 Controller 角色,两类程序代码有可能混杂而不易维护。
而 Model 2 中将 Servlet 纳入架构中扮演前端 Controller 角色,将 Web 浏览器送出之请求集中送至 Servlet ,Servlet 可集中管理使用者登入、权限控制、多国语言转换等前置处理,再视需求 第 2 页 共 44 页转向给对应之 JSP 处理。
Model 2 中采用了较佳之 MVC 模式,但增加了编写复杂度。
Struts 是 Apache 软件基金下 Jakarta 项目的一部分。
除 Struts 之外,还有其他成功的开源产品,包括 Tomcat, Ant 和 Velocity。
2000 年 Craig R. McClanahan 先生贡献了他编写的 JSP Model 2 架构之 Application Framework 原始程序代码给 Apache 基金会,成为 Apache Jakarta 计划 Struts Framework 前身。
开始的代码基础从 2000 年 5 月开始开发,直到 2001 年 6 月,1.0 版本发布。
有 30 多个开发者参与进来,并有数千人参与到讨论组中。
Struts 代码基础由一个志愿的 Commnitter 团队来管理。
到 2002 年,Struts 小组共有 9 个志愿 Commnitter。
Struts 框架的主要架构设计和开发者是 Craig R.McClanahan。
Craig 也是 Tomcat 4 的主要架构师,以及 Java Web Services Developer Pack 的主要架构师和实现者。
他现在是 Sun 的 JavaServer Faces JSR-127 以及 J2EE 平台的 Web 层架构的规范领导。
Craig R. McClanahan 先生是 JCP ExpertGroup 成员之一,曾参与 JSP 规格制定与 Tomcat 4 之编写,因此 Struts Framework广受 Java 开发人员群体所重视。
Borland 自 2002 年底开始于开发工具 JBuilder 中支持 Struts Framework。
Struts 是 Apache 基金会 Jakarta 项目组的一个 Open Source 项目,它采用 MVC 模式,能够很好地帮助 java 开发者利用 J2 第 3 页 共 44 页EE 开发 Web 应用。
和其他的 java 架构一样,Struts 也是面向对象设计,将 MVC 模式quot分离显示逻辑和业务逻辑quot的能力发挥得淋漓尽致。
Structs 框架的核心是一个弹性的控制层,基于如 JavaServlets,JavaBeans,ResourceBundles 与 XML 等标准技术,以及 Jakarta Commons 的一些类库。
Struts 有一组相互协作的类(组件)、Servlet 以及 jsp tag lib 组成。
基于 struts 构架的web 应用程序基本上符合 JSP Model2 的设计标准,可以说是一个传统 MVC 设计模式的一种变化类型。
Struts 最早是作为 Apache Jakarta 项目的组成部分问世运作。
项目的创立者希望通过对该项目的研究,改进和提高 Java Server Pages、Servlet、标签库以及面向对象的技术水准。
Struts 的目的是为了减少在运用 MVC 设计模型来开发 Web 应用的时间。
你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。
Struts 跟 Tomcat、Turbine 等诸多 Apache 项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。
除此之外,Struts 的优点主要集中体现在两个方面:Taglib和页面导航。
Taglib 是 Struts 的标记库,灵活运用,能大大提高开发效率。
另外,就目前国内的 JSP 开发者而言,除了使用 JSP 自带的常用标记外,很少开发自己的标记,或许 Struts 是一个很好的起点。
第 4 页 共 44 页 关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。
通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。
尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。
MVC 即 Model-View-Controller 的缩写,是一种常用的设计模式。
MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。
Struts 是 MVC 的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。
Struts 继承了 MVC 的各项特性,并根据 J2EE 的特点,做了相应的变化与扩展。
1.1.2 Struts 的流程 服务器启动后,根据 web.xml 加载 ActionServlet 读取 struts-config.xml 文件内容到内存。
以登陆为例:第一次进 login.jsp 会先实例化 Form、把默认值String 默认为空字符串整形默认为 0赋给表单元素。
输入用户名密码提交表单、提交到 action 属性的 login.do通过 ActionServlet 读 struts-config.xml 文件找到 action 下的 path 属性找到.do通过 name 属性找 form-beans 中的 form-bean 的 name 属性得到 ActionForm 的包名类名先实例化 form,把表单的值填充给 form,调用 form 的 validate 方法验证、Action 第 5 页 共 44 页Errors 返回 null 表示验证通过,否则失败返回 input 指定的页面.验证通过会实例化 Action,执行 Action 的 excute 方法。
1.1.3 Struts 框架结构如右图 Struts 对 Model,View 和 Controller 都提供了对应的组件。
在右图中,ActionServlet,这个类是 Struts 的核心控制器,负责拦截来自用户的请求。
Action,这个类通常由用户提供,该控制器负责接收来自 ActionServlet 的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给 JSP 页面显示。
上一篇:
身份证认证系统
下一篇:
盘点士兵的各种搞笑失误,连老纳都笑了!