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

news/2024/7/7 18:54:37

  经常写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内部使用的背景图片等用相对路径








http://lihuaxi.xjx100.cn/news/243176.html

相关文章

How can I create an Asynchronous function in Javascript?

哈哈&#xff1a;&#xff09;我的codepen 的代码笔记是&#xff1a;http://codepen.io/shinewaker/pen/eBwPxJ ------------------------------------------------------- 84down votefavorite 39I mean, check it out this code : <a href"#" id"link"…

SSL/TLS原理详解

本文大部分整理自网络&#xff0c;相关文章请见文后参考。 关于证书授权中心CA以及数字证书等概念&#xff0c;请移步 OpenSSL 与 SSL 数字证书概念贴 &#xff0c;如果你想快速自建CA然后签发数字证书&#xff0c;请移步 基于OpenSSL自建CA和颁发SSL证书 。 SSL/TLS作为一种互…

APP自动化测试过程概述

对于Android App的自动化测试框架的使用&#xff0c;其实在很多书上面都会有说明&#xff0c;我们可以先来看一个常用的自动化测试实例&#xff0c;先不说框架&#xff0c;主要是测试用户操作的模拟、执行结果的判断&#xff0c;以便获得对测试自动化的理解与认识。 案例需求如…

jdk7新特性学习笔记

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

Linux进程ID号--Linux进程的管理与调度(三)

进程ID概述 进程ID类型 要想了解内核如何来组织和管理进程ID&#xff0c;先要知道进程ID的类型&#xff1a; 内核中进程ID的类型用pid_type来描述,它被定义在include/linux/pid.h中 enum pid_type {PIDTYPE_PID,PIDTYPE_PGID,PIDTYPE_SID,PIDTYPE_MAX };12345671234567PID 内核…

如何理解JS的单线程?

JS本质是单线程的。也就是说&#xff0c;它并不能像JAVA语言那样&#xff0c;两个线程并发执行。 但我们平时看到的JS&#xff0c;分明是可以同时运作很多任务的&#xff0c;这又是怎么回事呢? 首先&#xff0c;JS的代码&#xff0c;大致分为两类&#xff0c;同步代码和异步代…

C#组件系列——又一款日志组件:Elmah的学习和分享

前言&#xff1a;好久没动笔了&#xff0c;都有点生疏&#xff0c;12月都要接近尾声&#xff0c;可是这月连一篇的产出都没有&#xff0c;不能坏了“规矩”&#xff0c;今天还是来写一篇。最近个把月确实很忙&#xff0c;不过每天早上还是会抽空来园子里逛逛。一如既往&#xf…

vsftpd用户配置 No.2

在配置ftp虚拟用户的过程中&#xff0c;还有一种配置方式。yum -y install 安装vsftpdcp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak编辑vsftpd.conf开启下列选项&#xff1a;anonymous_enableNOlocal_enableYESwrite_enableYESlocal_umask022anon_mkdir_write_enab…