📄 webappconfigxml.java
字号:
package cfq.fare.config;
import org.apache.commons.digester.Digester;
import org.xml.sax.SAXException;
import java.io.File;
import java.io.IOException;
public class WebAppConfigXML {
//org/apache/commons/collections/ArrayStack
WebApp webApp=null;
private final static String filePath=System.getProperty("user.dir")+
File.separator+
"WEB-INF"+
File.separator+
"web.xml";
private WebAppConfigXML() throws IOException, SAXException{
parseWebAppXml();
}
private static WebAppConfigXML webAppConfXml;
public static WebAppConfigXML getWebAppConfXmlInstance() throws IOException, SAXException{
if(webAppConfXml==null){
return new WebAppConfigXML();
}else{
return webAppConfXml;
}
}
public WebApp getWebApp(){
return webApp;
}
public static void main(String[] args)throws Exception{
WebAppConfigXML wcm=new WebAppConfigXML();
wcm.parseWebAppXml();
CfqDataSource cfqdb=wcm.webApp.getDataSource("test");
System.out.println("**********8"+cfqdb.toString());
}
public void parseWebAppXml() throws IOException, SAXException{
Digester digester=new Digester();
digester.setValidating(false);
//封装<web-app>
digester.addObjectCreate("web-app", WebApp.class);
digester.addBeanPropertySetter("web-app/description", "description");
//封装<servlet>
digester.addObjectCreate("web-app/servlet", Servlet.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", "paramName");
digester.addBeanPropertySetter("web-app/servlet/init-param/param-value", "paramValue");
digester.addSetNext("web-app/servlet/init-param", "setParamMap");
digester.addSetNext("web-app/servlet", "setServletMap");
//封装<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", "setServletMapingMap");
//封装<Resource />
digester.addObjectCreate("web-app/Resource" , CfqDataSource.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", "setCfqDataSourceMap");
File file=new File(filePath);
webApp=(WebApp)digester.parse(file);
// System.out.println(webApp.toString());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -