⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 config.java

📁 源码/软件简介: 云网论坛1.1RC国际版是采用JSP开发的集论坛、CMS(网站内容管理系统)、博客、聊天室、商城、交友、语音灌水等于一体的门户式社区。拥有CWBBS ( Cloud Web BBS
💻 JAVA
字号:
package com.redmoon.forum;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: </p> * @author not attributable * @version 1.0 */import org.jdom.*;import org.jdom.output.*;import org.jdom.input.*;import java.io.*;import java.net.URL;import cn.js.fan.util.XMLProperties;import org.apache.log4j.Logger;import cn.js.fan.util.StrUtil;import com.redmoon.forum.security.LoginMonitor;import cn.js.fan.cache.jcs.RMCache;import java.net.URLDecoder;import javax.servlet.http.HttpServletRequest;import cn.js.fan.web.SkinUtil;public class Config {    // public: constructor to load driver and connect db    private XMLProperties properties;    private final String CONFIG_FILENAME = "config_forum.xml";    private String cfgpath;    Logger logger;    Document doc = null;    Element root = null;    final String rootChild = "forum";    final String cacheGroup = "forum_cfg";    public Config() {        logger = Logger.getLogger(Config.class.getName());    }    public void init() {        URL cfgURL = getClass().getClassLoader().getResource(                CONFIG_FILENAME);        cfgpath = cfgURL.getFile();        cfgpath = URLDecoder.decode(cfgpath);        properties = new XMLProperties(cfgpath);        SAXBuilder sb = new SAXBuilder();        try {            FileInputStream fin = new FileInputStream(cfgpath);            doc = sb.build(fin);            root = doc.getRootElement();            fin.close();        } catch (org.jdom.JDOMException e) {            logger.error("Config:" + e.getMessage());        } catch (java.io.IOException e) {            logger.error("Config:" + e.getMessage());        }    }    public void refresh() {        try {            RMCache.getInstance().invalidateGroup(cacheGroup);        }        catch (Exception e) {            logger.error("refresh:" + e.getMessage());        }    }    public Element getRootElement() {        if (root==null)            init();        return root;    }    public String getProperty(String name) {        String v = null;        try {            v = (String) RMCache.getInstance().getFromGroup(name, cacheGroup);        }        catch (Exception e) {            logger.error("getProperty1:" + e.getMessage());        }        if (v==null) {            if (root == null)                init();            v = properties.getProperty(name);            if (v!=null) {                try {                    RMCache.getInstance().putInGroup(name, cacheGroup, v);                }                catch (Exception e) {                    logger.error("getProperty2:" + e.getMessage());                }            }        }        return v;    }    public int getIntProperty(String name) {        String p = getProperty(name);        if (StrUtil.isNumeric(p)) {            return Integer.parseInt(p);        } else            return -65536;    }    public boolean getBooleanProperty(String name) {        String p = getProperty(name);        return p.equals("true");    }    public void setProperty(String name, String value) {        properties.setProperty(name, value);    }    public String getDescription(String name) {        if (root==null)            init();        Element which = root.getChild(rootChild).getChild(name);        // System.out.println("name=" + name + " which=" + which);        if (which == null)            return null;        return which.getAttribute("desc").getValue();    }    public String getDescription(HttpServletRequest request, String name) {        return SkinUtil.LoadString(request, "res.config.config_forum", name);    }    public boolean put(String name, String value) {        if (root==null)            init();        Element which = root.getChild(rootChild).getChild(name);        if (which == null)            return false;        which.setText(value);        writemodify();        if (name.indexOf("login")!=-1)            LoginMonitor.initParam();        return true;    }    public void writemodify() {        String indent = "    ";        Format format = Format.getPrettyFormat();        format.setIndent(indent);        format.setEncoding("gb2312");        XMLOutputter outp = new XMLOutputter(format);        try {            FileOutputStream fout = new FileOutputStream(cfgpath);            outp.output(doc, fout);            fout.close();        } catch (java.io.IOException e) {}        refresh();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -