首页 > 代码库 > servlet获取并存储web.xml中context-param参数

servlet获取并存储web.xml中context-param参数

在web.xml中定义了context-param,一般不会随意改动,所以在监听器中做一次处理,容器启动时读取并存储在Properties中,方便以后取值。

SysProperties 类用于存储 context 键值;

SystemListener 监听器类,处理 context-param 参数。

/** * 用于存储参数键值 */public final class SysProperties {    private static SysProperties instance;    private Properties initProperties = new Properties();    private SysProperties() { }    public static SysProperties getInstance() {        if (instance == null) {            instance = new SysProperties();        }        return instance;    }    /**     * 获取对应的值     * @param key String 提供的键(param-name)     * @return String 键对应的值(param-value)     */    public String getProperty(String key)    {        return this.initProperties.getProperty(key);    }    /**     * 检测是否包含该键     * @param key String 键     * @return boolean 该键存在返回 true,否则返回 false     */    public boolean containsKey(String key) {        return this.initProperties.containsKey(key);    }    /**     * 存储参数     * @param key String param-name     * @param object String param-value     */    public void put(String key, String object) {        this.initProperties.put(key, object);    }}

 

/** * 系统监听,程序启动时初始化并存储相关参数 */public class SystemListener implements ServletContextListener {    @Override    public void contextInitialized(ServletContextEvent servletContextEvent) {        initContextParam(servletContextEvent);    }    @Override    public void contextDestroyed(ServletContextEvent servletContextEvent) { }    private void initContextParam(ServletContextEvent event) {        Enumeration<String> names = event.getServletContext().getInitParameterNames();        while (names.hasMoreElements())        {            String name = names.nextElement();            String value = http://www.mamicode.com/event.getServletContext().getInitParameter(name);>

servlet获取并存储web.xml中context-param参数