轉自:http://blog.sina.com.cn/s/blog_6cbe0cff0101j6jl.html
request.getContextPath()是在開發Web項目時,經常用到的方法,其作用是獲取當前的系統路徑。
當使用Tomcat作為Web服務器,項目一般部署在Tomcat下的webapps的目錄下。具體來說主要用兩種部署的路徑:
一是將web項目中的webRoot下的文件直接拷貝到webapps/ROOT下(刪除ROOT下的原有文件);
另一中方法在Tomcat下的webapps中創建以項目名稱命名(當然也可以用其他的名稱)的文件夾,並將webRoot下的文件直接拷貝到該文件夾下。
對於第一部署方法,request.getContextPath()的返回值為空(即:"",中間無空格,注意區分null)。
對於第二部署方法,其返回值為:/創建的文件夾的名稱。
另外,對於SmartUpload.downloadfile()方法,其文件名參數中的路徑部分是一個相對路徑,並不包含由request.getContextPath()函數讀取的部分,而僅僅包含該路徑下的路徑。
getContextPath效果
2007年07月13日 星期五 下午 01:11
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
path IS: /jspSmartUpLoad
basePath IS: http://yangm1203.oicp.net:8080/jspSmartUpLoad/
request.getScheme() IS: http
request.getServerName() IS: yangm1203.oicp.net
request.getServerPort() IS: 8080
idea中設置當前項目的目錄:
現在設置的是test,相當於把項目部署到了webapps下的test目錄下,如果不設置,默認是/,就是ROOT目錄下
現在訪問的路徑就應該是:losthost:8080/test/xxxxx