Struts基本执行流程

Struts简单执行流程

对于ActionServlet的初始化前一篇已经详细讲解,想了解请看上一篇文章
1. 用户发送动态请求并且满足ActionServlet的url-pattern匹配,则该请求由交个ActionServlet处理
2. ActionServlet收到请求,根据请求的方式不同执行不同的方法get(doGet()) 或post(doPost()),当然源码里都是调用ActionServlet的同一个方法(porcess())
3. 在process的方法里主要是根据请求得到相应的MoudleConfig对象,找到之后会把该ModuleConfig对象放到request的Attribute属性里
4. 通过调用ActionServlet的getRequestProcessor的方法得到一个RequestProcessor对象,然后调用该对象得process方法
5. 在process方法里完成ActionForm的表单收集,调用Action的execute的方法,并且完成相应的跳转,请求转发给其他Action或者直接返回给用户相应的响应
6. 请求结束

Struts执行流程详细讲解

  1. 满足ActionServlet的url-pattern的请求交个ActionServlet后调用它的doGet或doPost方法,然后调用ActionServlet的process方法

    ActionServlet->process执行流程

    –>调用ModuleUtils的getInstance()方法得到一个ModuleUtils对象,该对象那个默认是通过new创建的
    –>得到ModuleUtils的对象后调用该对象的selectModule()方法
    –>selectModule方法会先去调用getModuleName方法,首先会判断request里是否有javax.servlet.include.servlet_patha属性(因为一般新的请求都不存在该属性),该属性为空则会得到request.getServletPath(),调用getModuleName的一个重载方法(因为ActionServlet的init方法里调用了initModulePrefixes方法,该方法的详细解释看上一篇文章),所以Application里存在org.apache.struts.globals.MODULE_PREFIXES属性

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值