天天看點

request.getContextPath()用el表達式怎麼寫,絕對路徑:request.getRealPath

    <%=request.getContextPath()%>是解決相對路徑的問題,可傳回站點的根路徑。   

    <a href="<%=request.getContextPath()%>/XXX.jsp" target="_blank" rel="external nofollow" > //這樣獲得的是絕對路徑  

    <a href="XXX.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" mce_href="XXX.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" > //這樣獲得的是相對路徑  

    <a href="<%=request.getContextPath()%>/XXXX.jsp" target="_blank" rel="external nofollow" > 能夠更有效的防治連接配接的失效。  

    request.getContextPath()得到的是項目的名字,如果項目為根目錄,則得到一個"",即空的字條串, 如果項目為dzjc, <%=request.getContextPath()% >/ 将得到dzjc/,伺服器端的路徑則會自動加上, <a href="XXX.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" mce_href="XXX.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" > 應該就是指目前路徑下的這個xxx.jsp頁面,有時候也可以在head裡設定html:base 來解決路徑的問題,不過用的最多的還是request.getContextPath。  

    用EL來表示相同功能的EL為:${pageContext.request.contextPath}  

    request.getScheme();  

    傳回的協定名稱,預設是http  

    request.getServerName()  

    傳回的是你浏覽器中顯示的主機名  

    getServerPort()  

    擷取伺服器端口号  

    如果想得到工程檔案的實際實體路徑,可通過:<%=request.getRealPath("/")%>,這樣頁面就會輸出:d:/web 

    現在request.getRealPath("") 這個方法已經不推薦使用了  

    可以使用  

    ServletContext.getRealPath(java.lang.String) instead. request.getSession().getServletContext().getRealPath() 得到工程檔案的實際實體路徑,也就是絕對位址  

繼續閱讀