<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<context-param>
<param-name>param</param-name>
<param-value>cn/com/cc/config/parameters.properties
</param-value>
</context-param>
<listener>
<listener-class>cn.com.cc.sms.listener.ContextLoadListener</listener-class>
</listener>
web.xml配置需要读取的properties文件和监听程序
监听程序
import org.apache.log4j.Logger;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class ContextLoadListener implements ServletContextListener {
private Logger logger = Logger.getLogger(this.getClass());
/**
* 初始化上下文,这里用来加载parameters.properties中的文件
*
* @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
*/
@Override
public void contextInitialized(ServletContextEvent sce) {
ServletContext context = sce.getServletContext();
String param = context.getInitParameter("param");
InputStream input = null;
Properties properties = null;
try {
if (param != null) {
input = ContextLoadListener.class.getResourceAsStream("/"
+ param);
properties = new Properties();
properties.load(input);
for (Object obj : properties.keySet()) {
String value = (String) properties.get(obj);
logger.info("add param " + (String) obj + " : " + value);
context.setAttribute((String) obj, value);
}
} else {
logger.error("未找到上下文参数param");
}
} catch (Exception e) {
e.printStackTrace();
logger.error("Loading 上下文参数配置文件失败");
} finally {
try {
if (input != null) {
input.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
// TODO Auto-generated method stub
}
}