struts(2)----工作流程图简述

struts根据配置文件,对所有以.do结尾的请求进行处理,处理这些请求的核心类为actionServlet,这个actionServlet为struts的中央控制器,它负责根据struts的配置文件信息查找对应的action, 然后交由这些action对这些请求进行处理。在交给对应的action处理之前,它会创建两个对象actionMapping和actionForm, 前者主要是负责是将struts的配置信息进行封装,actionServlet查找对应的action处理特定的请求,也是通过这个对象的封装信息来查找的;后者主要是封装用户提交的信息。这个信息将会被在view和modle层进行传输。在找到对应的action后,调用此action的execute方法执行相关业务逻辑完成用户请求的响应。最后此方法将会返回一个输出页面,这个指定返回那个输出页面的信息将被封装在一个actionForward对象中,一般调用actionMapping的getForward方法,它返回一个actionForward对象,此对象最后也将结合actionMapping封装的配置信息进行返回。

根据上面所描述的,struts的配置文件最少需要配置form-bean和action两个标签,下图是对这两个标签个属性的解释:

下图是struts工作流程:


struts主要的组件包括:

actionServlet对象: struts的核心类

RequestProcessor对象:由ActionServlet调用,负责处理用户请求;可以通过controller标签进行配置,如

<controller processorClass="org.apache.struts.action.RequestProcessor"></controller>

配置后,它将根据此配置的处理器来处理用户请求。

Action对象:用户自己编写的类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个请求在Struts 2框架中的处理大概分为以下几个步骤。  客户端提交一个(HttpServletRequest)请求,如上文在浏览器中输入 http://localhost: 8080/bookcode/ch2/Reg.action就是提交一个(HttpServletRequest)请求。  请求被提交到一系列(主要是3层)的过滤器(Filter),如(ActionContextCleanUp、其他过滤器(SiteMesh等)、 FilterDispatcher)。注意:这里是有顺序的,先ActionContext CleanUp,再其他过滤器(Othter Filters、SiteMesh等),最后到FilterDispatcher。  FilterDispatcher是控制器的核心,就是MVC的Struts 2实现中控制层(Controller)的核心。  FilterDispatcher询问ActionMapper是否需要调用某个Action来处理这个(HttpServlet Request)请求,如果ActionMapper决定需要调用某个Action,FilterDispatcher则把请求的处理交给ActionProxy。  ActionProxy通过Configuration Manager(struts.xml)询问框架的配置文件,找到需要调用的Action类。例如,用户注册示例将找到UserReg类。  ActionProxy创建一个ActionInvocation实例,同时ActionInvocation通过代理模式调用Action。但在调用之前,ActionInvocation会根据配置加载Action相关的所有Interceptor(拦截器)。  一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果result。 Struts 2的核心控制器是FilterDispatcher,有3个重要的方法:destroy()、doFilter()和Init(),可以在Struts 2的下载文件夹中找到源代码,如代码1所示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值