一、相对路径与绝对路径

  1、相对路径:

      相对路径指的是相对于当前文件所在目录的路径!

      相对路径易出问题:

          当在页面间相互跳转时不会产生问题;

          当从Servlet中转发到指定页面时,服务器会相对于当前Servlet所在位置,而不是访问Servlet的页面的路径,也就是相对于当前项目的根目录,

            当页面位于WebContent的子目录下时,会产生错误。

  2、 绝对路径:

      绝对路径是以/开头表示的

      浏览器解析时,/代表http://localhost:8080/【服务器的根目录】

      服务器解析时,/代表 http://localhost:8080/项目名/ 【项目的根目录】

      1)常见的路径:
        url-pattern:
        转发的路径:
          这两个路径都是由服务器端解析,/代表项目的根目录

        重定向的路径
        页面中的路径
          这两个路径都是由浏览器端解析,/代表服务器的根目录

相关知识:

  java web项目发布时,其实只将WebContent文件夹部署到服务器上,并将文件夹名WebContent改为项目名,java源代码并不发布,而是运行存放在WebContent—>WEB-INF—>classes目录下的经过编译的class字节码文件。

  因此,上面提到的项目根目录指:到WebContent的目录路径

二、实际应用:

  在实际开发中,我们一般建议使用绝对路径。

  若一定想在页面中使用相对路径,可以在页面<head>中添加<base />标签,<base />标签中的href属性,可用来指定页面中相对路径的前缀

    <base>标签

      <!-- base标签由一个href属性,这个属性可以做为我们在页面中相对路径的前缀
      也就是说:我们在当前页面中写的相对路径,它会默认以base标签中的href
      属性值做为前缀,所以base标签可以让我们以使用相对路径的方式来使用绝对路径!
      base标签仅仅对相对路径起作用,对绝对路径不起作用!-->
        <base href="http://localhost:8080/servlet01/html/"/>

转载于:https://www.cnblogs.com/java-zmj/p/7839195.html

Java Web中相对路径与绝对路径的分析相关推荐

  1. java web 中的转发和重定向路径问题

    为什么80%的码农都做不了架构师?>>>    假设应用程序的 contextPath 为 /ctx,在 http://localhost:8080/ctx/a/b 资源中,我们转发 ...

  2. 用servlet路径访问一个html,java web中servlet、jsp、html 互相访问的路径问题

    在html">java web种经常出现 404找不到网页的错误,究其原因,一般是访问的路径不对. html">java web中的路径使用按我的分法可以分两种情况,当 ...

  3. java webproject中logback换配置文件的路径

    java webproject中logback换配置文件的路径 本人小站点:   http://51kxd.com/  欢迎大家不开心的时候訪问訪问,调节一下心情 web.xml中配置: <!- ...

  4. java获取当前项目相对路径,在JAVA文件中获取该项目的相对路径

    在JAVA文件中获取该项目的相对路径 1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如: C:\xyz\test.txt 代表了test.t ...

  5. JAVA web中的盒子模型

    JAVA web中的盒子模型 1.认识盒子模型:所谓盒子模型,就是把HTML页面中的元素,看作是一个个矩形的盒子,也就是一个个盛装内容的容器.每个矩形都由元素的内容.内边距.边框.外边距组成. 例: ...

  6. java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别

    java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别 参考文章: (1)java ...

  7. Java Web中的中文编码问题分析

    一.为什么需要编码 在计算机中存储信息的最小单位是1个字节,即8bit,所以能标识的最大字符范围是0~255,而人类自然语言中例如汉语.日语要表示的符号太多,无法单纯用一个字节来完全表示,为了解决这个 ...

  8. java 控制jsp_JSP学习之Java Web中的安全控制实例详解

    普通用户界面 修改登录的Servlet,修改后的代码如下: LoginProcess.java代码: package servlet; import javabean.User; import jav ...

  9. 第三章 深入分析Java Web中的中文编码问题

    3.1 几种常见的编码格式 3.1.1 为什么要编码 一个字节 byte只能表示0~255个符号,要表示更多的字符,需要编码. 3.1.2 如何翻译 ASCII码:有128个,用一个字节的低7位表示. ...

  10. java web 中 读取windows图标并显示

    java web中读取windows对应文件名的 系统图标 ....显示 1.获取系统图标工具类 package utils;  import java.awt.Graphics;  import j ...

最新文章

  1. vscode解决java无法输入(scanner)问题
  2. OpenGL material light材质灯光的实例
  3. c#form+mysql储存读取图片_C#从SQL server数据库中读取l图片和存入图片
  4. 经典蓝牙和低功耗蓝牙(BLE)有什么区别?
  5. 使用Python发送电子邮件
  6. 我的世界java服务器刷_一个教程, 叫你如何在服务器刷op
  7. 机器学习1.3--机器学习所需要的基础数学知识
  8. linux gdb 导出到文件怎么打开,GDB基本命令从打开文件到调试结束的教程
  9. Java代码页面显示报表_Web报表开发中使用快逸报表分页标签:显示第几页和共几页...
  10. 如何应对美国对开源项目的出口管制?这是Linux基金会的建议
  11. SATA2 硬盘 系统盘 显卡黑屏_不重装系统加装固态硬盘
  12. Mysql 主从间延迟,主从切换策略
  13. 【短信】谷歌4.4短信代码学习
  14. docker容器的创建
  15. Linux安装CentOS系统
  16. 【单片机原理及其应用】第二章PIC16F887的基本介绍
  17. 交通银行计算机设备实物管理,酷!AI助力交通银行提升风险管理能力
  18. 自定义控件其实很简单1/6
  19. 那些年你追过的女孩——颜值到底有几分???
  20. 灰度重心法提取光条纹中心

热门文章

  1. python定时器及数据库操作
  2. godaddy mysql 乱码_Godaddy主机乱码的解决方法 | Godaddy美国主机中文指南
  3. php正则表达式提取url,php 正则表达式提取图片url程序
  4. php intval和ceil,php取整函数ceil,floor,round,intval的区别
  5. 启动失败_启动失败了?
  6. linux 自启动脚本顺序,(linux开机启动脚本的顺序.doc
  7. Vue的批量更新原理
  8. php empty判断0,PHP empty() 检测一个变量是否为空
  9. c++和java哪个难_为什么说C语言比Java难?
  10. springboot testcontext @sql_举世闻名的 SQL 注入是什么?这个漫画告诉你!