zoukankan      html  css  js  c++  java
  • web项目中的路径问题

      “/”表示根路径 

     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。

  • 相关阅读:
    MySQL 初识别语句,数据库、表、行的增删改查
    mysql如何从全备文件中恢复单个库或者单个表
    Shell 同步时间脚本
    app手机端连接tomcat电脑端服务器
    大于号转义符>---小于号转义符<
    轻松实现页面提交中
    重复提交问题(一)
    json
    ExtJs 6.0+快速入门,ext-bootstrap.js文件的分析,各版本API下载(一)
    ExtJS 6 如何引入Dashboard模版
  • 原文地址:https://www.cnblogs.com/wanjn/p/7439856.html
Copyright © 2011-2022 走看看