Apache Commons Configuration을 사용할 수 있습니다. user guide을보십시오. 당신이 그것을 시작할 때 수행 할 때문에 여기에 샘플 ServletContextListener입니다 :
package test;
import java.io.File;
import java.net.MalformedURLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
public class ConfigurationListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
ServletContext context = sce.getServletContext();
File configFile;
try {
configFile = new File(context.getResource("/WEB-INF/configuration.xml").getPath());
Configuration config = new XMLConfiguration(configFile);
context.setAttribute("configuration", config);
} catch (ConfigurationException | MalformedURLException ex) {
Logger.getLogger(ConfigurationListener.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
public void contextDestroyed(ServletContextEvent sce) {}
}
이제이 같은 웹 응용 프로그램의 아무 곳이나 구성을 얻을 : 나는 구성을 유지하는 클래스를 만들 것이다
Configuration config = (Configuration) request.getServletContext().getAttribute("configuration");
ServletContext에 속성으로서 추가하는 것보다. 클래스는 정적 메서드를 통해 구성에 대한 액세스를 제공하기 만하면됩니다.
내가로드 한 xml 파일에 액세스하려면 다음을 수행하십시오. configFile = 새 파일 (context.getResource ("/ WEB-INF/academy.xml"). getPath()). \t \t \t 구성 config = 새 XMLConfiguration (configFile); \t \t \t System.out.println ("루트 요소 이름 :"+ config.getString ("application.name"))); 이 문은 null을 반환합니다. 내 XML 구조는 다음과 같습니다. 아카데미 application> –