getServletContext()和getServletConfig()及JAVA當前路徑解決


getServletConfig()  
   
  在servlet初始化時,容器傳遞進來一個ServletConfig對象並保存在servlet實例中,該對象允許訪問兩項內容:初始化參數和ServletContext對象,前者通常由容器在文件中指定,允許在運行時向sevrlet傳遞有關調度信息,比如說 getServletConfig().getInitParameter("debug")后者為servlet提供有關容器的信息。此方法可以讓servlet在任何時候獲得該對象及配置信息。  

 
getServletContext()  

  一個servlet可以使用getServletContext()方法得到web應用的servletContext  
  即而使用getServletContext的一些方法來獲得一些值  
  比如說 getServletContext().getRealPath("/")來獲得系統絕對路徑  
   getServletContext().getResource("WEB-INF/config.xml")來獲得xml文件的內容



 Java的當前路徑解決辦法
1========================================================
Thread.currentThread().getContextClassLoader().getResource(fileName)   
    
  fileName   like   package   path:   com/xxx/xxx/aa.txt     
    
  Is   that   OK?
2========================================================
Application 可以這樣,web的服務端程式不能這樣
curDir = System.getProperty("user.dir");
fileBar= System.getProperty("file.separator");
則上例中的數據目錄,可表示為 curDir+fileBar+"DataBase"
3========================================================

JSP PATH:

<%

    String curDir = System.getProperty("user.dir")+System.getProperty("file.separator");
    out.println(curDir+"</br>");
    
    curDir=application.getRealPath(request.getRequestURI());
    out.println("GetRealPath:"+curDir+"</br>");
    
    curDir=application.getRealPath("/");
    out.println("RootPath:"+curDir+"</br>"); 
    
    curDir=(new File(application.getRealPath(request.getRequestURI()))).getParent();
    out.println("ParentPath:"+curDir+"</br>"); 
     %>

4======================================================

Servlet中獲得當前應用的相對路徑和絕對路徑
 根目錄所對應的絕對路徑:request.getServletPath();
 文件的絕對路徑    :request.getSession().getServletContext().getRealPath
(request.getRequestURI())   
 當前web應用的絕對路徑 :servletConfig.getServletContext().getRealPath("/");
     (ServletContext對象獲得幾種方式:
       Javax.servlet.http.HttpSession.getServletContext() 
       Javax.servlet.jsp.PageContext.getServletContext() 
       Javax.servlet.ServletConfig.getServletContext() 
     )


免責聲明!

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



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