当前位置: 首页 > 编程日记 > 正文

web应用的绝对路径和相对路径

经常写web工程,就会涉及很多路径问题,今天复习下绝对路径和相对路径,以提醒自己下次不要以为路径问题头疼。

1.绝对路径和相对路径

相对路径:helloworld ./helloworld ../helloworld 这样的都是相对路径
绝对路径:/helloworld /myweb/helloworld

2.相对路径相对谁

相对路径相对的是当前的url,怎么解释,例如:
当前url为http://localhost:8080/day/tijiao.html,看一下tijiao.html的源码:
<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>提交一个数</title>
</head>
<body><form action="path" method="post">请输入一个数字: <input type="text" name="number"/><input type="submit" value="测试获得路径" /></form>
</body>
</html>
action写的是path,那么,提交后,就会把http://localhost:8080/day/tijiao.html链接中的tijiao.html替换为path变为http://localhost:8080/day/path,这就是所谓的相对于当前的url。
如果我们这样:

tijiao.html的源代码仍然是上面的,那么点击提交按钮后,会变成如下:

按照刚才那个原理,把最后一个tijiao.html换为path,那么就无法找到,所以404。

3.如何写绝对路径,对于客户端绝对路径中的/代表什么?

如果我们部署的工程名是/day,那么我们可以这样写html路径:
<form action="/day/path" method="post">  此时 / 代表服务器根目录 http://localhost:8080

4.jsp中怎样写?

由于我们部署服务器,可能叫不同的名,那么我们在代码中写死了/day这样很不好,那在jsp中如何写呢?
我们可以这样:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>提交一个数</title>
</head>
<body>
<form action="<%=request.getContextPath()%>/path" method="post">请输入一个数字: <input type="text" name="number"/><input type="submit" value="测试获得路径" />
</form>
</body>
</html>
<%=request.getContextPath()%>就可以获取部署的跟路径了。

5.客户端关于路径问题的通用结论:

html,jsp,js文件用里面用绝对路径
css内部使用的背景图片等用相对路径







相关文章:

IE7外觀優化

众所周知&#xff0c;在Windows Vista的默认设置中&#xff0c;传统的文件菜单消失了&#xff0c;大部分过去通过菜单执行的任务如今由工具栏提供&#xff0c;或者在相应选择项的右键属性里。尽管这种改变使页面布局更简洁&#xff0c;但似乎许多用户并不认可或者至少说并不习惯…

使用GPUImageView录制视频保存后出现绿边

2019独角兽企业重金招聘Python工程师标准>>> 最近在使用GPUimageView做视频录制功能&#xff0c;录完后发现保存的视频右边有绿边&#xff0c;觉得好奇怪呀&#xff0c;为什么会这样呢&#xff1f;于是上网找资料&#xff0c;发现了这么一个说法&#xff1a;GPU和视…

Matlab与数据结构 -- 搜索向量或矩阵中非零元素的位置

本图文介绍了Matlab中搜索向量或矩阵中非零元素位置的方法。

jdk7新特性学习笔记

jdk7新特性学习笔记 从网络down了视频看&#xff0c;记录下学过的东西。1.二进制字面量 JDK7开始,可以用二进制来表示整数&#xff08;byte,short,int和long&#xff09;&#xff0c;语法&#xff1a;在二进制数值前面加 0b或者0B例如&#xff1a;int x 0b11112.数字字面量可以…

2008开年大礼:《Application = Code + Markup》中文版面世

Charles Petzold的又一部经典力作《Application Code Markup》中文版终于要面世了。成为2008 开年大礼。相信有很多对WPF有兴趣&#xff0c;但又苦于没有经典书籍来支撑的朋友都一直在期待着这本书的中文版上市&#xff0c;博文视点让这一期待成为现实。 与大家一样都很兴奋。…

近一个月的学习总结(4.8—5.12)

Java-se基础知识的学习已经告一段落&#xff0c;对自己这一个月的知识体系做一个大致的总结&#xff1a; 1.Java语言基础&#xff08;基础完成&#xff09; 2.面向对象基础&#xff08;封装、继承、多态&#xff09;&#xff08;基础完成&#xff09; 3.抽象类、接口&#xff0…

利用BP神经网络教计算机识别语音特征信号(代码部分SS)

本图文已经更新&#xff0c;详细地址如下&#xff1a; http://blog.csdn.net/lsgo_myp/article/details/54094884

springmvc配置DispatcherServlet拦截url注意事项

<!-- 前端控制器 --><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 加载springmvc配置 --><init-param><param-name>contex…

sql server面试题

本面试题由2344095 (有心人)整理, 由ashzs((可以包含中文字符)) 解答,感谢二位!1.磁盘柜上有14块73G的磁盘&#xff0c; 数据库为200G 大小包括日志文件&#xff0c;如何设置磁盘&#xff08;要说明这14磁盘是怎么用的&#xff09;&#xff1f;2.有两服务器群集&#xff0c;分别…

利用BP神经网络教计算机识别语音特征信号(代码部分SSR)

本图文已经更新&#xff0c;详细地址如下&#xff1a; http://blog.csdn.net/lsgo_myp/article/details/54094884

JDBC使用步骤

JDBC编程步骤&#xff1a; 一、注冊载入JDBC驱动程序&#xff1b; 注冊载入驱动driver。也就是强制类载入&#xff1a;其注冊载入JDBC驱动有三种方法&#xff1a; 方法一&#xff1a;Class.forName(DriverName)&#xff1b; 当中DriverNameDriver包名。Driver类名&#xff1b;…

在mac下搭建java开发环境

