struts2运行机制

struts2是web应用中一个经常使用的mvc框架,下面探讨一下其内部运行机制: web

1.从客服端浏览器输入的url后,客服端经过http协议发送一个请求到服务器(tomcat),Tomcat收到这个请求以后,它会查看你请求的是哪个web  application(通常是一个项目),接着将请求交给对应的web application处理; 浏览器

2.web application的处理过程:首先读取web.xml文件,经过filter过滤url,而后调用filter-class对应的类StrutsPrepareAndExecuteFilter; tomcat

3 接着StrutsPrepareAndExecuteFilter被调用,StrutsPrepareAndExecuteFilter询问ActionMapper来决定这个请是否须要调用某个Action
4 若是ActionMapper决定须要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy
5 ActionProxy经过Configuration Manager询问框架的配置文件,找到须要调用的Action类
6 ActionProxy建立一个ActionInvocation的实例。
7 ActionInvocation实例使用命名模式来调用,在调用Action的过程先后,涉及到相关拦截器(Intercepter)的调用。
8 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果一般是(但不老是,也可 能是另外的一个Action链)一个须要被表示的JSP或者FreeMarker的模版。在表示的过程当中能够使用Struts2 框架中继承的标签。 服务器

相关文章
相关标签/搜索