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

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

1.绝对路径和相对路径

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

绝对路径:/helloworld /myweb/helloworld

2.相对路径相对谁

相对路径相对的是当前的url,怎么解释,例如:

当前url为: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,那么,提交后,就会把:8080/day/tijiao.html链接中的tijiao.html替换为path变为:8080/day/path,这就是所谓的相对于当前的url。

如果我们这样:

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

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

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

如果我们部署的工程名是/day,那么我们可以这样写html路径:

<form action="/day/path" method="post"> 此时 / 代表服务器根目录: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内部使用的背景图片等用相对路径

天下没有不散的宴席,也许这人间真的只有朦朦胧胧才是真。

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

相关文章:

你感兴趣的文章:

标签云: