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

修改之后部署到服务器上面发现取到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目录,本地环境和服务器环境遇到的问题

java 在web应用中获取本地目录和服务器上的目录不一致的问题的更多相关文章

  1. (转)关于java和web项目中的相对路径问题

    原文:http://blog.csdn.net/yethyeth/article/details/1623283 关于java和web项目中的相对路径问题 分类: java 2007-05-23 22 ...

  2. java 从spring容器中获取注入的bean对象

      java 从spring容器中获取注入的bean对象 CreateTime--2018年6月1日10点22分 Author:Marydon 1.使用场景 控制层调用业务层时,控制层需要拿到业务层在 ...

  3. web项目中获取spring的bean对象

    Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,如何在程序中不通过注解的形式(@Resource.@Autowired)获取Spring配置的bean呢? Bean工厂(c ...

  4. 因为此控件已在 web.config 中注册并且与该页位于同一个目录中

    在web.config文件配置了用户控件 <pages> <controls> <add tagPrefix="my" tagName="l ...

  5. java实现从报文中获取投保单号

    java实现从报文中获取投保单号 投保单号正则表达式: String regex = "<proposalNo>([0-9]+)</proposalNo>[\\s\\ ...

  6. java增强for循环中获取index

    java增强for循环中获取index http://rensanning.iteye.com/blog/2003205

  7. 创建dynamics CRM client-side (十三) - 在HTML Web Resource中获取form elements & 获取外部js文件

    上一节我们讨论到创建HTML Web Resource. 但是纯HTML的页面不能满足我们的需求, 所以今天我们来做在HTML Web Resource中获取form elements Please ...

  8. 怎样将本地web项目部署到腾讯云服务器上?

    怎样将本地web项目部署到腾讯云服务器上? 1.本地计算机的工作: (1).用eclipse新建一个web项目,然后在webcontent下新建一个index.html,然后在本地部署到Tomcat服 ...

  9. asp.net如何判断服务器上的目录或文件是否存在

    asp.net判断服务器上的目录或文件是否存在!(实例) // ======================================================= [判断文件是否存在] u ...

随机推荐

  1. tomcat中间件配置说明

    因为Tomcat 技术先进.性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器.目前最新版本是8.0. 方法/步骤   一.tomca ...

  2. DAY11-MYSQL之ORM框架SQLAlchemy

    一 介绍 SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取 ...

  3. 8-EasyNetQ之Send & Receive

    鉴于Publish/Subsrcibe和Request/Response模式是位置透明的,在这个方面,你不需要去指定消息的消费者具体所处的位置,Send/Receive模式是特别针对通过命名队列来设计 ...

  4. [hdu2255]奔小康赚大钱(二分图最优匹配、KM算法)

    题目大意:求二分图的最优匹配(首先数目最大, 其次权值最大). 解题关键:KM算法 复杂度:$O(n^3)$ #include<cstdio> #include<cstring> ...

  5. Swing绘图机制

    ------------------siwuxie095                         工程名:TestSwingPaintMethod 包名:com.siwuxie095.swin ...

  6. SQL语句兼容性规范

    一.DDL兼容性规范(防止表结构变更后,原有的SQL执行报错)只能增加字段或修改字段长度(字段长度改大),不能修改字段名字和类型,不能删除字段不能删除表或者修改表名称 二.DML兼容性规范insert ...

  7. JAVA语法规则总结

    单继承多实现 抽象类  抽象方法 使用关键字:abstract修饰的方法就是抽象方法; 抽象方法的形式:只有方法的声明,没有方法体; 抽象方法一般存在于父类中,相当于强制要求子类必须重写该方法,相当于 ...

  8. JavaPersistenceWithHibernate第二版笔记-第七章-002Mapping an identifier bag(@CollectionId、@ElementCollection、@CollectionTable、@Type)

    一.结构 A bag is an unordered collection that allows duplicate elements, like the java.util.Collection ...

  9. rvm 安装后的补充工作:source $HOME/.profile

    rvm安装后会在 $HOME/.bash_profile 文件追加一行代码: [[ -s "$HOME/.rvm/scripts/rvm" ]] && source ...

  10. 记一次OOM问题排查过程

    上周运维反馈线上程序出现了OOM,程序日志中的输出为 Exception in thread "http-nio-8080-exec-1027" java.lang.OutOfMe ...