一、現(xiàn)象與概念
1. 問題
在Servlet轉(zhuǎn)發(fā)到JSP頁面時(shí),此時(shí)瀏覽器地址欄上顯示的是Servlet的路徑,而若JSP頁面的超鏈接還是相對(duì)于該JSP頁面的地址且該Servlet和該JSP頁面不在同一個(gè)文件夾下時(shí),則會(huì)出現(xiàn)路徑混亂問題。
2. 絕對(duì)路徑概念
相對(duì)于contextPath(當(dāng)前Web應(yīng)用的上下文)的路徑。
解決方案:超鏈接用絕對(duì)路徑而不是相對(duì)路徑。若/代表的是站點(diǎn)的根目錄,在其前面加上contextPath。
<a href="<%= request.getContextPath() %>/TestServlet" rel="external nofollow" >To B</a>
二、JavaWeb開發(fā)中的'/'含義總結(jié)
1. 當(dāng)前Web應(yīng)用的根路徑
'/'代表http://localhost:8080/contextPath/ :由Servlet來處理的地址
1)轉(zhuǎn)發(fā):request.getRequestDispatcher("/path/b.jsp").forword(request, response);
2)web.xml文件中映射Servlet訪問路徑
<servlet-mapping> <servlet-name>TestServlet</servlet-name> <url-pattern>/TestServlet</url-pattern></servlet-mapping>
3)各種定制標(biāo)簽中的'/'。
2. Web站點(diǎn)的根路徑
'/'代表http://localhost:8080/ :由瀏覽器來處理的地址
1)超鏈接:<a href="/TestServlet" rel="external nofollow" >To B</a>
2)form標(biāo)簽中的action:<form action="/b.jsp">
3)重定向:response.sendRedirect("/b.jsp");
以上這篇淺談Servlet轉(zhuǎn)發(fā)到JSP頁面的路徑問題(必看)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VeVb武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選