刚刚从windows系统转到使用mac系统&#xff0c;感觉不是特别熟悉&#xff0c;需要一定的适应时间。下面简单介绍一下mac下搭建基本的java开发环境。 1.安装jdk 安装jdk1.7后&#xff0c;发现不需要进行环境变量配置&#xff0c;直接在terminal中就能使用java和javac命令了。j…

IT项目管理入门知识

转载于:https://www.cnblogs.com/sophia194910/p/6854462.html

什么是BP神经网络?

BP人工神经网络原理

mac下的intellij idea常用快捷键

最近用mac进行开发&#xff0c;纪录下mac下的intellij idea的快捷键&#xff0c;方便以后查询。 command点到具体方法 查看调用 commandN查找类 commandshiftN查找文件 commandR替换 commandY 删除行 commandX剪切删除行 commandw 用光标圈起代码 commandD复制一行 com…

struct和union的大小问题

union类型以其中size最大的为其大小struct类型以其中所有size大小之和为其大小 #include<iostream>usingnamespacestd;intmain(){ typedef union {long i; int k[5]; char c;} DATE; struct data { int cat; DATE cow; double dog;} too; DATE max; cout<…

利用BP神经网络教计算机识别语音特征信号(代码部分SL)

本图文已经更新&#xff0c;详细地址如下&#xff1a; http://blog.csdn.net/lsgo_myp/article/details/54094884

Redis相关命令

一、命令示例 1. KEYS/RENAME/DEL/EXISTS/MOVE/RENAMENX: #在Shell命令行下启动Redis客户端工具。/> redis-cli#清空当前选择的数据库&#xff0c;以便于对后面示例的理解。redis 127.0.0.1:6379> flushdbOK#添加String类型的模拟数据。redis 127.0.0.1:6379> set myk…

手把手 | 教你爬下100部电影数据:R语言网页爬取入门指南

前言 网页上的数据和信息正在呈指数级增长。如今我们都使用谷歌作为知识的首要来源——无论是寻找对某地的评论还是了解新的术语。所有这些信息都已经可以从网上轻而易举地获得。 网络中可用数据的增多为数据科学家开辟了可能性的新天地。我非常相信网页爬取是任何一个数据科学…

如何在OSCOMMERCE中安装中文语言包

步骤如下&#xff1a; 下载中文语言包&#xff0c;可以从以下连结下载 http://www.oscommerce.com/community/contributions,1054 安装步骤如下: (演示地址:http://www.MedOnclick.com) 1. 打开你下载的包含本语言包的压缩文件&#xff08;cosc-v0.3.zip&#xff09;。 2. 将…

利用BP神经网络教计算机识别语音特征信号(代码部分SLR)

本图文已经更新&#xff0c;详细地址如下&#xff1a; http://blog.csdn.net/lsgo_myp/article/details/54094884

Intellij Idea 生成serialVersionUID的方法

默认情况下Intellij IDEA是关闭了继承了java.io.Serializable的类生成serialVersionUID的警告。如果需要ide提示生成serialVersionUID&#xff0c;那么需要做以下设置&#xff1a; 1、setting->Inspections->Serialization issues&#xff0c;将serialzable class withou…

小牛生产小牛的问题解决集粹

问题&#xff1a;一只刚出生的小牛&#xff0c;4年后生一只小牛&#xff0c;以后每年生一只。现有一只刚出生的小牛&#xff0c;问N年后共有牛多少只&#xff1f;1.原始笨方法privateintComput(intyears) { //初始化为1头牛 int count 1; …

构建基于Chromium的应用程序(Winform程序加载Html页面)

chromium是google chrome浏览器所采用的内核&#xff0c;最开始由苹果的webkit发展而出&#xff0c;由于webkit在发展上存在分歧&#xff0c;而google希望在开发上有更大的自由度&#xff0c;2013年google决定自己开发webcore的分支&#xff0c;叫做Blink引擎&#xff0c;而后g…

机器就能绘制这样的作品,你还去写生吗?(续)

本文介绍了利用程序让计算机把输入图像呈现铅笔素描画和彩绘画效果的算法原理。

Apache工具类ToStringBuilder用法简介

ToStringBuilder比较适合在打日志时&#xff0c;输出参数的信息&#xff0c;特别是在参数为对象时&#xff0c;该工具类能够很方便的自动打印对象中的属性值。 package test; /** * * author zhengtian * time 2012-6-28 */ public class User { privat…

自然语言处理:汉语分词

NLPIR/ICTCLAS 汉语分词系统&#xff08;http://ictclas.nlpir.org&#xff09;PyNLPIR 是该汉语分词系统的 python 封装版&#xff08;http://pynlpir.readthedocs.io...&#xff09; 安装步骤&#xff1a;① pip install pynlpir② pynlpir update 官方文档的汉语分词示例&am…

再也不买仙剑正版盘了

奶奶的&#xff0c;好不容易心血来潮买了一回&#xff0c;windows 2003安装上蓝屏&#xff0c;在xp虚拟机上装报错&#xff0c;狗日的大宇&#xff0c;以后专门玩盗版气它 转载于:https://www.cnblogs.com/charie/archive/2008/02/21/1076772.html

利用BP神经网络教计算机进行非线函数拟合(代码部分单层)

单层BP神经网络 本图文已经更新&#xff0c;详细地址如下&#xff1a; http://blog.csdn.net/lsgo_myp/article/details/54425751

ps aux|grep

ps a 显示现行终端机下的所有程序&#xff0c;包括其他用户的程序。 2&#xff09;ps -A 显示所有程序。 3&#xff09;ps c 列出程序时&#xff0c;显示每个程序真正的指令名称&#xff0c;而不包含路径&#xff0c;参数或常驻服务的标示。 4&#xff09;ps -e 此参数的效果…