📄 webappcfgmanager.java
字号:
package cn.netjava.feeserver.cfgbean;
/**
* 解析web.xml文件配置,生成配置信息对象,使用的apache digster项目
* 计费查询服务器
* @author www.NetJava.cn
*
*/
public class WebAppCfgManager {
/**
* 唯一实例提取者
* @return
* @throws Exception
*/
public static WebAppCfgManager ins()throws Exception{
if(null==wam){
wam=new WebAppCfgManager();
}
return wam;
}
/**
* 提取WebApp对象
*/
public WebApp getWebApp(){
return webApp;
}
public static void main(String[] args) throws Exception{
CfgDataSource cds=WebAppCfgManager.ins().webApp.getCfgDataSource("MySqlNetJavaDBPool");
System.out.println("CfgDataSource: "+cds.toString());
}
void parseWebXML() throws Exception{
org.apache.commons.digester.Digester digester=new org.apache.commons.digester.Digester();
digester.setValidating(false);
digester.addObjectCreate("web-app", WebApp.class);
digester.addBeanPropertySetter("web-app/description","description");
digester.addObjectCreate("web-app/servlet", CfgServlet.class);
digester.addBeanPropertySetter("web-app/servlet/servlet-name","servletName");
digester.addBeanPropertySetter("web-app/servlet/servlet-class","servletClass");
digester.addObjectCreate("web-app/servlet/init-param", InitParam.class);
digester.addBeanPropertySetter("web-app/servlet/init-param/param-name","paraName");
digester.addBeanPropertySetter("web-app/servlet/init-param/param-value","paraValue");
digester.addSetNext("web-app/servlet/init-param", "addInitParam");
digester.addSetNext("web-app/servlet", "addCfgServlet");
//servlet-mapping
digester.addObjectCreate("web-app/servlet-mapping", ServletMapping.class);
digester.addBeanPropertySetter("web-app/servlet-mapping/servlet-name","servletName");
digester.addBeanPropertySetter("web-app/servlet-mapping/url-pattern","urlPattern");
digester.addSetNext("web-app/servlet-mapping", "addServletMapping");
digester.addObjectCreate("web-app/resource", CfgDataSource.class);
digester.addSetProperties("web-app/resource/", "name","name");
digester.addSetProperties("web-app/resource/", "maxActive","maxActive");
digester.addSetProperties("web-app/resource/", "maxIdle","maxIdle");
digester.addSetProperties("web-app/resource/", "maxWait","maxWait");
digester.addSetProperties("web-app/resource/", "userName","userName");
digester.addSetProperties("web-app/resource/", "passWord","passWord");
digester.addSetProperties("web-app/resource/", "driverClassName","driverClassName");
digester.addSetProperties("web-app/resource/", "url","url");
digester.addSetNext("web-app/resource", "addDataSource");
java.io.File input =new java.io.File(cfgFile);
webApp=(WebApp)digester.parse(input);
}
private WebAppCfgManager() throws Exception{
parseWebXML();
}
private final static String cfgFile=System.getProperty("user.dir")
+java.io.File.separator+"WEB-INF"
+java.io.File.separator+"web.xml";
private WebApp webApp=null;
private static WebAppCfgManager wam=null;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -