Java Web开发中路径问题小结
(1)?Web開發(fā)中路徑的幾個基本概念
假設(shè)在瀏覽器中訪問了如下的頁面,如圖1所示:
圖1
Eclipse中目錄結(jié)構(gòu)如圖2所示:
圖2
那么針對這個站點的幾個基本概念表述如下:
1.?web站點的根目錄:http://localhost:8080/
2.?web應(yīng)用的的根目錄:http://localhost:8080/test/
3.同級目錄:http://localhost:8080/test/articles/article1.jsp和http://localhost:8080/test/articles/article2.jsp?就是處于同級目錄。
二.幾個路徑相關(guān)函數(shù)的返回值:
在TestURL.jsp文件中測試了三個路徑相關(guān)函數(shù):
1.?getRequestURI()
2.?getContextPath()
3.?getServletPath()
結(jié)果如圖3所示:
圖3
三.web.xml中的路徑
Servlet?映射?<url-pattern>/xx</url-pattern>?中的?“/”?代表當(dāng)前?web?應(yīng)用的根路徑。
這個只要思考一下就能得出結(jié)論:所有的web.xml文件都是描述某個web應(yīng)用的部署相關(guān)信息,所以“/”只能代表當(dāng)前?web?應(yīng)用的根路徑,而不是指向web站點的根目錄
四.轉(zhuǎn)發(fā)和重定向中的路徑問題
1.?如果沒有“/”,如request.getRequestDispatcher("hello.jsp ").forward(request, response)?和response.sendRedirect(" hello.jsp ")?就表示在同級目錄中尋找login.jsp文件。
2.?如果路徑中包含“/”(注意,這里的“/”是指路徑中的第一個“/”)
a,?轉(zhuǎn)發(fā)
如request.getRequestDispatcher("/hello.jsp").forward(request, response)?:代表到http://localhost:8080/test/?下目錄尋找hello.jsp文件。
b,重定向
如response.sendRedirect("/hello.jsp"):代表到http://localhost:8080/?目錄下尋找hello.jsp文件
五.<form action=“/xxx”>?或?<a href=“/xxx”></a>中的路徑
“/”代表的是?web?站點的根路徑.。
因為超鏈接可以鏈接到任何需要的目標(biāo)資源,?所以?/?代表的肯定不是當(dāng)前?web?應(yīng)用的根路徑,?而是當(dāng)前?web?站點的根路徑。
六.Page標(biāo)簽中errorPage屬性的路徑問題
errorPage屬性值如果以”/”開頭表示,表示相對于當(dāng)前WEB應(yīng)用程序的根目錄,否則,表示相對與當(dāng)前頁面。
?
轉(zhuǎn)載于:https://www.cnblogs.com/baiduligang/p/4247531.html
總結(jié)
以上是生活随笔為你收集整理的Java Web开发中路径问题小结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 想做一个整合开源安全代码扫描工具的代码安
- 下一篇: linux中如何查找文件中内容