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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM