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

📄 webappcfgmanager.java

📁 用JAVA开发
💻 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 + -