日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

做了個(gè)jsp&servlet路徑狀態(tài)的測(cè)試,花了偶幾個(gè)小時(shí),把結(jié)果貼出共享

做了個(gè)jsp&servlet路徑狀態(tài)的測(cè)試,花了偶幾個(gè)小時(shí),把結(jié)果貼出共享

更新時(shí)間:2022-04-26 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

PS:這里怎么貼html阿,害得我還得格式化文本!




路徑狀態(tài)測(cè)試

目的
測(cè)試jsp之間互相跳轉(zhuǎn),servlet跳轉(zhuǎn)jsp環(huán)境下絕對(duì)路徑和相對(duì)路徑的狀態(tài)
尋找出一種通用的解決辦法


資源

打成的WAR包
MyWAR

組成文件
JSP
a.jsp

b/
b.jsp
ccc.jsp


Servlet

TestServlet.java mapping: /layer1/layer2/TestServlet


流程描述
1. 由a.jsp直接跳轉(zhuǎn)到b.jsp
 或
 由a.jsp提交到TestServlet,TestServlet根據(jù)a的提交選擇相應(yīng)跳轉(zhuǎn)方式(forward/sendRedirect)
 然后跳轉(zhuǎn)到b.jsp
2. b.jsp包含一系列超鏈,來顯示不同方式的跳轉(zhuǎn)后超鏈的情況
 /a.jsp
 ../a.jsp
 ../../a.jsp
 ../../../a.jsp

 ccc.jsp
 /b/ccc.jsp
 ../ccc.jsp
 ../b/ccc.jsp
 ../../ccc.jsp
 ../../b/ccc.jsp
 ../../../ccc.jso
 ../../../b/ccc.jsp

 [contextPath]/b/b.jsp



測(cè)試結(jié)果


短語替換

http://localhost:8080/ =>ip/
/MyWAR/=>war/
http://localhost:8080/MyWAR/ =>ip/war/
/MyWAR =>[contextPath](request.getContextPath())





跳轉(zhuǎn)方式直接跳轉(zhuǎn)<a ..>servlet/forward servlet/sendRedirect
 requestDispatcher.forward response.sendRedirect
---------------------+---------------------+----------------------------------+------------------------
servlet中跳轉(zhuǎn)的路徑x/b/b.jsp/war/b/b.jsp
---------------------+---------------------+----------------------------------+------------------------
跳轉(zhuǎn)后瀏覽器的地址欄 ip/war/b/b.jsp ip/war/layer1/layer2/TestServletip/war/b/b.jsp
---------------------+---------------------+----------------------------------+------------------------
b.jsp中的鏈接列表 瀏覽器狀態(tài)條出現(xiàn)的鏈接地址
<a href="這里的描述"
---------------------+---------------------+----------------------------------+------------------------
/a.jsp ip/a.jspip/a.jspip/a.jsp
../a.jsp ip/war/a.jspip/war/layer1/a.jsp ip/war/a.jsp
../../a.jspip/a.jspip/war/a.jspip/a.jsp
../../../a.jsp ip/a.jspip/a.jspip/a.jsp

ccc.jspip/war/b/ccc.jspip/war/layer1/layer2/ccc.jspip/war/b/ccc.jsp
/b/ccc.jsp ip/b/ccc.jspip/b/ccc.jspip/b/ccc.jsp
../ccc.jsp ip/war/ccc.jspip/war/layer1/ccc.jsp ip/war/ccc.jsp
../b/ccc.jsp ip/war/b/ccc.jspip/war/layer1/b/ccc.jsp ip/war/b/ccc.jsp
../../ccc.jspip/ccc.jspip/war/ccc.jspip/ccc.jsp
../../b/ccc.jspip/b/ccc.jspip/war/b/ccc.jspip/b/ccc.jsp
../../../ccc.jsp ip/ccc.jspip/ccc.jspip/ccc.jsp
../../../b/ccc.jsp ip/b/ccc.jspip/b/ccc.jspip/b/ccc.jsp


[contextPath]/b/b.jspip/war/b/b.jspip/war/b/b.jspip/war/b/b.jsp
---------------------+---------------------+----------------------------------+------------------------




