+-
利用spring中的ServletContextAware 接口获得ServletContext,从而获得服务器上下文路径
程序片段:
package com.ahtec.oa.service.impl; import java.io.File; import java.io.IOException; import javax.servlet.ServletContext; import org.apache.commons.io.FileUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import org.springframework.web.context.ServletContextAware; /** * @author Wu */ @Component public class AutoRunServiceImpl implements ServletContextAware { protected final Logger logger = LoggerFactory.getLogger(this.getClass()); private ServletContext servletContext; public void setServletContext(ServletContext servletContext) { this.servletContext = servletContext; } public void deletePdcaZipFile() { logger.debug("start deletePdcaZipFile ..."); String pdcaDeleteFileLocation = ""; try { String fileLocation = "files\\pdca\\"; String ctxDir = this.servletContext.getRealPath(String.valueOf(File.separatorChar)); if (!ctxDir.endsWith(String.valueOf(File.separatorChar))) { ctxDir = ctxDir + File.separatorChar; } pdcaDeleteFileLocation = ctxDir + fileLocation; FileUtils.deleteDirectory(new File(pdcaDeleteFileLocation)); logger.debug("has deleted : '{}' all files!", pdcaDeleteFileLocation); logger.debug("end deletePdcaZipFile..."); } catch (IOException e) { logger.debug("do not find pdcaDeleteFileLocation: {}", pdcaDeleteFileLocation); } logger.debug("============================================================"); } }