`
felly822
  • 浏览: 9567 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

获取j2ee项目服务器根目录

 
阅读更多
   Jsp 能使用HttpServletRequest对象getRealPath("/") 方法,或者getServletContext().getRealPath("/"); 屡试不爽,可是这次却不行! 看了servlet的实现后,问题逐步得到解决。

         做上传或文件读取的时候,常常被取一些文件的相对路径或者绝对路径所搞昏迷了,在本地调试完全没问题,运行很良好,可发布到测试环境就出现了差池,只取得了相对路径。
发布都是打包成*.war文件的,在tomcat下,一般应用程序是不打包的,所以可以实现用上面方法取绝对路径,可是在weblogic下是打包成*.war,就无法实现保存文件在特定的服务器目录了。
     
解决方案如下:
一、存储到数据库中,访问用一个servlet实现。比较难受点。
二、如果你用的是weblogic 7以上,并且自己可以控制服务器,那么你可以不用打包成war,直接以普通目录形式发布就可以了。
三、自己写个读取项目根目录的方法,这样无论怎么部署,有了项目的根目录,我就能轻而易举的定位到我的资源了。
对于自己的特殊要求,我当然选择方案三了。问题解决!

以下是源代码:

public static String homePath(Object obj, String className) {
java.net.URL url = obj.getClass().getResource(className);
String absolutePath = url.getPath();//获取全路径信息
String urlRoot = "";//路径临时处理缓存
int pos = absolutePath.indexOf("WEB-INF");//判断根目录
if (pos != -1)
urlRoot = absolutePath.substring(0, pos);
else
urlRoot = absolutePath.substring(0, 3);//无相关文件去盘符下

if (urlRoot.substring(urlRoot.length() - 1, urlRoot.length()).equals(
System.getProperty("file.separator"))
|| urlRoot.substring(urlRoot.length() - 1, urlRoot.length())
.equals("/")) {
urlRoot = urlRoot.substring(0, urlRoot.length() - 1);//除去最后的分隔符
}
return urlRoot.substring(1, urlRoot.length());// 除去路径最开头的' /'
分享到:
评论

相关推荐

    MySQL 5.1参考手册中文版

    目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能...

    mysql官方中文参考手册

    目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 ...

    MySQL 5.1参考手册

    目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 ...

    MySQL5.1参考手册官方简体中文版

    3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项 3.7.2. 显示孪生对状态的表 3.8. 与Apache一起使用MySQL 4. MySQL程序概述 4.1. MySQL程序概述 4.2. 调用MySQL程序 4.3. 指定程序选项 4.3.1. 在命令行上使用...

    MySQL 5.1参考手册 (中文版)

    目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 ...

    mysql5.1中文手册

    目录 <br>前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性...

    MySQL 5.1官方简体中文参考手册

    目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     4.2 建立项目的目录结构  4.3 运行hbm2java工具  4.4 运行hbm2ddl工具  4.5 使用XML格式的配置文件  4.6 小结  4.7 思考题 第5章 对象-关系映射基础  5.1 持久化类的属性及访问方法  5.1.1 基本类型属性和...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     4.2 建立项目的目录结构  4.3 运行hbm2java工具  4.4 运行hbm2ddl工具  4.5 使用XML格式的配置文件  4.6 小结  4.7 思考题 第5章 对象-关系映射基础  5.1 持久化类的属性及访问方法  5.1.1 基本类型属性和...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     4.2 建立项目的目录结构  4.3 运行hbm2java工具  4.4 运行hbm2ddl工具  4.5 使用XML格式的配置文件  4.6 小结  4.7 思考题 第5章 对象-关系映射基础  5.1 持久化类的属性及访问方法  5.1.1 基本类型属性和...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

     4.2 建立项目的目录结构  4.3 运行hbm2java工具  4.4 运行hbm2ddl工具  4.5 使用XML格式的配置文件  4.6 小结  4.7 思考题 第5章 对象-关系映射基础  5.1 持久化类的属性及访问方法  5.1.1 基本类型属性和...

Global site tag (gtag.js) - Google Analytics