總結(jié)

由上面的列表看出,只有最下面一行是有實(shí)際意義而且無論以任何方式跳轉(zhuǎn)鏈接地址都是正確無誤的
1. 在jsp中的“/”表示的根為“ip”,不包含WAR路徑
2. 在servlet中以forward方式使用的“/”表示的根為“ip/war/”,包含了WAR路徑
3. 在servlet中以sendRedirect方式使用的“/”表示的根為ip,不包含WAR路徑
4. 在servlet中以forward方式跳轉(zhuǎn),則瀏覽器的地址欄仍然為此servlet,不會(huì)改變
5. 在servlet中以sendRedirect方式跳轉(zhuǎn),則瀏覽器的地址欄改變?yōu)槟康穆窂?br>6. 相對(duì)路徑的確定是以瀏覽器的地址欄顯示的路徑為基準(zhǔn)的,而非具體的目錄結(jié)構(gòu),所以
 跳轉(zhuǎn)到同目錄下的某個(gè)頁面使用<a href="文件名">link</a>這種方式不是永久成立的
 (做asp的人不要驚訝,這里說的jsp和servlet :))
7. 為了避免jsp跳jsp,servlet跳jsp,forward方式跳轉(zhuǎn),sendRedirect跳轉(zhuǎn)產(chǎn)生的路徑問題,
 對(duì)于jsp和使用sendRedirect跳轉(zhuǎn)的servlet,采用直接使用帶
 容器路徑[String request.getContextPath()]的絕對(duì)路徑就可以徹底解決,即:
1)<%
String contextPath = request.getContextPath();
String url = contextPath + "/user/login.jsp";
 %>
 
 <a href="<%=url%>"> login</a>
 2) ....
String contextPath = request.getContextPath();
String targetPath = contextPath + "/user/login.jsp";
RequestDispatcher rd = request.getRequestDispatcher(targetPath);
rd.forward(request, response);
......

 對(duì)于使用forward跳轉(zhuǎn)的servlet,則不要加容器路徑,否則就重復(fù)出現(xiàn) 容器路徑,原因參見 2

8. 如果使用的“../”過多也不會(huì)出現(xiàn)嚴(yán)重問題,“../”最多使鏈接到達(dá)“ip/”
9. 另外,在使用
 <jsp:include page = "url" flush="true"/>
 <%@ include file="url" %>
 <%@ page errorPage = "url" %>時(shí),
 這里url使用的“/”表示的根為“ip/war/”,包含了WAR路徑

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

主站蜘蛛池模板: 一区二区三区日韩免费播放 | 女网址www女高清中国 | 亚洲欧美一区二区三区在线播放 | 黑人和白人xxxxxbbbbb | 欧美精品一区二区在线观看播放 | 欧美人成一本免费观看视频 | 日本高清免费不卡在线播放 | 天天插天天操天天射 | 四虎国产精品免费久久影院 | 99热这里只有精品在在 | 永久网站色视频在线观看免费 | 国产99免费视频 | 国产三级欧美 | 国产欧美日韩精品a在线观看 | 免费人成年短视频在线观看网站 | 国产苐1页影院草草影院 | 四虎在线观看网址 | 国产精品揄拍一区二区 | 免费精品国产日韩热久久 | 一级欧美一级日韩 | 国内精品久久久久久麻豆 | 一区二区三区视频观看 | 噜噜色图 | 偷偷狠狠的日日2020 | 美女视频永久黄网站在线观看 | 亚洲第五色综合网啪啪 | 色婷婷色99国产综合精品 | 国产福利在线视频尤物tv | 亚洲综合三区 | 国产日韩欧美综合色视频在线 | 国产在线观看一区二区三区 | 久久精品视频16 | 日韩欧美精品中文字幕 | 欧美多人 | 天堂网在线视频 | 91精品免费不卡在线观看 | 青草免费视频 | 亚洲一区二区三区免费 | 温碧霞在线aa毛片 | 丁香六月五月婷婷 | 一区二区三区福利 |