絕對路徑與相對路徑問題
阿新 • • 發佈:2017-07-16
let contex red jsp tex 文件夾 cti res div 二、JavaWeb開發中的‘/‘含義總結
一、現象與概念
1. 問題
在Servlet轉發到JSP頁面時,此時瀏覽器地址欄上顯示的是Servlet的路徑,而若JSP頁面的超鏈接還是相對於該JSP頁面的地址且該Servlet和該JSP頁面不在同一個文件夾下時,則會出現路徑混亂問題。
2. 絕對路徑概念
相對於contextPath(當前Web應用的上下文)的路徑。
解決方案:超鏈接用絕對路徑而不是相對路徑。若/代表的是站點的根目錄,在其前面加上contextPath。
<a href="<%= request.getContextPath() %>/TestServlet">To B</a>
二、JavaWeb開發中的‘/‘含義總結
1. 當前Web應用的根路徑
‘/‘代表http://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站點的根路徑
‘/‘代表http://localhost:8080/ :由瀏覽器來處理的地址
1)超鏈接:<a href="/TestServlet">To B</a>
2)form標簽中的action:<form action="/b.jsp">
3)重定向:response.sendRedirect("/b.jsp");
絕對路徑與相對路徑問題