上一篇文章已经成功建立了第一个struts2的项目,这里介绍一下项目运行流程。
1、首先我们在浏览器地址中输入地址:http://localhost:8080/Struts/hello.action ,服务器接收到请求,会先去访问web.xml配置文件,请求被filter过滤器hello过滤,改过滤器过滤一切请求,因为其匹配的<url-pattern>是/*,如下图所示:
2、接着流程转入struts的过滤器处理类org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter类中,如下:
3、处理类会去访问src文件夹下的struts.xml配置文件,查看有没有匹配hello的action项:
4、匹配属性name=“hello”的action,根据属性class,流程进入com.xbb.action.Hello类中,struts框架利用反射机制自动调用execute方法,返回success字符串。
5、struts.xml中的action中的子元素<result>中有一个属性<name>,其值为“success”,即上图的<result>项部分实际上是等同于下图:
属性name值匹配第4步返回的“success”,流程转换到index.jsp,服务器将index.jsp文件处理转化成html,发送给客户端浏览器,显示最终结果。