Servlet轉送到JSP頁面出現路徑問題怎麼辦?下面我們就帶大家來看看解決方法
一、現象與概念
1. 問題
在Servlet轉送到JSP頁面時,此時瀏覽器網址列上顯示的是Servlet的路徑,而若JSP頁面的超連結還是相對於該JSP頁面的位址且該Servlet和該JSP頁面不在同一個資料夾下時,則會出現路徑混亂問題。
2. 絕對路徑概念
相對於contextPath(目前Web應用的上下文)的路徑。
解:超連結用絕對路徑而不是相對路徑。若/代表的是站點的根目錄,在其前面加上contextPath。
<a href="<%= request.getContextPath() %>/TestServlet">To B</a>
二、JavaWeb開發中的'/'意義總結
1. 目前Web應用的根路徑
'/'代表localhost:8080/contextPath/ :由Servlet來處理的位址
1)轉送: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)各種自訂標籤中的'/'。
2. Web網站的根路徑
'/'代表localhost:8080/ :瀏覽器來處理的位址
1)超連結:To B
2)form標籤中的action: