jsp获取web的跟路径

我实现了一个listener,此listener在tomcat启动的时候读取项目的配置文件,配置文件是xml。但是读取解析的功能是在另一个工具类实现的。
这个普通的工具类B,如何获取到当前web的跟路径呢?

首先我这个listener实现了 javax.servlet.ServletContextListener这个类

重写了方法 public void contextInitialized(ServletContextEvent arg0)
在这个方法内调用工具内B实现配置文件的解析,
在调用B的方法时候把ServletContextEvent arg0的arg0传递过去
然后通过arg0.getRealPath("/")就得到了当前web环境的跟路径了。

//File:SysInitListener.java
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/*
* other
*/
public class SysInitListener implements ServletContextListener {


    public void contextInitialized(ServletContextEvent arg0)  { 
    	final Logger logger = Logger.getLogger(SysInitListener.class);
    	logger.info("

---开始初始化系统。");
    	ConfigLoader.loadInterfaceItemConfig(arg0.getServletContext());
    	logger.info("---结束初始化系统。

");
    	
    }

/*
* other
*/


}


package com.xxxxx.tool;

import java.io.File;
import java.util.*;

import javax.servlet.ServletContext;

import org.apache.log4j.Logger;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import com.hntl.model.Interface;
import com.hntl.s.storage.*;

public class ConfigLoader {
	
	private final static Logger logger = Logger.getLogger(ConfigLoader.class);
	
	public static void loadInterfaceItemConfig(ServletContext s){
		String rootpath=s.getRealPath("/");
		String path =rootpath+"/config/wsInterfaceList.xml";
		//先读取待管理的备用接口配置文件
		logger.info("--开始读取备用接口配置文件:"+path);
		
		SAXReader reader = new SAXReader();
		Document document = null;
		try {
			document = reader.read(new File(path));
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		
		//other
	}
	
	
}



原文地址:https://www.cnblogs.com/blbl9527/p/7624299.html