Struts概述

          Struts是一种开源软件,它可以帮助开发人员更快更容易的开发Web程序. Struts所基于的标准技术----例如JavaBeans,servlets和 JSP,是大多数开发人员非常熟悉掌握的. 在软件开发过程中通过使用标准组建, 并用填空式的开发方法, Struts可以帮助程序员减轻每个新项目都重复进行那些既费时又繁琐的工作。


          Struts对于公众是免费的.  使用该软件现在以及将来都不需要付出任何费用.  你可以用Struts来创建一个商业项目,也不需要交付任何费用就可以毫无阻力的分发Struts的运行版本.

          Struts使用的是Model2体系结构。ActionServlet负责控制总流程。另外一个Action类负责存取业务逻辑类。当ActionServlet类从容器中获取一个请求时,它使用请求的URI(路径)来决定是哪一个Action来处理该请求。一个Action可以检验输入的合法性、通过业务逻辑层来读取数据库或者其他数据服务中的信息。要完成这些功能,Action需要用户提交给它处理数据。为了每一个Action都要处理从请求中提取输入数据的操作,Struts将这些输入数据绑定到JavaBean中。每一个这样的输入Bean都是Struts中ActionForm类的子类。ActionServlet通过查看请求的路径就可以决定哪一个ActionForm用来包含输入数据。这些ActionForm类都应该是org.apache.struts.action.ActionForm的子类。

           每一个HTTP请求都必须有一个HTTP响应。但Struts自己并不生成响应,而是将该请求转发到其他的资源上如JSP页面。Struts提供一个名为ActionForward的类来将逻辑名保存到每个页面的路径。当业务逻辑部分已经执行完成后,Action会选择一个ActionForward,并且将它返回给总控Servlet。总控Servlet会使用在该ActionForward中存储的物理路径来调用对应的页面来完成HTTP响应。

           Struts将所有这些方面的细节信息都定义在ActionMappping对象中。每一个ActionMapping对象都对应于一个指定的路径。当该路径被请求时,总控Servlet会获取对应的ActionMapping对象。该对象会告诉总控Servlet该使用哪些Action、ActionForm和ActionForward对象。

          全部有关的Action、ActionForm、ActionForward以及ActionMapping的信息和其他的配置信息都在Struts-config.xml文件中声明。ActionServlet在启动的时候会读取该文件,并且创建包含所有这些配置对象的数据库。在运行时,Struts会使用这些对象,而不是使用文件本身。

           一个ActionForm是继承自org.apache.struts.action.ActionForm类的一个JavaBean。该对象从输入的请求中获取输入项。当IE向服务器提出请求时,IE会根据表中每一个输入项在HTTP请求中添加一个参数对。同样,ActionForm对于HTML表中的每一个项都有一个相对应的属性。ActionServlet会将HTTP请求中的参数和ActionForm中的属性进行对不。当两者相匹配时,ActionServlet会调用相对应的setter方法来将HTTP请求中的值设置为ActionForm中的属性值。

你可能感兴趣的:(框架学习笔记)