Liferay 启动过程分析10

MainServlet中,当初始化Theme结束之后,就开始初始化站点设置了,if (_log.isDebugEnabled()) {             _log.debug("Initialize web settings");         }          try {             initWebSettings();         } .. 

它会去调用initWebSettings()方法:

protected void initWebSettings() throws Exception {         ServletContext servletContext = getServletContext();          String xml = HttpUtil.URLtoString(             servletContext.getResource("/WEB-INF/web.xml"));          checkWebSettings(xml);     } 

其本质就是去读取web.xml中的一些配置信息,我们跟进到checkWebSettings()方法中,发现它主要做了和session 相关的设置:

首先,它去获取服务器中配置的session超时值(分钟):

int timeout = PropsValues.SESSION_TIMEOUT; 

这个值最终可以从portal.properties中获取:

    # Specify the number of minutes before a session expires. This value is     # always overridden by the value set in web.xml.     #     session.timeout=30 

然后,它去获取web.xml中<session-config>元素配置的session超时值(分钟),并且,如果这里设置了值,则覆盖portal.properties中的设定:

Element sessionConfig = root.element("session-config");          if (sessionConfig != null) {             String sessionTimeout = sessionConfig.elementText(                 "session-timeout");              timeout = GetterUtil.getInteger(sessionTimeout, timeout);         } 

然后,它调用的代码是:

I18nServlet.setLanguageIds(root); 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/6a8fb908524769e218b7532fd715928a.html