request.getContextPath()返回值问题

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

posted @ 2017-08-30 16:50  stAr_1  阅读(2364)  评论(0编辑  收藏  举报