《第3章 Struts框架结构ppt课件.ppt》由会员分享,可在线阅读,更多相关《第3章 Struts框架结构ppt课件.ppt(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第3章章 Struts框架结构框架结构第三章第三章Struts 框架结构框架结构 Struts框架结构框架结构 Struts本身是一个基于本身是一个基于MVC的应用程序架构,的应用程序架构,是一种位于标识层的框架。它对于我们构建自己的是一种位于标识层的框架。它对于我们构建自己的基于基于MVC的应用系统提供了简单易用的解决方案。的应用系统提供了简单易用的解决方案。 JSP开发模式开发模式 1JSP开发模式开发模式 2Struts结构结构 控制器(控制器(Controller) n控制器接收来自客户端(通常为浏览器)的请求,并决定执控制器接收来自客户端(通常为浏览器)的请求,并决定执行何种事务逻
2、辑功能来执行用户的请求,然后委派适当的视行何种事务逻辑功能来执行用户的请求,然后委派适当的视图组建来显示更新后的用户界面。图组建来显示更新后的用户界面。n控制器的作用主要是截获所有来自界面的请求,并重新委派控制器的作用主要是截获所有来自界面的请求,并重新委派给对应的模型类来执行。给对应的模型类来执行。控制器(控制器(Controller) n把把web.xml中该中该Servlet的的节点设置为一节点设置为一个带有通配符个带有通配符(*)的的URL。因此,在。因此,在Struts中就是采用这样一中就是采用这样一种方式来捕获用户的所有请求的,种方式来捕获用户的所有请求的,Struts的基本控制器
3、组件的基本控制器组件就是我们在就是我们在web.xml中配置的中配置的ActionServlet类。类。n同时,同时,Struts的控制器组件可以通过在的控制器组件可以通过在struts-config.xml配配置一组映射来定义控制器的处理行为,每个映射定义了置一组映射来定义控制器的处理行为,每个映射定义了Action类的路径和名字。如果路径与接收到的请求中的类的路径和名字。如果路径与接收到的请求中的URI一致,该一致,该Action类就会被执行,进行必要的事务逻辑处理,类就会被执行,进行必要的事务逻辑处理,然后将控制传递给视图组件。然后将控制传递给视图组件。模型(模型(Model) n模型表
4、示应用程序的状态,业务对象更新应用程序模型表示应用程序的状态,业务对象更新应用程序的状态。的状态。vActionForm Bean在与用户的会话范围或者请求范围内在与用户的会话范围或者请求范围内表示模型的状态,而不是在系统的持久层。表示模型的状态,而不是在系统的持久层。JSP文件使文件使用用JSP标记读取来自标记读取来自ActionForm Bean的信息。的信息。视图(视图(View) nStruts应用中的视图部分是通过应用中的视图部分是通过JSP技术实现技术实现vStruts提供了自定义的标记库,通过这些自定义标记可以提供了自定义的标记库,通过这些自定义标记可以很好地和系统的很好地和系统
5、的Model部分交互。部分交互。v通过使用这些自定义标记创建的通过使用这些自定义标记创建的JSP表单,可以实现和表单,可以实现和Model部分中的部分中的ActionForm的映射,完成对用户数据的的映射,完成对用户数据的封装封装v这些自定义标记还提供了模板定制等多种显示功能这些自定义标记还提供了模板定制等多种显示功能Struts工作流程工作流程 ActionServlet类类 nActionServlet类类vStruts的控制器将事件(通常是的控制器将事件(通常是HTTP的的POST、GET等等请求)映射到一个请求)映射到一个Serlvet类。类。v控制器通过读取配置文件以使用户不必对这些
6、值进行硬控制器通过读取配置文件以使用户不必对这些值进行硬编码。编码。ActionServlet类类 nActionSerlvet是该是该MVC实现的控制部分,它是这实现的控制部分,它是这一框架的核心。一框架的核心。nActionServlet创建并使用创建并使用Action,ActionForm和和ActionForward。 Action类类 nAction类的用途类的用途v将将HttpServletRequest转换为业务逻辑。要使用转换为业务逻辑。要使用Action类,必须创建它的子类并且覆盖其类,必须创建它的子类并且覆盖其process()方法。方法。ActionForm类类 nActionForm类类v维护维护Web应用程序的会话状态,它是一个抽象类,必须应用程序的会话状态,它是一个抽象类,必须为每一个输入表单模型创建该类的子类。为每一个输入表单模型创建该类的子类。v主要作用是保存用户提交表单中的数据。主要作用是保存用户提交表单中的数据。 ActionMappings类类 nActionMapping ,ActionMappings和和Action以及以及ActionServlet之间的关系如图所示:之间的关系如图所示:基于基于Struts进行开发进行开发 现在的软件系统通常都会采用多层的体系结构。现在的软件系统通常都会采用多层的体系结构。 如图如图