在jsp的初學過程中,我們很有可能會遇到url的錯誤,在進行設置的時候,有的絕對路徑,有的相對路徑,在這裏我總結了一點想法:
所有的面對瀏覽器端的,就是絕對路徑,面對服務器的就是相對路徑。
比如我們的超鏈接,表單的提交的等都是面對與瀏覽器的,所以我們經常會用絕對路徑
比如我們在jsp中經常用到的<jsp:forward>, request.getRequestDispatcher("new.jsp").forward(request, response);請求轉發,和response.sendRedirect("new.jsp")請求重定向,都是使用的相對路徑。
我們不能每個頁面需要絕對路徑都寫上絕對路徑一般的的錯誤都是出現在絕對路徑那裏,我一般會設置這個頁面的基礎路徑
<% String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()
+ request.getContextPath() + "/"; %>
<base href="<%=basePath %>">
這句代碼就表示我的基礎路徑就是http//:localhost:8080/所在上下文(一般爲項目名)絕對路徑可以寫爲new.jsp
但是隻是到如此了嗎,不是的,有的時候我們的頁面在項目的文件中的某個jsp頁面中,要加上文件的路徑。
本人爲初學者,有神魔問題歡迎探討。