转自: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