[align=center][size=x-large][color=red][b] Struts2工作原理[/b][/color][/size][/align]
[img]http://dl.iteye.com/upload/picture/pic/118823/d37feb2b-ded6-38c7-b7a0-b942737848a0.jpg[/img]
[size=x-large][b][color=red]处理原理:[/color][/b][/size]
[size=medium]
[b][color=red]1.[/color][/b]客户初始化一个指向Servlet容器(Tomcat)的请求[color=red]httpServletRequest[/color].
[color=red][b]2.[/b][/color]这个请求经过一系列的过滤器(Filter)
[color=red][b]3.[/b][/color]接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper,ActionMapper根据访问的URL来判断该request请求是Action还是其他请求(例如:jsp请求)
[color=red][b]4.[/b][/color]如果是Action访问(即*.action),则会返回一个描述了action的ActionMapper给FilterDispatcher,FilterDispatcher会把该action请求处理交给ActionProxy
[color=red][b]5.[/b][/color]ActionProxy通过Configuration Manager读取配置文件struts.xml,找出要调用的action
[color=red][b]6.[/b][/color]接着ActionProxy会创建ActionInvocation实例,该实例通过经过多层过滤器找出来的action name调用的Action处理类
[color=red][b]7.[/b][/color]Action处理类处理完毕返回[color=red]jsp页面[/color]或者[color=red]其他Action[/color]继续处理,本次请求处理完毕后的返回结果又要经过多层过滤器过滤
[color=red][b]8.[/b][/color]将Tomcat容器返回的结果[color=red]HttpServletResponse[/color]返回给用户[/size]
[img]http://dl.iteye.com/upload/picture/pic/118823/d37feb2b-ded6-38c7-b7a0-b942737848a0.jpg[/img]
[size=x-large][b][color=red]处理原理:[/color][/b][/size]
[size=medium]
[b][color=red]1.[/color][/b]客户初始化一个指向Servlet容器(Tomcat)的请求[color=red]httpServletRequest[/color].
[color=red][b]2.[/b][/color]这个请求经过一系列的过滤器(Filter)
[color=red][b]3.[/b][/color]接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper,ActionMapper根据访问的URL来判断该request请求是Action还是其他请求(例如:jsp请求)
[color=red][b]4.[/b][/color]如果是Action访问(即*.action),则会返回一个描述了action的ActionMapper给FilterDispatcher,FilterDispatcher会把该action请求处理交给ActionProxy
[color=red][b]5.[/b][/color]ActionProxy通过Configuration Manager读取配置文件struts.xml,找出要调用的action
[color=red][b]6.[/b][/color]接着ActionProxy会创建ActionInvocation实例,该实例通过经过多层过滤器找出来的action name调用的Action处理类
[color=red][b]7.[/b][/color]Action处理类处理完毕返回[color=red]jsp页面[/color]或者[color=red]其他Action[/color]继续处理,本次请求处理完毕后的返回结果又要经过多层过滤器过滤
[color=red][b]8.[/b][/color]将Tomcat容器返回的结果[color=red]HttpServletResponse[/color]返回给用户[/size]