`

相对路径、绝对路径、部署路径

    博客分类:
  • J2EE
url 
阅读更多
1. <form action="abc.do" method="post">*********</form>,并且该页面的访问地址是http://localhost:8080/yaso/login
   <form action="/abc.do" method="post">*********</form>,并且该页面的访问地址是http://localhost:8080/yaso/login
    此处可以使用相对路径或者绝对路径,其中相对路径是相对于当前访问的页面。当提交表单后,浏览器地址栏中的信息变为http://localhost:8080/yaso/abc.do
    如果使用绝对路径,则"/"是指服务器的根而非应用的根。如果将上述表单改为action="/abc.do",则当提交表单后,浏览器地址栏中的信息变为http://localhost:8080/abc.do
    如果要使用绝对路径可以使用getContextPath()方法。

2. 在web.xml中的<servlet-mapping>中的<url-pattern>标记中只能使用绝对路径,即必须要 以"/"开头。可以这样理解:一个应用对应于一个web.xml,所以这里的绝对路径表示应用的根,而不是服务器的根。(一个特殊情况就是 在<url-pattern>中使用模式匹配的*.do,但仍然应该理解成从/开始。)

3.RequestDispatcher view = request.getRequestDispatcher("/abc.jsp");
   RequestDispatcher view = request.getRequestDispatcher("abc.jsp");
    这里可以使用相对路径和绝对路径。相对路径是当执行到该代码所在的Servlet的时候地址栏上显示的路径。
    如果使用绝对路径,则"/"表示应用的根。

4.RequestDispatcher view = getServletContext().getRequestDispatcher("/abc.jsp");
    这里必须使用绝对路径,"/"表示应用的根。可以这么理解:在ServletContext上调用请求转发,如果使用相对路径,则无法得知到底相对于该应用的什么位置,只能根据绝对路径来判断。由于是在应用上下文上调用的方法,所以"/"就表示应用的根。

5.servletContext中的getResourceAsStream(String),其中的参数应该是以"/"开头的绝对路径,其中"/"表示应用的根。

6.<a href="value">绝对 URL - 指向另一个站点(比如 href="http://www.example.com/index.htm")
相对 URL - 指向站点内的某个文件(href="index.htm"),这里站点就是你的工程的名字。
这里一定要留意页面中是否有
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><base href="<%=basePath%>">

引用
<base> 标签为页面上的所有链接规定默认地址或默认目标。

通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。

使用 <base> 标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL。这其中包括 <a>、<img>、<link>、<form> 标签中的 URL。
也就是说这个相对路径是相对于basePath,也就是你的项目名的。如果我们把这些去掉,就是把你当前的页面的最后一级替换,即
<a href ="non-ui/index.jsp">non-ui</a>
是将
http://localhost:8080/MyStrutsTest4/tags/index.jsp 替换为http://localhost:8080/MyStrutsTest4/tags/non-ui/index.jsp
分享到:
评论

相关推荐

    Asp.net相对路径与绝对路径

    在Asp.net开发环境中,理解和运用相对路径与绝对路径对于构建高效、可维护的网站或应用程序至关重要。本文将深入解析Asp.net中的相对路径与绝对路径的概念,以及它们在实际项目中的具体应用。 ### 一、相对路径与...

    连接ACCESS绝对路径相对路径.txt

    根据提供的文件信息,本文将详细解释如何在C#中连接Access数据库,并且会重点讨论绝对路径与相对路径的使用方式。 ### 连接ACCESS绝对路径与相对路径 #### 使用C#连接Access数据库 在C#中连接Access数据库,通常...

    相对路径和绝对路径的区别与使用

    - 当需要将代码部署到多个不同的环境中时,使用相对路径可以减少配置工作量。 #### 实际应用举例 1. **HTML引用CSS样式表**:假设`index.html`位于`C:\website\web\xz`目录下,而`test.css`位于`C:\website\css`...

    BAT批处理脚本-文件相关操作-获取相对路径.cmd.zip

    绝对路径是从根目录开始的完整路径,而相对路径则是相对于当前工作目录的路径。 "获取相对路径.cmd.txt"这个文件,虽然在压缩包中被命名为.txt格式,是为了防止意外执行,但在实际使用时,我们需要将其修改回.bat...

    获取项目的相对路径和绝对路径

    本文将围绕“获取项目的相对路径和绝对路径”这一主题进行深入探讨,帮助读者理解不同场景下如何正确地获取路径。 ### 一、引言 在Java Web应用中,路径主要分为两种:相对路径与绝对路径。相对路径是指相对于当前...

    JSP相对路径的练习

    - **使用绝对路径**:对于静态资源,考虑使用绝对路径,以便于CDN部署或反向代理。 - **配置上下文路径**:在web.xml或框架配置中定义上下文路径,便于在整个应用中统一引用。 - **避免过多的`../`**:尽量保持...

    获取相对路径

    在某些场景下,如软件部署、资源引用或者文件操作,使用相对路径可以更加灵活且节省存储空间。本篇将详细介绍如何在VS2008环境下通过编程获取两个路径之间的相对路径,并提供示例代码。 在C++中,我们可以利用标准...

    VB 相对路径的识别

    相对路径是相对于当前工作目录的路径,与绝对路径(完全指定文件或目录的位置)不同,它更灵活,方便在项目移动或部署时保持代码的可移植性。本篇将深入探讨VB中如何识别和使用相对路径。 首先,理解相对路径的基本...

    获取指定目录下的文件相对路径

    这个工具可能会接受一个参数,即要获取相对路径的文件或目录的绝对路径,然后返回相对于安装根目录的相对路径字符串。 在NSIS脚本中,我们可以这样使用`GetFileDir.exe`: ```nsis !include LogicLib.nsh Section...

    自建相对路径数据库访问

    5. **打包和部署**:在将应用程序打包或部署时,确保数据库文件与程序一起被复制到目标目录,保持相同的相对路径。 通过这种方式,即使应用程序在不同环境中运行,只要保持数据库文件和程序文件在同一目录下,就能...

    html相对路径问题及图片标签

    - **上传到服务器**:在部署网站时,要确保所有相对路径在服务器上的位置与本地开发环境一致。如果不一致,可能需要调整路径。 - **使用绝对路径**:虽然相对路径在大多数情况下工作良好,但绝对路径(从根域名开始...

    php相对路径解决方法

    1. 使用`$_SERVER['DOCUMENT_ROOT']`:这个全局变量包含了Web服务器的文档根目录,可以帮助构建绝对路径,避免因不同部署环境造成的路径问题。 2. 配置常量:定义一个名为`BASE_PATH`的常量,存储项目的根目录,然后...

    解决vue单页面应用打包后相对路径、绝对路径相关问题

    在本篇文章中,我们将探讨如何处理Vue单页面应用中打包后的相对路径和绝对路径问题。 首先,理解绝对路径与相对路径的区别至关重要。绝对路径是从根目录开始的完整路径,例如`/dist/css/main.css`,而相对路径则是...

    python-pyinstaller相对路径问题.pdf

    ### Python PyInstaller相对路径问题详解 #### 一、引言 在使用Python进行软件开发时,经常需要将脚本打包成可执行文件以便于分发和部署。PyInstaller是一款非常强大的工具,它能够将Python程序及其依赖库打包成...

    log4j中配置日志文件相对路径方法(PDF)

    ### Log4j中配置日志文件相对路径方法详解 #### 概述 在软件开发过程中,日志记录是一项重要的功能,它有助于开发者调试程序、监控应用程序的运行状态以及追踪问题。`Log4j`作为一款优秀的日志管理工具,被广泛应用...

    VS2008相对路径

    例如,项目中的配置文件、图片或脚本文件可能位于不同的目录下,使用相对路径可以确保无论项目被部署到哪里,这些文件都能正确找到。 **相对路径的种类** - **.**(当前目录):表示当前目录本身。 - **..**(父...

    java项目中的绝对路径和相对路径用法说明

    本文将详细讲解Java项目中的绝对路径和相对路径,并提供一些实际应用中的注意事项。 首先,让我们了解一下**绝对路径**。绝对路径是完全指定的、不依赖于当前工作目录的文件或目录位置。它包括了文件系统的所有层次...

Global site tag (gtag.js) - Google Analytics