访问webapps下的文件出现404问题,截器中注入bean实例时出现为空的问题,项目启动后创建文件夹

1.将excel导出的文件放到tomcat的webapps下的目录中时,excel文件中带有中文,会出现404问题。

2.在拦截器中注入bean实例时,出现为空的问题,那是因为拦截器的加载时间是在springcontext上下文之前,解决办法如下: 获取WebApplicationContext, 根据 WebApplicationContext 获取相应的bean private
T getRedisUtil(Class clazz, HttpServletRequest request){
WebApplicationContext applicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getServletContext());
return applicationContext.getBean(clazz); }

3.在springboot项目启动后在webapps下创建文件夹的代码如下

/**
 * EXCEL文件导出位置初始化创建
 * Created by vn0790t on 2020/3/25.
 */
@Component
public class ExcelRunner implements CommandLineRunner {

    private static final Logger LOG = LoggerFactory.getLogger(ExcelRunner.class);

    @Override
    public void run(String... strings) throws Exception {
        String nowpath; //当前tomcat的bin目录的路径 如 D:\java\software\apache-tomcat-6.0.14\bin

        nowpath = System.getProperty("catalina.home");
        nowpath += "/"+"webapps/"+ RtnConstants.EXCEL_FILE_NAME ;
        LOG.info("excel文件导出位置{}",nowpath);

        File file = new File(nowpath);
        //如果当前生成的excel不存在则创建目录
        if(!file.exists()){
            boolean result = file.mkdirs();
            LOG.info("excel文件导出是否成功",result);
        }

    }
}

你可能感兴趣的:(java技术点总结)