环境:linux
容器:websphere
框架:SSH
描述:最近在做项目的时候发现,在我读取项目文件的时候出错了,而之前在windows平台是好的
解决:后来发现原因是由于在windows和linux下读取当前应用的资源文件有点小区别
windows:basePath=this.getRequest().getRealPath("/")+"XXX"+File.separator+"XXXX"+File.separator;
linux:basePath=this.getSession().getServletContext().getRealPath("/")+File.separator+"XXX"+File.separator+"XXXX"+File.separator;
故加上如下代码
String osName=System.getProperties().getProperty("os.name");
String basePath="";
if("Linux".equals(osName)||"linux".equals(osName)||"LINUX".equals(osName)){
basePath=this.getSession().getServletContext().getRealPath("/")+File.separator+"XXX"+File.separator+"XXXX"+File.separator;
}else{
basePath=this.getRequest().getRealPath("/")+"XXX"+File.separator+"XXXX"+File.separator;
}
结论:本人亲测成功
更多推荐
linux与windows下读取项目文件的区别
发布评论