Struts2框架流程详细分析范文.docVIP

  • 4
  • 0
  • 约5.93万字
  • 约 36页
  • 2018-11-26 发布于安徽
  • 举报
WORD完美格式编辑 专业资料整理 StrutsPrepareAndExecuteFilter实现了Filter接口? init方法为初始化入口 StrutsPrepareAndExecuteFilter init方法? ?public?void?init(FilterConfig?filterConfig)?throws?ServletException?{?? ????//初始化辅助类?类似一个Delegate?? ?????InitOperations?init?=?new?InitOperations();?? ?????try?{?? ????????//?FilterHostConfig?封装了FilterConfig参数对象??? ?????????FilterHostConfig?config?=?new?FilterHostConfig(filterConfig);?? ?????????//LoggerFactory配置加载??? //如果没有web.xml?没有配置“loggerFactory”参数?尝试mons.logging.LogFactory ?????????//如果失败?使用JdkLoggerFactory?? ?????????//TODO?SPI?? ?????????init.initLogging(config);?? ?????????//TODO?创建Dispatcher?注册加载器???执行加载器??创建容器?解析xml???? ?????????Dispatcher?dispatcher?=?init.initDispatcher(config);?? ?????????init.initStaticContentLoader(config,?dispatcher);?? ?????????//预处理类?请求处理时才会真正用到?? ?????????//1.主要负责在每次请求?创建ActionContext?清除ActionContext?? ?????????//2.当接收到一个请求时?通过uri查找?ActionConfig?创建ActionMapping?? ?????????prepare?=?new?PrepareOperations(filterConfig.getServletContext(),?dispatcher);???????????//处理请求??Delegate?? ?????????execute?=?new?ExecuteOperations(filterConfig.getServletContext(),?dispatcher);?? this.excludedPatterns?=?init.buildExcludedPatternsList(dispatcher);?? //空实现?留作扩展?? ?????????postInit(dispatcher,?filterConfig);?? ?????}?finally?{?? ?????????init.cleanup();?? ?????}?? ?}?? InitOperations 类似与一个Delegate 主要负责实例化Dispatche??再把初始化操作转交给Dispatche init处理 public?Dispatcher?initDispatcher(?HostConfig?filterConfig?)?{?? ????//创建Dispatcher?? ????Dispatcher?dispatcher?=?createDispatcher(filterConfig);?? ????//核心方法??Container容器的创建???xml解析在此方法发生?? ????dispatcher.init();?? ????return?dispatcher;?? }?? ?? private?Dispatcher?createDispatcher(?HostConfig?filterConfig?)?{?? ????MapString,?String?params?=?new?HashMapString,?String();?? ????for?(?Iterator?e?=?filterConfig.getInitParameterNames();?e.hasNext();?)?{?? ?

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档