日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

forward、redirect、浏览器的路径问题

發(fā)布時(shí)間:2025/4/14 HTML 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 forward、redirect、浏览器的路径问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


瀏覽器:

1、路徑以“/”開頭,瀏覽器會(huì)把http://localhost:8080/作為根目錄

<img src="http://images.cnblogs.com/mark_arrow_03.gif" width="14" height="14"/> 在sysmgr文件中。

瀏覽器請(qǐng)求:http://zmg-pc:8088/images/mark_arrow_03.gif?? 失敗

2、路徑以“../”開頭,瀏覽器會(huì)把當(dāng)前所在的目錄作為根目錄,查找上一級(jí)目錄

<img src="../images/mark_arrow_03.gif" width="14" height="14"/> 在sysmgr文件中。

瀏覽器請(qǐng)求:http://zmg-pc:8088/DRP/images/mark_arrow_03.gif?? 成功

3、以文件名開頭,瀏覽器會(huì)把當(dāng)前所在的目錄作為根目錄,查找子目錄

<img src="images/mark_arrow_03.gif" width="14" height="14"/> 在sysmgr文件中。

瀏覽器請(qǐng)求:http://zmg-pc:8088/DRP/sysmgr/images/mark_arrow_03.gif? 失敗

?

?

forward,redirect

在相對(duì)路徑上,兩者的表現(xiàn)是相同的。

看看lingo-sample/03-03/這個(gè)例子,如果我們?nèi)フ?qǐng)求relative/forward.jsp或redirect.jsp,然后從這里再轉(zhuǎn)向它下面的result/result.jsp會(huì)怎樣呢?

  • forward的例子:

    <%request.getRequestDispatcher("result/result.jsp").forward(request, response);%>

    這里的相對(duì)路徑就是result/result.jsp。

    因?yàn)閯倓傉?qǐng)求的test.jsp是在/03-03/relative/下,所以我們的當(dāng)前路徑就是/03-03/relative/,執(zhí)行forward的時(shí)候會(huì)尋找當(dāng)前路徑下的result/result.jsp,/03-03/relative/result/result.jsp,找到之后便轉(zhuǎn)發(fā)請(qǐng)求。

  • redirect的例子:

    <%response.sendRedirect("result/result.jsp");%>

    這里的相對(duì)路徑也是result/result.jsp。

    因?yàn)閯倓傉?qǐng)求的test.jsp是在/03-03/relative/下,所以我們的當(dāng)前路徑就是/03-03/relative/,
    執(zhí)行redirect的時(shí)候會(huì)把當(dāng)前路徑加上(相當(dāng)于尋找當(dāng)前路徑下)result/result.jsp,把結(jié)果作為重定向的地址發(fā)送給瀏覽器,
    瀏覽器再去請(qǐng)求/03-03/relative/result/result.jsp,從而得到響應(yīng)。

  • 3.4.1.2. 絕對(duì)路徑

    問題出現(xiàn)了,絕對(duì)路徑在forward和redirect中出現(xiàn)了差別,還是剛才的情況,但使用絕對(duì)路徑的時(shí)候?qū)懛ū悴煌恕?/span>

  • forward的例子:

    <%request.getRequestDispatcher("/relative/result/result.jsp").forward
    (request, response);%>

    這里的絕對(duì)路徑就是/relative/result/result.jsp。

    在本地測試時(shí),forward把http://localhost:8080/03-03/當(dāng)作根路徑,在它的基礎(chǔ)上計(jì)算絕對(duì)路徑。為什么?

    因?yàn)檫@是由jsp的部署方式?jīng)Q定的,webapp里可以放好多項(xiàng)目,為了讓這些項(xiàng)目可以互不影響、獨(dú)立運(yùn)行,不能讓請(qǐng)求從一個(gè)項(xiàng)目直接在服務(wù)器內(nèi)部轉(zhuǎn)移到另一個(gè)項(xiàng)目。為了防止出現(xiàn)這種情況,Tomcat在執(zhí)行forward的時(shí)候干脆把項(xiàng)目的路徑當(dāng)作根目錄,開發(fā)者看不到其他項(xiàng)目,也就不會(huì)出現(xiàn)問題了。

  • redirect的例子:

    <%response.sendRedirect("/03-03/absolute/result/result.jsp");%>

    這里的絕對(duì)路徑卻是/03-03/absolute/result/result.jsp。

    在本地測試時(shí),redirect把http://localhost:8080/當(dāng)作根路徑,在它的基礎(chǔ)上計(jì)算絕對(duì)路徑。

    因?yàn)閞edirect會(huì)讓瀏覽器重新發(fā)起一個(gè)新請(qǐng)求,所以不會(huì)攪亂服務(wù)器里多個(gè)項(xiàng)目之間的關(guān)系,
    也就不需要對(duì)它做限制,如果需要在多個(gè)項(xiàng)目之間進(jìn)行跳轉(zhuǎn),就只能使用redirect。不過因?yàn)?/span>
    重新發(fā)起了新的請(qǐng)求,上次請(qǐng)求的那些數(shù)據(jù)都會(huì)丟失,如果有什么重要的數(shù)據(jù),記得要重新設(shè)置。

  • 總結(jié):

    以“文件名開頭”,相對(duì)路徑,都在當(dāng)前目錄下找。

    以“../”開頭的,相對(duì)路徑,都在當(dāng)前目錄的上一級(jí)目錄找。

    以“/”開頭,絕對(duì)路徑,forward以當(dāng)前項(xiàng)目文件為根目錄找,瀏覽器和redirect以http://localhost:8080/為根目錄找。

    轉(zhuǎn)載于:https://www.cnblogs.com/zengmiaogen/archive/2012/04/15/2450379.html

    總結(jié)

    以上是生活随笔為你收集整理的forward、redirect、浏览器的路径问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。