淺談Servlet轉(zhuǎn)發(fā)到JSP頁面的路徑問題(必看)
一、現(xiàn)象與概念
1. 問題
在Servlet轉(zhuǎn)發(fā)到JSP頁面時(shí),此時(shí)瀏覽器地址欄上顯示的是Servlet的路徑,而若JSP頁面的超鏈接還是相對于該JSP頁面的地址且該Servlet和該JSP頁面不在同一個(gè)文件夾下時(shí),則會(huì)出現(xiàn)路徑混亂問題。
2. 絕對路徑概念
相對于contextPath(當(dāng)前Web應(yīng)用的上下文)的路徑。
解決方案:超鏈接用絕對路徑而不是相對路徑。若/代表的是站點(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頁面的路徑問題(必看)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
jsp中使用frameset框架 邊框固定不讓更改邊框的大小
有時(shí)候可能要對自己布局好的頁面不讓用戶更改邊框的大小,這樣我們可以在frame里面添加noresize="noresize"屬性就可以實(shí)現(xiàn)其中的功能2014-07-07
jsp實(shí)現(xiàn)點(diǎn)擊help打開chm文件
有個(gè)javaweb項(xiàng)目,需要在portal上面點(diǎn)擊help即可打開“幫助.chm”文件,下面與大家分享下jsp如何打開chm文件2014-09-09

