文件路径问题解决方案

系列文章目录

大家好,欢迎大家来到@别叫小宋的小博客,本次博主为大家分享的是以前学习时间遇到的一个问题——文件路径问题



前言

文件路径问题是大家学习和做实战的时候大家经常出现的一个小问题。


一、文件路经

	文件路径就是指的我们进行文件上传,或者输入输出流读取数据的时候写的路径。

二、文件路径的分类:

	文件路径分为绝对路径和相对路径。

绝对路径就是我们的路径从我们的盘符开始的,比如Windows里面的C盘这样的。
相对路径就是说相对于谁说的,它的路径是什么,不同的文件的相对位置也是不同的。

二、文件路径的具体解释:

1.相对路径

1.在我们的Servlet里看写文件上传或者下载时候,使用的有输入输出流的时候,我们使用的环境是tomcat,这个时候我们相对路径是相对于运行环境来说的,这个时候就是相对于tomcat的bin目录的,所以就不能访问到正确的地址了,故在Servlet里面不能使用相对路径的。
2.当我们是写一个普通的java文件的时候,我们使用文件的时候,在输入地址的时候,是我们的本地在运行,不是我们的tomcat,相对的位置是tomcat的bin目录。在我们使用绝对路径的时候,我们需要获取的是我们项目所放的位置,这个时候就需要我们用到的一个方法。

this.getServletContext().getRealPath();
//我们可以通过这个方法取获取我们的项目琐杂的路径。不管我们的项目所部署在什么位置,都可以获取到,因为它是我们的Servlet提供的知道我们的Tomact部署的位置

在我们不同的java工程中,如果使用输入输出流上传的文件,下载文件的时候,我们的路径可以写我们编译后的文件位置,也可以写源文件的位置。这里我们要注意区别,web工程是要发布的,我们用的就是编译后的文件,而我们的普通java项目是不用发布的,所以大写本地的源代码的路径也是可以的。

相对路径有一个口诀:
1.找到本地资源在哪里
2.找到目标资源在哪里
在这里插入图片描述
在本资源的上一级开始,如果不在同一个文件夹中,你就…/直到我们相同的文件夹,然后按照目标资源的路径往下写就行了,如果我们是在前端访问Servlet的话,记住:
在这里插入图片描述
跟我们的html一样的,不要管它的源文件的层次结构,只记住:http://ip地址:端口/虚拟路径/资源的路径

2.跳转路径

首先需要明确的一点就是跳转路径只与浏览器的地址有关,跟我们文件的位置没有一点关系,我们的地址栏中前面的http://ip地址/虚拟路径/资源地址。这就是我们的跳转路径,默认情况下,我们的http://ip地址是没有固定的写法

虚拟路径:我们的项目起的名字,也可以没有
资源路径:我们要访问的文件的路径

3.绝对路径

特点就是以/来头的。分为两类
客户端路径:
	特点就是都是以/开头的。分为两类:
	客户端路径:
	它分为完整路径和简化路径。所谓完整路径就是说:就是我们地址栏写的那种,带有http的那种。即:http://ip地址:端口/虚拟路径/资源路径
	简化路径就是:/虚拟路径/资源的路径
	服务器路径:只有请求转发是服务端路径
	写法:/资源路径;前面的虚拟路径,tomcat已经为我们自动加上了。

``

总结

虽然相对路径与绝对路径我们写那个都行,但是我们一般都有一下规定:
1.在后台的Servlet我们用绝对路径,使用getRealPath获取真实路径
2.在jsp页面中,我们也使用绝对路径
3.在html页面中,我们使用相对路径

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值