天天看點

JavaWeb中絕對路徑和相對路徑總結:開發時一定要寫絕對路徑,即在前面加上“/”

以下是參考别人的部落格做出的自我總結:

詳情可參考https://www.cnblogs.com/jasonHome/p/5551358.html

1.絕對路徑的問題

  1)開發時建議編寫”絕對路徑”:寫絕對路徑肯定沒問題,但是寫相對路徑可能會出問題

  

2)編寫絕對路徑可以避免上述問題:

  ① 在javaWEB中什麼叫“絕對路徑”:相對于目前 web 應用的根路徑(contextPath)的路徑。即,任何的路徑都必須帶上contextPath

    如:http://localhost:8080/(目前web應用的上下文路勁)/a.jsp

  ② 如何編寫:若 / 代表站點目錄,則在前面加上 contextPath 就可以

      request.getContextPath();

      application.getContextPath();

3)javaWEB 開發中的 / 到底代表什麼?

  ① 目前 web 應用的根路徑:http://localhost:8080/contextPath/ :若 / 需要交Servlet 容器來處理

  > 請求轉發時:request.getRequestDispatcher(“/b.jsp”).forward(request,response);

  > 在web.xml檔案中,映射 servlet 通路路徑:

      

        TestServlet

        /TestServlet

      

  > 各種定制标簽中的 /

  ② WEB 站點的根路徑:http://localhost:8080/ :若 / 交由浏覽器來處理

  > 超連結:超連結

  > 表單中的action:

  > 做請求重定向的時候:response.sendRdirect(“/a.jsp”)

總結:開發時一定要寫絕對路徑,即在前面加上“/”

當加/ 即為絕對路徑

不加/ 即為相對路徑

例:ls opt

ls /home/oracle/opt/

繼續閱讀