“/”表示根路径 

 1。“/”代表的意思不是固定的,是要根据具体的方法,才能知道在该方法中"/"所代表的含义,同样相对路径也不是固定的,需要根据具体的方法来判断具体是相对哪个路径的相对路径

  2.虽然 Java.io包下比如File类既可以用绝对路径表示,也可以用相对路径表示,但是这里相对路径指的是相对System.getProperty("user.dir")的路径,但是路径对应web应用来说不同的服务器可能不同,所以使用这些类时,建议不要使用相对路径

  3。ClassLoader类 的getResource(String name),getResourceAsStream(String name)以及ResourceBundle类的getBundle(String path)就是相对当前项目的classpath来查找资源的,这些方法帮助我们直接使用直观的相对路径来实现对文件的操作,而不用我们自己调用方法拼接成绝对路径操作

  4。得到绝对路径的方法有:

    1)得到classpath的绝对路径

      this.getClass().getResource("/").getPath();

      Thread.currentThread().getContextClassLoader().getResource(""); 

      ths.getClassLoader().getResource("");

      ClassLoader.getSystemResource("");(测试了下,web项目中获取不到)  

    2)得到当前类所在的绝对路径

      this.getClass().getResource("").getPath();

  5。web应用中:

      getServletContext().getRealPath(“/”):Web应用程序的根目录的绝对路径

      request.getContextPath():获得web根目录。比如:/demo

      此时的classpath的绝对路径其实已经包含了Web应用程序的根目录的绝对路径,所有查找类路径之外的资源最好使用getServletContext().getRealPath(“/”),而查找类路径之内的资源就使用相对classpath的路径的操作方法来操作(推荐),或者得到classpath的绝对路径拼接得到绝对路径再操作(不推荐)

      很多框架的配置文件的配置都是用classpath来找这是为了通用,因为框架不知道用户的目录结构,直接从类路径下开始找就好了

    

   6。URI和URL的理解:

    1.定义:

      URI : Universal Resource Identifier 统一资源标志符

      URL : Universal Resource Locator 统一资源定位符

      URN :Universal Resource Name 统一资源名称

      URI是抽象的定义,不管用什么方法表示,只要能定位一个资源,就叫URI,也就是说不管是URL还是URN都是URI的一个子集

      具体的定位方式有:

        1)URL,用地址定位(也就是说不包含位置信息的URI加上了位置信息和访问协议也就可以叫做URL,也因为URL包含了具体的地址信息,所有可以通过URL打开操作该资源的流);

        2)URN 用名称定位。

    2.一个URL通常包括三部分:

      1)方案部分(scheme):比如http://,ftp://,mailto:等

      2)地址部分:包含资源所在的位置信息

      3)资源部分:xxx.html

      所以我们浏览器地址栏常见的都是URL,当然也是URI。

web项目中的路径问题的更多相关文章

  1. JAVA WEB项目中各种路径的获取

    JAVA WEB项目中各种路径的获取 标签: java webpath文件路径 2014-02-14 15:04 1746人阅读 评论(0) 收藏 举报  分类: JAVA开发(41)  1.可以在s ...

  2. web项目中各种路径的获取(复制,为以后好找资源)

    web项目中各种路径的获取 1.可以在servlet的init方法里 String path = getServletContext().getRealPath("/"); 这将获 ...

  3. 理解java Web项目中的路径问题

    本文以项目部署在tomcat服务器为例,其他相信也是一样的. 先说明请求页面的写法,在web中,页面路径主要写的有以下几种 1.请求重定向 2.浏览器的请求被服务器请求到新页面(我称为“转发”) 3. ...

  4. (转)Java web 项目中文件路径

    文件路径分为绝对路径和相对路径,在项目中页面跳转.配置文件读写.文件上传下载等等许多地方都涉及到文件路径问题. 一篇好文转载于此:http://blog.csdn.net/shendl/archive ...

  5. web项目中各种路径的获取

    以工程名为/DemoWeb为例: 访问的jsp为:http://localhost:8080/DemoWeb/test/index.jsp 1 JSP中获得当前应用的相对路径和绝对路径 (1)得到工程 ...

  6. web项目中各种路径的获取HttpServletRequest

    以工程名为/DemoWeb为例: 访问的jsp为:http://localhost:8080/DemoWeb/test/index.jsp 1 JSP中获得当前应用的相对路径和绝对路径 (1)得到工程 ...

  7. web项目中获取各种路径的方法

    ~Apple   web项目中各种路径的获取 1.可以在servlet的init方法里 String path = getServletContext().getRealPath("/&qu ...

  8. 理解JavaWeb项目中的路径问题——相对路径与绝对路径

    背景: 在刚开始学习javaweb,使用servlet和jsp开发web项目的过程中,一直有一个问题困扰着我:servlet 和 jsp 之间相互跳转,跳转的路径应该如何书写,才能正确的访问到相应的s ...

  9. java web项目中 获取resource路径下的文件路径

    public GetResource{ String path = GetResource.class.getClassLoader().getResource("xx/xx.txt&quo ...

随机推荐

  1. Python3基础 os chdir 改变工作目录

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  2. luogu3935 Calculating

    标题也许叫整除分块吧 求\(1\)到\(n\)因数的个数\(\sum_{i=1}^n(\sum_{d|n}1)\) 范围\(1e14\)时限3s \(n\sqrt{n}\)的暴力铁定gg 分开考虑 \ ...

  3. POJ 1845 Sumdiv(求因数和 + 逆元)题解

    题意:给你a,b,要求给出a^b的因子和取模9901的结果. 思路:求因子和的方法:任意A = p1^a1 * p2^a2 ....pn^an,则因子和为sum =(1 + p1 + p1^2 + . ...

  4. MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句

    查询所有数据库占用磁盘空间大小的SQL语句: ,),' MB') as data_size, concat(,),'MB') as index_size from information_schema ...

  5. HDU 2243 考研路茫茫——单词情结(AC自动机+矩阵快速幂)

    http://acm.hdu.edu.cn/showproblem.php?pid=2243 题意: 给出m个模式串,求长度不超过n的且至少包含一个模式串的字符串个数. 思路: 如果做过poj2778 ...

  6. [原][库][c++]tinyxml使用小结

    参考:http://blog.csdn.net/L_Andy/article/details/40615517 tinyxml官网: http://www.grinninglizard.com/tin ...

  7. vuejs2点滴

    在Vue定义一个不被添加getter setter 的属性: https://github.com/vuejs/vue/issues/1988 博客: 0.vux的x-input源码分析. http: ...

  8. JAVA反射会降低你的程序性能吗?

    原文出处 早两天写了<从把三千行代码重构成15行代码谈起>这篇文章,看到评论中有一些同学的回复还是在质疑反射的性能,好像程序用上了反射,就像开上了拖拉机似的.本来我觉得这个话题没有什么好讨 ...

  9. Cookie/Session机制详解(非原创)

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

  10. gleez安装报错

    1gleez安装时候常见的问题就是别人在代码版本服务器上安装好了,一般开发者都会去对文件做一些忽略,所以导致有几个文件是没有的.比如: bootstrap.php      .htaccess 2.如 ...