你的应用访问地址是" http://192.168.0.1/app/"
其中的"/app"是contextPath,可以从request.getContextPath()得到
概念
绝对路径和相对路径
"/view/login.jsp"就是绝对路径,从根目录/开始写;
"view/login.jsp"就是相对路径,"./view/login.jsp"也是相对路径,这种路径是相对于当前文件的目录来讲的。
绝对地址和相对地址
" http://192.168.0.1/app/login"就是绝对地址;
"/login"就是相对地址,"view/login.jsp"也是相对地址,这个地址是相对于浏览器地址栏中的当前地址来讲的。
原理
1. 服务器解析的路径。
Servlet forward to JSP
JSP forward to Servlet
JSP forward to JSP
JSP include JSP
可以从根目录/开始写绝对路径;也可以从本目录开始写,这样可用"."和".."来表示本目录和父目录。
2. 客户端浏览器解析的路径。
表单action路径
redirect重定向路径
超链接路径
图片路径
CSS路径
Javascript文件路径以及里面要用到的路径
绝对路径的解析,浏览器直接加在服务器地址后面来访问。例如"/login",浏览器会访问" http://192.168.0.1/login",路径里把"/app"丢失了。绝对路径前面一定要加上contextPath,否则部署环境一变,你的应用就找不到北了。
相对路径的解析,浏览器以根据地址栏中的当前地址作为基准,把相对路径加上去来访问。例如当前地址栏地址是" http://192.168.0.1/view/login.jsp",那么相对路径"img/face.png"会被浏览器解析为" http://192.168.0.1/view/img/face.png"。
forward到别的路径以后,浏览器地址栏的当前地址并不会变化,这种情况下,在JSP文件中使用相对路径就很容易发生错误,因为你还要关心forward前是个什么路径,如果forward了多次,或者上一个请求也是forward过来的,那么浏览器地址栏的当前地址根本就没法追踪。有的人说你可以base标签啊,回答:我的应用是WAP,没这个标签。有的人说你可以用变量追踪啊,这种办法很丑陋,很麻烦。
结论
1. 不要使用相对路径,统一使用绝对路径,为啥?好找呗。
2. 在页面中使用相对地址时,一定要加上contextPath。为啥?原来部署在服务器根目录"/",现在想部署在"/app",你要不加上contextPath会死的比较难看。
我自己写了一套标签,上面2个规则全搞定,嘿嘿
分享到:
相关推荐
如何将相对路径转化为绝对路径 在C#编程中,将相对路径转化为绝对路径是一个常见的问题。这篇文章将介绍如何使用C#将相对路径转化为绝对路径。 什么是相对路径和绝对路径? 在计算机科学中,路径是指文件或目录在...
通过一个具体的例子来理解相对路径与绝对路径的应用: - 假设一个网站具有如下的目录结构: - `/` - `Dir1` - `SubDir1` - `Ref1.htm` - `SubDir2` - `BeRef1.gif` - `Dir2` - `BeRef2.htm` - 当`Ref1....
"Java 中相对路径与绝对路径的问题" Java 中的路径问题一直是困扰许多编程人员的问题之一。在 Java 中,我们需要了解相对路径和绝对路径的概念,以及如何获取它们。下面我们将详细地讨论 Java 中的相对路径和绝对...
在Asp.net开发环境中,理解和运用相对路径与绝对路径对于构建高效、可维护的网站或应用程序至关重要。本文将深入解析Asp.net中的相对路径与绝对路径的概念,以及它们在实际项目中的具体应用。 ### 一、相对路径与...
### Java相对路径与绝对路径详解 #### 一、基本概念理解 **绝对路径**:绝对路径是指文件或目录在硬盘上的真实路径,包括URL和物理路径。例如,“C:\xyz\test.txt”代表了test.txt文件的真实物理路径;而...
对于相对路径,需要注意图片的“生成操作”属性必须是 Resource,这与在 Xaml 中一样。在需要固定的一些项目中的图片切换时,我们可以通过这种方式完成。 绝对路径的使用 对于绝对路径,没有图片文件包含在项目中...
### Java中File的相对路径与绝对路径总结 在Java Web开发过程中,经常需要处理文件的读写操作,尤其是在运行时获取配置文件、动态加载对象等情况。对于这些需求,理解和掌握文件的相对路径与绝对路径至关重要。 ##...
路径分为绝对路径和相对路径两种类型,它们各有不同的用途和特点。 绝对路径是指从根目录开始的完整路径,它明确指定了文件或目录的确切位置。例如,`file:/D:/java/eclipse32/workspace/jbpmtest3/bin/aaa.b` 是一...
在探讨相对路径与绝对路径的优缺点之前,我们先来明确两者的定义。绝对路径指的是从根目录开始,完整地指定文件或目录所在位置的一种路径表示方法,它以根目录作为起点,无论当前工作目录为何处,都能准确无误地定位...
### 相对路径和绝对路径详解 #### 一、引言 在Web开发中,文件间的链接至关重要。正确的路径设置可以确保用户能够顺利地访问到所需的资源,如图片、样式表或JavaScript文件等。本文将深入探讨相对路径与绝对路径的...
在Java Web开发中,理解和掌握相对路径与绝对路径的运用是至关重要的,因为这直接影响到资源定位、页面跳转以及文件读写等操作的正确性。以下是对Java Web中相对路径与绝对路径问题的深入总结: ### 一、路径概念与...
### 相对路径和绝对路径的区别与使用 在计算机科学领域,路径是文件系统中用于标识文件或目录位置的一种方式。路径可以分为两种主要类型:绝对路径和相对路径。了解这两种路径的区别及其适用场景对于软件开发、网页...
### JSP中绝对路径与相对路径的理解与应用 #### 一、引言 在Web开发中,路径的选择对于页面间的跳转以及资源的加载至关重要。本文将深入探讨JSP(JavaServer Pages)环境中绝对路径与相对路径的区别及其应用场景,...
### 绝对路径和相对路径详解 #### 一、基本概念理解 在计算机科学领域,路径是用来标识文件或目录在文件系统中的位置的一种方法。路径可以分为两种类型:绝对路径和相对路径。 - **绝对路径**:指的是从根目录...
本篇文章将深入探讨绝对路径与相对路径的概念、它们之间的转换以及如何在C++、Java和Python中实现这种转换。 ### 绝对路径与相对路径 **绝对路径**: - 它是文件系统的完整路径,从根目录(如Windows下的"C:\"或...
在编程和系统管理中,了解和正确使用绝对路径与相对路径是至关重要的。尤其是在Perl这样的脚本语言中,路径的处理对于程序的正确执行起到关键作用。本文将深入解析这两个概念,帮助新手清晰理解它们的区别和用法。 ...
根据提供的文件信息,本文将详细解释如何在C#中连接Access数据库,并且会重点讨论绝对路径与相对路径的使用方式。 ### 连接ACCESS绝对路径与相对路径 #### 使用C#连接Access数据库 在C#中连接Access数据库,通常...
1. **绝对路径转相对路径**:这个过程通常是不可逆的,因为绝对路径包含了完整的路径信息,无法直接转换为相对路径。在实际应用中,我们通常需要编写程序或脚本来实现这个转换,这通常涉及计算当前目录与目标文件...
Servlet 中的相对路径和绝对路径归纳 在 Servlet 编程中,路径是非常重要的一个概念。路径可以分为相对路径和绝对路径两种,在不同的场景下,选择合适的路径类型非常重要。本文将对 Servlet 中的相对路径和绝对路径...