Struts功能详解——Struts控制流

S truts 框架是基于控制层的一个 MVC 框架,所以对于 Struts 框架来说,最核心的东西就是控制。这次毕业论文答辩的时候,老师问了“什么叫控制”。当时听起来有点雷人。但是事后一想,确实是这样, Struts 就是控制。我毕业论文是采用 Struts 框架实现的。当然里面少不了关于控制的理论。我当时回答他的是关于 web 应用上,控制代表的操作。比如对页面传递过来的信息进行校验,分发等。但是老师对我的答案不是认同,他说我这个是纯工程上的说法,我们要求从理论上说,他从控制论的角度去解释了一下控制。他说的虽然有点空,但是也不是不对,可能这也是我们这些工程人员所欠缺的吧。

 

既然 S truts 最核心的就是控制,那么下面就解释一下 Struts 的控制流。首先看一张时序图。




 

说明:

  • 客户端请求匹配 A ction URI 样式的路径
  • 讲客户端请求传递给 A ctionServlet ,服务器容器执行。
  • 如果这个是模块化的,将选择相应的模块。
  • A ctionServlet 查询路径的映射,在 struts-config.xml 文件中。
  • 如果映射标明了一个 f orm bean ,ActionServlet 判断它是否存在。
  • 如果 mapping vali date 字段为 true ,则调用 validate 方法。
  • 如果失败, A ctionServlet 转发给 input 对应的页面。
  • 如果 mapping 标明一个 A ction ,如果它已经存在或实例化,则他被重用。
  • 执行 A ction execute 方法。调用用户自定义 bean
  • A ction 返回一个 ActionForward ActionServlet
  • A ctionForward 指定一个 URI ,返回用户视图。

 

其实 S truts 控制是一个比较简单的过程,他主要是控制数据有效性,还有控制数据传递路径有效。还定义了一些如果出错会采取那些办法。这里面用到了很多很好的面向对象的思想。值得去借鉴。在接下来会研究一下。

 

转自:http://blog.csdn.net/lsh6688/article/details/7568119

猜你喜欢

转载自jianggege.iteye.com/blog/1530991