📄 sysinfo.java
字号:
package com.laoer.bbscs.sysinfo;
/**
* <p>Title: ��������V5.0</p>
* <p>Description: BBS-CS��������V5.0</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: laoer.com</p>
* @author ������
* @version 5.0
*/
import org.jdom.*;
import org.jdom.input.*;
import java.io.*;
import java.util.*;
import org.apache.log4j.*;
public class SysInfo {
static Logger logger = Logger.getLogger(SysInfo.class.getName());
static private SysInfo instance;
//public String WEBSITENAME = "";
//public String WEBSITEURL = "";
public String VERSION = "5.3.1";
public String OS = "";
public String WEBPATH = "";
public String FILEPATH = "";
public String FILEORDB = "";
public String SYSLOG = "";
public String CHARSET = "";
public String LANGUAGE = "";
public String COUNTRY = "";
public String HTMLEDIT = "";
public String UPIMG = "";
public int UPIMGSIZE = 100;
//public String AUTHCODE = "yes";
public int FORUMPERNUM = 20;
public int POSTPERNUM = 10;
public int PORT = 8848;
public String DBDRIVERS = "";
public String SINGLESERVER = "yes";
public String MAINSERVER = "yes";
public String ROOTWEBPATH = "/";
public long SESSIONOVERTIME = 1800000;
public String INDEXALL = "yes";
public long INDEXTIME = 3600000;
public int POSTMAXSIZE = 20;
public int CACHEMAXSIZE = 2048 * 1024;
public long CACHEMAXLIFETIME = 360 * 60000;
public String MAIL = "";
public String SMTP = "";
public String MAILUSER = "";
public String MAILPASSWD = "";
public String DBTYPE = "";
public String DBPAGECLASS = "";
public String DEFAULTDB = "";
public String USEAPPDBPOOL = "no";
public String LOCALHOST = "";
public ArrayList SERVERS = new ArrayList();
public ArrayList SERVERSIP = new ArrayList();
public ArrayList SERVERSURL = new ArrayList();
public ArrayList DATABASE = new ArrayList();
public Hashtable DBPOOLS = new Hashtable();
public ArrayList ADV = new ArrayList();
public SysInfo() {
init();
}
public static synchronized SysInfo getInstance() {
if (instance == null) {
instance = new SysInfo();
}
return instance;
}
public void init() {
try {
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(getClass().getResourceAsStream("bbscs.xml"));
Element root = doc.getRootElement();
//this.WEBSITENAME = root.getChild("websitename").getTextTrim();
//this.WEBSITEURL = root.getChild("websiteurl").getTextTrim();
this.OS = root.getChild("OS").getTextTrim().toLowerCase();
this.WEBPATH = root.getChild("webpath").getTextTrim();
if (!this.WEBPATH.endsWith("/")) {
this.WEBPATH = this.WEBPATH + "/";
}
this.FILEPATH = root.getChild("filepath").getTextTrim();
if (!this.FILEPATH.endsWith("/")) {
this.FILEPATH = this.FILEPATH + "/";
}
this.FILEORDB = root.getChild("fileordb").getTextTrim();
this.SYSLOG = root.getChild("syslog").getTextTrim();
this.CHARSET = root.getChild("charset").getTextTrim();
this.LANGUAGE = root.getChild("language").getTextTrim();
this.COUNTRY = root.getChild("country").getTextTrim();
this.HTMLEDIT = root.getChild("htmledit").getTextTrim();
this.UPIMG = root.getChild("upimg").getTextTrim();
this.UPIMGSIZE = Integer.parseInt(root.getChild("upimgsize").getTextTrim());
/*
if (!this.OS.equals("windows")) {
this.AUTHCODE = root.getChild("authcode").getTextTrim();
}*/
this.FORUMPERNUM = Integer.parseInt(root.getChild("forumpernum").
getTextTrim());
this.POSTPERNUM = Integer.parseInt(root.getChild("postpernum").
getTextTrim());
this.SINGLESERVER = root.getChild("singleserver").getTextTrim();
this.MAINSERVER = root.getChild("mainserver").getTextTrim();
this.ROOTWEBPATH = root.getChild("rootwebpath").getTextTrim();
if (!this.ROOTWEBPATH.startsWith("/")) {
this.ROOTWEBPATH = "/" + this.ROOTWEBPATH;
}
if (!this.ROOTWEBPATH.endsWith("/")) {
this.ROOTWEBPATH = this.ROOTWEBPATH + "/";
}
this.PORT = Integer.parseInt(root.getChild("port").getTextTrim());
this.SESSIONOVERTIME = Long.parseLong(root.getChild("sessionovertime").
getTextTrim()) * 60 * 1000;
this.INDEXALL = root.getChild("indexall").getTextTrim();
this.INDEXTIME = Long.parseLong(root.getChild("indextime").getTextTrim()) *
60 * 1000;
this.POSTMAXSIZE = Integer.parseInt(root.getChild("postmaxsize").
getTextTrim());
this.CACHEMAXSIZE = Integer.parseInt(root.getChild("cachemaxsize").
getTextTrim()) * 1024;
this.CACHEMAXLIFETIME = Long.parseLong(root.getChild("cachemaxlifetime").
getTextTrim()) * 60000;
this.MAIL = root.getChild("mail").getTextTrim();
this.SMTP = root.getChild("smtp").getTextTrim();
this.MAILUSER = root.getChild("mailuser").getTextTrim();
this.MAILPASSWD = root.getChild("mailpasswd").getTextTrim();
this.DBTYPE = root.getChild("dbtype").getTextTrim();
this.DBPAGECLASS = root.getChild("dbpageclass").getTextTrim();
this.DBDRIVERS = root.getChild("dbdrivers").getTextTrim();
this.DEFAULTDB = root.getChild("defaultdb").getTextTrim();
this.USEAPPDBPOOL = root.getChild("useappdbpool").getTextTrim();
Element databaseinfo = root.getChild("databaseinfo");
java.util.List databaselist = databaseinfo.getChildren();
String dbname = "";
String connurl = "";
String dbuser = "";
String dbpassword = "";
String maxconn = "";
String[] databases = null;
for (int i = 0; i < databaselist.size(); i++) {
databases = new String[5];
Element database = (Element) databaselist.get(i);
dbname = database.getChild("dbname").getTextTrim();
connurl = database.getChild("connurl").getTextTrim();
dbuser = database.getChild("dbuser").getTextTrim();
dbpassword = database.getChild("dbpassword").getTextTrim();
maxconn = database.getChild("maxconn").getTextTrim();
databases[0] = dbname;
databases[1] = connurl;
databases[2] = dbuser;
databases[3] = dbpassword;
databases[4] = maxconn;
//logger.info(dbname + " " + connurl + " " + dbuser + " " + dbpassword);
this.DATABASE.add(databases);
}
Element dbpools = root.getChild("dbpools");
java.util.List dbpoolslist = dbpools.getChildren();
String jndi = "";
for (int i = 0; i < dbpoolslist.size(); i++) {
Element dbpoole = (Element) dbpoolslist.get(i);
dbname = dbpoole.getChild("dbname").getTextTrim();
jndi = dbpoole.getChild("jndi").getTextTrim();
this.DBPOOLS.put(dbname, jndi);
}
//System.out.println(this.DBPOOLS.size());
Element serverlist = root.getChild("serverlist");
java.util.List serverlists = serverlist.getChildren();
String ip = "";
String url = "";
String main = "";
String[] serverinfo = null;
for (int i = 0; i < serverlists.size(); i++) {
serverinfo = new String[3];
Element server = (Element) serverlists.get(i);
ip = server.getChild("ip").getTextTrim();
url = server.getChild("url").getTextTrim();
main = server.getChild("main").getTextTrim();
if (url.endsWith("/")) {
url = url.substring(0, url.length() - 1);
}
serverinfo[0] = ip;
serverinfo[1] = url;
serverinfo[2] = main;
this.SERVERS.add(serverinfo);
this.SERVERSURL.add(serverinfo[1]);
if (main.equals("no")) {
this.SERVERSIP.add(serverinfo[0]);
}
else {
this.LOCALHOST = serverinfo[0];
}
}
Element adve = root.getChild("advlist");
java.util.List advlist = adve.getChildren();
//String imgsrc = "";
//String advurl = "";
String[] adv = null;
for (int i = 0; i < advlist.size(); i++) {
adv = new String[2];
Element aadv = (Element) advlist.get(i);
adv[0] = aadv.getChild("imgsrc").getTextTrim();
adv[1] = aadv.getChild("advurl").getTextTrim();
this.ADV.add(adv);
}
}
catch (Exception e) {
logger.error(e);
}
}
public static void main(String[] args) {
SysInfo aSysInfo = new SysInfo();
//System.out.println(aSysInfo.WEBSITENAME);
System.out.println(aSysInfo.PORT);
System.out.println(aSysInfo.SERVERS.size());
for (int i = 0; i < aSysInfo.SERVERS.size(); i++) {
String[] serverinfo = (String[]) aSysInfo.SERVERS.get(i);
System.out.println(serverinfo[0]);
System.out.println(serverinfo[1]);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -