学习Struts框架系列(二):多角度剖析Struts工作原理

 

上篇博客模拟Struts实现其实就是Struts实现原理,只是Struts进行了一定程度的封装

ActionServlet中央控制器

  1. 负责截取URI
  2. 执行对应的业务控制器Action
  3. 转向

ActionForm

  1. 收集表单数据
  2. 转换数据类型

ActionForward

  1. 包装转向信息

 

流程图


 

 

  时序图


1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它默认在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,放入ActionMapping对象中,准备为struts初始化相应的对象。(面向对象思想)

  2.发送请求:浏览器请求Tomcat,url是有规则的,比如*.action或者*.do。

  3.截取url

填充ActionForm:struts的总控制器ActionServlet在用户提交请求时将数据放到对应的ActionForm对象中的成员变量中。

  4.派发请求:控制器根据截取的url,得到对应的配置信息对象ActionMapping,再将请求派发到具体的Action,对应的ActionForm一并传给这个Action中的excute()方法。

  5.处理业务:Action一般只包含一个excute()方法,它负责取得表单数据,执行相应的业务逻辑(调用其它的业务模块),并返回操作完毕后的转向地址信息ActionForward对象。

  6.返回响应:Action将业务处理的不同结果返回一个目标响应对象ActionForward给总控制器。

  7.查找响应:总控制器根据ActionForward对象,找到对应的资源对象,一般情况下为jsp页面。

  8.响应用户:目标响应对象将结果传递给资源对象,将结果展现给用户。

 

小结

框架多的学不过来,而struts只是其中之一,可谓百家争鸣,各有所长,就像学习语言一样,不用都学,精通一门就好,掌握其原理,等到需要时是容易上手的,所谓精一通百就是这个道理。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值