struts2--拦截器

struts2的原理:

 用户发送一个HttpServletrequest的请求给tomcat,然后经过一个applicayionCleanUp,otherFilter等拦截器,到达filterDispatcher(过时的叫法)

  现在把核心拦截器叫strutsprepareAndexecutefilter。

   它会把请求去询问ActionMapping看是否有对应的action去处理。如果没有action就不会处理。

   如果有对应的action,ActionMapping会返回给filterDispatCher,filterDispatcher会把这个请求转交给actionProxy,代理会调用actionConfiguration,然后action的配置会读取struts.xml文件,再把文件中的信息原路返回给代理

   代理获得配置文件的数据后会创建一个proxyInnovation,去处理请求对应的action。

     但在处理之前要进过intoceter1,2,3,,n等拦截器,通过拦截器然后才能去处理action,处理之后action是要返回一个string的字符串根据xml文件来决定返回的result是一个什么样的jsp页面。也就是模版。

      返回模版之后再经过n,,3,2,intorcer1拦截器,这样倒着拦截的一个过程,通过之后返回给用户一个HttpServletResponse。

   

你可能感兴趣的:(struts2--拦截器)