getRealPath()的用法详解

关于getRealPath(),首先就要谈谈它到底是用来干什么的?那么我们就应该先了解一个网站关于虚拟路径的概念。

在一个网站中,假设我们访问http://localhost:8080/myWeb/test.jsp,那么从这个URL地址中我们看到整个的项目名叫myWeb,也知道他的虚拟路径在tomcat服务器的webapp根路径下。但是实际路径到底是不是在tomcat的webapp路径下呢?答案是,可以是也可以不是。我们默认可以把项目加载到tomcat下的webapp下但是也可以通过tomcat的server.xml去将一个实际的物理路径映射到tomcat的webapp下。在server.xml中配置如下就可以了:

那么谈了这么多getRealPath()是干什么的呢?答案显而易见了,他就是用来获取网站的实际物理路径的。通常我们可以通过request.getSession().getServletContext().getRealPath()来获取网站的物理路径。例如myWeb项目的物理路径被配置在E:/aaa下,那么我们使用getRealPath()得到的就是“E:/aaa”。

getRealPath("/upload")也可以有参数,作用就是获取在项目根路径下的子文件夹的物理路径。即E:/aaa/upload。

你可能感兴趣的:(java,web)