注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

和申的个人主页

专注于java开发,1985wanggang

 
 
 

日志

 
 

WEBX2.0学习源码分析(二)初识webx2.0 WebxControllerServlet  

2011-12-08 20:32:00|  分类: WebX |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
WEBX2.0学习源码分析(二)初识webx2.0 WebxControllerServlet

开始分析com.alibaba.webx.WebxControllerServlet类,webx2.0处理页面请求的Servlet。

/**

* Webx控制器,是M-V-C框架的入口。

*

* @author Michael Zhou

* @version $Id: WebxControllerServlet.java 1422 2005-11-09 06:15:49Z baobao $

*/

public class WebxControllerServlet extends AbstractWebxControllerServlet

implements WebxConstant

 WebxControllerServlet继承AbstractWebxControllerServlet类,实现WebxConstant接口。

AbstractWebxControllerServlet实现HttpServlet接口。

webx启动的时候会调用的AbstractWebxControllerServlet的init()方法

/**

* 初始化servlet

* @throws ServletException 初始化失败

*/



public void init() throws ServletException {

try {

configure();

log.info("WebxController: init() Ready to Rumble!");

} catch (Exception e) {

log.error("WebxController: init() failed", e);

// 这个异常将被servlet engine记录到servlet log中。

UnavailableException ue = new UnavailableException("WebxController: init() failed: " + e.getMessage());

ue.initCause(e);

throw ue;

}

}



这个configure()方法又调用了configure()方法,这个方法是在WebxControllerServlet中

/**

* 读取配置文件,初始化logging系统和service manager

*

* @throws WebxInitializationException 如果初始化失败

*/

protected void configure() throws WebxInitializationException {

     controller = WebxUtil.getWebxController(getServletContext());

   if (controller == null) {

     WebxLoader loader = new WebxLoader(log, getServletContext(), getServletConfig());

     loader.configure();

     controller = loader;

   }

// servletConfig放在servletContext中,供rundata filter使用。

getServletContext().setAttribute(WEBX_CONTROLLER_SERVLET_CONFIG_KEY, getServletConfig());

}


这个方法:

1)WebxLoader loader = new WebxLoader(log, getServletContext(), getServletConfig());创建一个loader    

    private WebxController controller;

    最后将上面的变量赋值为初始化好的loader。

      controller=loader;

2)调用 loader.configure();

这个方法里面中:

  • 配置日志系统, logj
  • 取得schemem:从jar包中META-INF/services/sericeId文件中默认情况下查找webx.scheme.turbine文件,该文件中默认配置scheme为com.alibaba.turbine.scheme.TurbineScheme



  评论这张
 
阅读(1391)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016