深入理解SSH之struts2工作原理



深入理解SSH之struts2工作原理

上图是来源于struts2的官方站点,是struts2的整体结构。
一个请求在struts2框架中的处理大致分为以下几个步骤:

1、客户端初始化一个请求指向servlet容器
2、这个请求经过一系列的过滤器(Filter)
3、接着FilterDispatcher被调用,FilterDispatcher访问ActionManpper来决定这个请求是否需要调用某个Action
4、如果ActionMapper决定调用某个action,FilterDispatcher把请求的处理交给ActionProxy
5、ActionProxy通过Configuration Manager访问框架的配置文件struts.xml,找到需要调用的action类
6、ActionProxy会创建一个Action Invocation实例
7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,会涉及到拦截器(Interceptor)的调用
8、Action执行完毕后,Action Invocation会根据struts.xml中配置找到对应的返回结果.

在上述过程中所有的对象(Action,Results,Interceptors等)都是通过ObjectFactory来创建的


以下是简要的工作流程:

      1、客户端浏览器发出HTTP请求。
      2、根据web.xml配置,该请求被FilterDispatcher接收。
      3、根据struts.xml配置,找到需要调用的Action类和方法, 并通过IoC方式,将值注入给Aciton。
      4、Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。
      5、Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面。
      6、返回HTTP响应到客户端浏览器。

你可能感兴趣的:(struts)