zoukankan      html  css  js  c++  java
  • java 在web应用中获取本地目录和服务器上的目录不一致的问题

    先来讲讲我所遇到的问题。最近有个新的项目添加新的功能。

    修改之后部署到服务器上面发现取到classpath目录跑到别的地方去了。在本地测试却正常。

    当时毛的着火了。硬是想不懂什么问题。

    终于发现了这个问题的所在之处。首先!

    原来的项目系统是

     String basePath = getClass().getResource("/").toURI().getPath(); //原来的获取方法 在本地测试可以获取到的。但部署到服务器可能会发生读到别的地方去!是可能! 也有可能获取到别的地方

    1.获取classpath目录必须使用以下的语句

    String basePath = request.getServletContext().getRealPath("/"); //获取到classpath目录。也就是webRoot的目录
    

    2.指定的目录写法。例如我要访问webRoot/Reg/GTRCODE.txt 目录文件的话。请用这种方式拼接!

    String path = basePath.substring(0, basePath.length() - 1) + "/Reg/GTRCODE.txt";

    之前我是用以下这种方式拼接的。本地开发环境可以运行读取。但是在服务器环境下就不行了。用了上面的成功解决这个问题了

    String path = basePath.substring(0, basePath.length() - 1) + "\Reg\GTRCODE.txt";
    

    这就是我解决读取classpath目录,本地环境和服务器环境遇到的问题

  • 相关阅读:
    053-005
    053-002
    053-004
    Dynamic Programming: Fibonacci
    Some tips on using HashSet<T> and List<T>
    使用NPOI导出DataTable到Excel
    简简单单写个特效
    vue项目使用tinymce 适用于5.0版本
    封装AJAX
    全屏滑动效果
  • 原文地址:https://www.cnblogs.com/syscal/p/9984178.html
Copyright © 2011-2022 走看看