首页 > 其他分享 >路径

路径

时间:2024-02-25 23:01:43浏览次数:15  
标签:8080 .. 路径 html web03 test

前端路径问题

相对路径

背景:图片存在项目/sataic/img文件夹下面
三种情况

  1. 当html文件与static文件夹同级,直接src="satic/img/logo.png"
  2. 当html不与static文件夹同级,则需要用../来抵消当前url的后缀,再拼接src="satic/img/logo.png"
  3. WEB-INF文件夹下的html文件要引用img里的图片:首先得通过请求转发才能进如html文件,通过servlet的getRequestDispatcher("WEB-INF/views/view1.html"),此时客户端地址栏实际上是localhost:8080/web03/servlet,然后再通过拼接,不需要../

绝对路径

  • 寻找方式就是在基准路径(http://localhost:8080)后面拼接src属性值(/web03/static/img/logo.png),得到的正是目标资源访问的正确路径

绝对路径情况1:web/index.html中引入web/static/img/logo.png

绝对路径情况2:web/a/b/c/test.html中引入web/static/img/logo.png

绝对路径情况3:web/WEB-INF/views/view1.html中引入web/static/img/logo.png

不论html文件在哪,ser始终都是<img src="/web03/static/img/logo.png">

base标签的使用

base标签定义页面相对路径公共前缀

  • base 标签定义在head标签中,用于定义相对路径的公共前缀
  • base 标签定义的公共前缀只在相对路径上有效,绝对路径中无效
  • 如果相对路径开头有 ./ 或者../修饰,则base标签对该路径同样无效

index.html 和a/b/c/test.html 以及view1Servlet 中的路径处理

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--定义相对路径的公共前缀,将相对路径转化成了绝对路径-->
    <base href="/web03_war_exploded/">
</head>
<body>
    <img src="static/img/logo.png">
</body>
</html>

重定向中的路径问题

目标,由某个文件夹下的servletA重定向到另一个文件夹下的html

@WebServlet("/x/y/z/servletA")
public class ServletA extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        
    }
}

相对路径

绝对路径

  • ServletA重定向的路径 : /web03/a/b/c/test.html
  • 寻找方式就是在基准路径(http://localhost:8080)后面拼接(/web03/a/b/c/test.html),得到( http://localhost:8080/web03/a/b/c/test.html)正是目标资源访问的正确路径
  • 绝对路径中需要填写项目上下文路径,但是上下文路径是变换的
    • 可以通过 ServletContext的getContextPath()获取上下文路径
    • 可以将项目上下文路径定义为 / 缺省路径,那么路径中直接以/开头即可
//绝对路径中,要写项目上下文路径
//resp.sendRedirect("/web03/a/b/c/test.html");
// 通过ServletContext对象动态获取项目上下文路径
//resp.sendRedirect(getServletContext().getContextPath()+"/a/b/c/test.html");
// 缺省项目上下文路径时,直接以/开头即可
resp.sendRedirect("/a/b/c/test.html");

请求转发中的路径问题

相对路径写法

绝对路径写法

  • 请求转发只能转发到项目内部的资源,其绝对路径无需添加项目上下文路径
  • 请求转发绝对路径的基准路径相当于http://localhost:8080/web03(前端喝重定向的基准都是/8080)
  • 在项目上下文路径为缺省值时,也无需改变,直接以/开头即可
@WebServlet("/x/y/servletB")
public class ServletB extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        RequestDispatcher requestDispatcher = req.getRequestDispatcher("/a/b/c/test.html");
        requestDispatcher.forward(req,resp);
    }
}

目标资源内相对路径处理

标签:8080,..,路径,html,web03,test
From: https://www.cnblogs.com/tigerWei/p/18010436

相关文章

  • git中的中文路径显示
    在设置了git控制台编码格式为utf-8后,分别是gitgui工具,commit、log的默认编码:gitconfig--globalgui.encodingutf-8gitconfig--globali18n.commitencodingutf-8gitconfig--globali18n.logoutputencodingutf-8那么在使用gitlog、gitstatus时,会有如下的情况:"M......
  • everything指定搜索路径
    1.在搜索选项里选择“匹配路径”,其他不要选,如下: 2.先指定路径。如只搜索F盘则输入F:\,后面再输入需要的内容,如找F盘里的冒泡: 3.例:只搜索E盘vscode文件夹,则先指定E:\vscode,再输入需要找的东  ......
  • leedcode 路径的和
    使用迭代:classSolution:defhasPathSum(self,root:Optional[TreeNode],targetSum:int)->bool:#如果根节点为空,直接返回Falseifnotroot:returnFalse#使用栈来进行迭代,每个元素是一个元组(node,path)stack=......
  • day39 动态规划part2 代码随想录算法训练营 63. 不同路径 II
    题目:63.不同路径II我的感悟:题目不难,就是不知道哪个煞笔,把路拦截死了,并且入口就放石头,我真是吐了。理解难点:初始值的遇到障碍要Break其他我写的没错边界考虑:还有入口和出口有障碍物的话,要直接返回0.听课笔记:差不多,考虑的点就是:初始值后面为break开头和结尾有障......
  • Linux-Source Insight添加系统库路径
    1、在BASE项目下添加Project->OpenProject,打开Base项目2、打开PreferencesProject->Preferences,选择SymbolLookups选项卡3、打开ImportSymbolsforAllProjects4、打开右侧Add按钮,弹出AddExternalSymbols对话框5、打开ImportfromanINCLUDEpath6、将需要添加的......
  • 力扣 dfs之 437. 路径总和 III
    给定一个二叉树的根节点root ,和一个整数targetSum,求该二叉树里节点值之和等于targetSum的路径的数目。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 示例1:输入:root=[10,5,-3,3,2,null,11,3,-2,null,1],target......
  • linux 中shell脚本的执行方法对路径的影响
     4种;01、basha.sh02、sha.sh03、.a.sh04、source 前两种会重开shell终端;后两种是本shell;测试如下:001、测试前两种方法;不影响当前路径[root@pc1test1]#lsa.sh[root@pc1test1]#pwd##当前路径/home/test1[root@pc1test1]#cata.sh#......
  • 【算法】【动态规划】最小路径和
    1 题目给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:一个机器人每次只能向下或者向右移动一步。示例1:输入:grid=[[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径1→3→1→1→1的总和最小。示例2......
  • java的getResource方法 总结一下 在Java中获取资源的时候,经常用到getResource和getRes
    java的getResource方法总结一下在Java中获取资源的时候,经常用到getResource和getResourceAsStream,本文总结一下这两种获取资源文件的路径差异1.前言在Java中获取资源的时候,经常用到getResource和getResourceAsStream,本文总结一下这两种获取资源文件的路径差异。2.Class.get......
  • 路径规划算法使用说明
    1.基于搜索的(1)Dijkstra:执行命令:cd/home/slam/PathPlanning/Search_based_Planning/Search_2Dpython3Dijkstra.py(2)RTAAStarcd/home/slam/PathPlanning/Search_based_Planning/Search_2Dpython3RTAAStar.py(3)A*python3Astar.py其他算法都可以类似执行python......