本帖最后由 aaameimei 于 2013-06-08 22:58:39 编辑

解决方案 »

  1.   

    servlet容器启动后会调用ContextLoaderListener,后者会启动spring容器。这个是在servlet执行前做的。
      

  2.   

    这个我明白了,我就是不清楚,spring启动是怎么做的
      

  3.   

    问题补充一下:
    下面是tomcat上的日志信息: Loading Spring root WebApplicationContext
    <2013-06-09 09:38:01,475> ERROR (LightWorkflowConfigParse.java:202) [main] (com.hollycrm.service.lightworkflow.xmlparse.LightWorkflowConfigParse) - /D:/tomcat6.0/webapps/cc/WEB-INF/classes/
    <2013-06-09 09:38:01,505> ERROR (LightWorkflowConfigParse.java:220) [main] (com.hollycrm.service.lightworkflow.xmlparse.LightWorkflowConfigParse) - D:\tomcat6.0\webapps\cc\WEB-INF\classes\lightWorkflowConfig.xml
    <2013-06-09 09:38:02,628>  WARN (TreeCache.java:1181) [main] (org.jboss.cache.TreeCache) - No transaction manager lookup class has been defined. Transactions cannot be used
    parser end
    Hibernate: select ccqcdefaul0_.score_cont_type as score_co1_, ccqcdefaul0_.score_cont_name as score_co2_, ccqcdefaul0_.templet_id as templet_id from CC_QC_DEFAULT_TEMPLET ccqcdefaul0_
    Hibernate: select calendarmo0_.MODEL_ID as MODEL_ID, calendarmo0_.MODEL_TYPE as MODEL_TYPE, calendarmo0_.MODEL_RULE as MODEL_RULE, calendarmo0_.CREATE_USER_ID as CREATE_U4_, calendarmo0_.CREATE_TIME as CREATE_T5_, calendarmo0_.UPDATE_USER_ID as UPDATE_U6_, calendarmo0_.UPDATE_TIME as UPDATE_T7_, calendarmo0_.IS_VALID as IS_VALID, calendarmo0_.TIME_BLANK1 as TIME_BLA9_, calendarmo0_.TIME_BLANK2 as TIME_BL10_, calendarmo0_.TIME_BLANK3 as TIME_BL11_, calendarmo0_.TIME_BLANK4 as TIME_BL12_, calendarmo0_.TIME_BLANK5 as TIME_BL13_, calendarmo0_.TIME_BLANK6 as TIME_BL14_, calendarmo0_.TIME_BLANK7 as TIME_BL15_, calendarmo0_.TIME_BLANK8 as TIME_BL16_, calendarmo0_.TIME_BLANK9 as TIME_BL17_, calendarmo0_.TIME_BLANK10 as TIME_BL18_, calendarmo0_.DESCRIPTION as DESCRIP19_, calendarmo0_.DEFAULT_MODEL as DEFAULT20_ from TBL_CALENDAR_MODEL calendarmo0_ where (calendarmo0_.IS_VALID='1' )
    Hibernate: select qcdefaultc0_.PURPOSE_CODE as PURPOSE_1_, qcdefaultc0_.PURPOSE_NAME as PURPOSE_2_, qcdefaultc0_.CRITERION_ID as CRITERIO3_, qcdefaultc0_.PURPOSE_URL as PURPOSE_4_, qcdefaultc0_.REMARK as REMARK from TBL_QC_CRITERION_PURPOSE qcdefaultc0_MAC地址认证失败,系统进入试用状态,只允许1个用户登录!Loading Spring root WebApplicationContext 应该是org.springframework.web.context.ContextLoaderListener这个监听器运行。
    MAC地址认证失败,系统进入试用状态,只允许1个用户登录! 是最后com.hollycrm.service.license.PermissionStartupContextLoader运行的。
    那这中间部分了,尤其是LightWorkflowConfigParse.java的调用,在我列出自定义的监听器中是没有调用啊。(PS:那些error是我故意用日志显示出来的,不是真的报错)
    所以我现在就好奇
    <2013-06-09 09:38:01,475> ERROR (LightWorkflowConfigParse.java:202) [main] (com.hollycrm.service.lightworkflow.xmlparse.LightWorkflowConfigParse) - /D:/tomcat6.0/webapps/cc/WEB-INF/classes/
    <2013-06-09 09:38:01,505> ERROR (LightWorkflowConfigParse.java:220) [main] (com.hollycrm.service.lightworkflow.xmlparse.LightWorkflowConfigParse) - D:\tomcat6.0\webapps\cc\WEB-INF\classes\lightWorkflowConfig.xml
    <2013-06-09 09:38:02,628>  WARN (TreeCache.java:1181) [main] (org.jboss.cache.TreeCache) - No transaction manager lookup class has been defined. Transactions cannot be used
    parser end
    Hibernate: select ccqcdefaul0_.score_cont_type as score_co1_, ccqcdefaul0_.score_cont_name as score_co2_, ccqcdefaul0_.templet_id as templet_id from CC_QC_DEFAULT_TEMPLET ccqcdefaul0_
    Hibernate: select calendarmo0_.MODEL_ID as MODEL_ID, calendarmo0_.MODEL_TYPE as MODEL_TYPE, calendarmo0_.MODEL_RULE as MODEL_RULE, calendarmo0_.CREATE_USER_ID as CREATE_U4_, calendarmo0_.CREATE_TIME as CREATE_T5_, calendarmo0_.UPDATE_USER_ID as UPDATE_U6_, calendarmo0_.UPDATE_TIME as UPDATE_T7_, calendarmo0_.IS_VALID as IS_VALID, calendarmo0_.TIME_BLANK1 as TIME_BLA9_, calendarmo0_.TIME_BLANK2 as TIME_BL10_, calendarmo0_.TIME_BLANK3 as TIME_BL11_, calendarmo0_.TIME_BLANK4 as TIME_BL12_, calendarmo0_.TIME_BLANK5 as TIME_BL13_, calendarmo0_.TIME_BLANK6 as TIME_BL14_, calendarmo0_.TIME_BLANK7 as TIME_BL15_, calendarmo0_.TIME_BLANK8 as TIME_BL16_, calendarmo0_.TIME_BLANK9 as TIME_BL17_, calendarmo0_.TIME_BLANK10 as TIME_BL18_, calendarmo0_.DESCRIPTION as DESCRIP19_, calendarmo0_.DEFAULT_MODEL as DEFAULT20_ from TBL_CALENDAR_MODEL calendarmo0_ where (calendarmo0_.IS_VALID='1' )
    Hibernate: select qcdefaultc0_.PURPOSE_CODE as PURPOSE_1_, qcdefaultc0_.PURPOSE_NAME as PURPOSE_2_, qcdefaultc0_.CRITERION_ID as CRITERIO3_, qcdefaultc0_.PURPOSE_URL as PURPOSE_4_, qcdefaultc0_.REMARK as REMARK from TBL_QC_CRITERION_PURPOSE qcdefaultc0_这段信息是怎么出来的。
      

  4.   

    spring启动后会把singleton的bean提前初始化。
      

  5.   

    web.xml加载顺序:context-param --> listener --> filter --> servlet
      

  6.   

      ssh应当是在  tomcat启动之后加载的,应当是在   web.xml中监听启动了。
      

  7.   

    这些不就是
    Loading Spring root WebApplicationContext
    执行的过程吗?