struts2介绍

2017-05-01  本文已影响0人  写bug的码农

执行流程

  1. 客户端浏览器发送请求
  2. 根据web.xml的配置, StrutsPrepareAndExecuteFilter判断这是否是struts请求, 并通过询问ActionMapper决定需要调用某个Action
  3. 如果需要调用struts就把请求就转发给ActionProxy
  4. ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类, 找到要调用的action, ActionProxy创建实例并初始化
  5. ActionInvocation实例调用action, 经过一系列的拦截器, 执行里面的action方法
  6. Action中的方法调用业务逻辑
  7. Action执行结束后, ActionInvocation根据struts.xml中的配置找到对应的返回结果result(但也可能是转发或重定向到另外一个action)。
  8. 执行后续的各个拦截器
  9. 发送响应, 并跳转到相应的页面或其他action

解决了什么问题

  1. 简化基于mvc的web应用程序的开发
  2. 可以清楚的区分控制, 事务逻辑和页面显示, 提高视图的开发速度
  3. 文件上传和下载
  4. 控制action的单例和多例
  5. 使用ognl表达式可以快捷的访问值栈中的数据
  6. 强大的拦截器, 拦截用户请求
  7. 页面导航

Struts2拦截器

值栈

为什么Struts2中的action必须是多例

上一篇 下一篇

猜你喜欢

热点阅读