weblogic获取应用目录路径

Posted 向东方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了weblogic获取应用目录路径相关的知识,希望对你有一定的参考价值。

一.背景说明

  在项目开发过程中,本地开发用的windows+tomcat,到了生产中,就成了linux+weblogic。部署工程后,应用报错,显示获取应用目录返回为null。

  在网上查阅资料,发现在weblogic中,war包部署,就没有应用路径的说法了,所以只能返回null。

二.解决方法

    /*
     * 获取项目的根目录
     * 因为tomcat和weblogic获取的根目录不一致,所以需要此方法
     */
    private String getWebRootUrl(HttpServletRequest request){
        String fileDirPath = request.getSession().getServletContext().getRealPath("/");
        if(fileDirPath == null){
            //如果返回为空,则表示服务器为weblogic,则需要使用另外的方法
            try{
                return request.getSession().getServletContext().getResource("/").getFile();
            }catch(MalformedURLException e){
                LogUtil.MSG.info("获取项目的根目录出错!", e);
                throw new BizException("获取项目的根目录出错!");
            }
        }else{
            return fileDirPath;
        }
    }

tomcat下输出 E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\bqsims_client\

weblogic下输出 /home/weblogic/Oracle/Middleware/Oracle_Home/user_projects/domains/domain7101/servers/AdminServer7101/tmp/_WL_user/bqsims_client/i3sdnr/war/

以上是关于weblogic获取应用目录路径的主要内容,如果未能解决你的问题,请参考以下文章

weblogic上获取资源路径

(转) 修改weblogic部署的应用名称

java项目部署weblogic后获取不到项目文件路径

weblogic上的类路径和类加载

删除weblogic应用缓存,weblogic 缓存的删除方法

weblogic修改安装路径教程