Java Web中相对路径与绝对路径的分析
一、相对路径与绝对路径
1、相对路径:
相对路径指的是相对于当前文件所在目录的路径!
相对路径易出问题:
当在页面间相互跳转时不会产生问题;
当从Servlet中转发到指定页面时,服务器会相对于当前Servlet所在位置,而不是访问Servlet的页面的路径,也就是相对于当前项目的根目录,
当页面位于WebContent的子目录下时,会产生错误。
2、 绝对路径:
绝对路径是以/开头表示的
浏览器解析时,/代表http://localhost:8080/【服务器的根目录】
服务器解析时,/代表 http://localhost:8080/项目名/ 【项目的根目录】
1)常见的路径:
url-pattern:
转发的路径:
这两个路径都是由服务器端解析,/代表项目的根目录
重定向的路径
页面中的路径
这两个路径都是由浏览器端解析,/代表服务器的根目录
相关知识:
java web项目发布时,其实只将WebContent文件夹部署到服务器上,并将文件夹名WebContent改为项目名,java源代码并不发布,而是运行存放在WebContent—>WEB-INF—>classes目录下的经过编译的class字节码文件。
因此,上面提到的项目根目录指:到WebContent的目录路径
二、实际应用:
在实际开发中,我们一般建议使用绝对路径。
若一定想在页面中使用相对路径,可以在页面<head>中添加<base />标签,<base />标签中的href属性,可用来指定页面中相对路径的前缀
<base>标签
<!-- base标签由一个href属性,这个属性可以做为我们在页面中相对路径的前缀
也就是说:我们在当前页面中写的相对路径,它会默认以base标签中的href
属性值做为前缀,所以base标签可以让我们以使用相对路径的方式来使用绝对路径!
base标签仅仅对相对路径起作用,对绝对路径不起作用!-->
<base href="http://localhost:8080/servlet01/html/"/>
Java Web中相对路径与绝对路径的分析的更多相关文章
- 在java web中获取该项目的根路径
在jsp页面中: <% String path = application.getRealPath("").replace("\\","\\\\ ...
- java web中servlet、jsp、html 互相访问的路径问题
java web中servlet.jsp.html 互相访问的路径问题 在java web种经常出现 404找不到网页的错误,究其原因,一般是访问的路径不对. java web中的路径使用按我的分法可 ...
- java web中路径问题。
转自:http://blog.csdn.net/liang5630/article/details/38474543 如有侵权,请及时联系本人及时删除 在java web种经常出现 404找不到网页的 ...
- java web(学习笔记)项目路径问题
最近刚接触java web特别是是关于项目路径这一块很晕,就把自己遇到的一些疑惑和理解写下来. 首先贴上路径,这里用的是eclipse. 其中我们要注意看WebContent目录,这是web程序的根目 ...
- Java web中常见编码乱码问题(一)
最近在看Java web中中文编码问题,特此记录下. 本文将会介绍常见编码方式和Java web中遇到中文乱码问题的常见解决方法: 一.常见编码方式: 1.ASCII 码 众所周知,这是最简单的编码. ...
- Java Web 中使用ffmpeg实现视频转码、视频截图
Java Web 中使用ffmpeg实现视频转码.视频截图 转载自:[ http://www.cnblogs.com/dennisit/archive/2013/02/16/2913287.html ...
- Java Web 中 过滤器与拦截器的区别
过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法u ...
- JAVA WEB 中的编码分析
JAVA WEB 中的编码分析 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre.src {background-co ...
- Java web中常见编码乱码问题(二)
根据上篇记录Java web中常见编码乱码问题(一), 接着记录乱码案例: 案例分析: 2.输出流写入内容或者输入流读取内容时乱码(内容中有中文) 原因分析: a. 如果是按字节写入或读取时乱码, ...
- 深入分析Java Web中的编码问题
编码问题一直困扰着我,每次遇到乱码或者编码问题,网上一查,问题解决了,但是实际的原理并没有搞懂,每次遇到,都是什么头疼. 决定彻彻底底的一次性解决编码问题. 1.为什么要编码 计算机的基本单元是字节, ...
随机推荐
- Serblet 过滤器(Filter)
Servlet 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息. 过滤器的作用: 1.身份验证过滤器 2.日志记录和审核过滤器 3.触发资源访问事件过滤器. 等等等... Ser ...
- appium-环境搭建(一)
adb命令 adb的全称为Android Debug Bridge,就是起到调试桥的作用.借助adb工具,我们可以管理设备或者手机模拟器的状态.还可以进行很多手机操作,如安装软件\系统升级\运行she ...
- L101
It isn't where you came from. It's where you're going that counts.起点并不重要,重要的是,你要去往何方.Nothing is impo ...
- PyQt5布局管理(1)
Qt布局管理按简单分可分为绝对位置布局和布局管理器布局 一.绝对位置布局: 组件不放在布局管理器中,通过函数setGeometry(x,y,width,height)来设定组件相对其父窗口的位置.其中 ...
- codeforces 515C C. Drazil and Factorial(水题,贪心)
题目链接: C. Drazil and Factorial time limit per test 2 seconds memory limit per test 256 megabytes inpu ...
- codeforces 627B B. Factory Repairs(线段树)
B. Factory Repairs time limit per test 4 seconds memory limit per test 256 megabytes input standard ...
- Java 对象引用以及对象赋值
一.Vehicle veh1 = new Vehicle(); 通常这条语句执行的动作被称为创建一个对象,其实他包含了四个动作. 1.new Vehicle :表示在堆空间内创建了一个Vehicle ...
- HasnMap的一种遍历方式:Map.Entry 和 Map.entrySet()
1.Map.Entry 和 Map.entrySet()分别是什么? Map.entrySet():根据名字便可知道,这是一个集合,是一个映射项的set. Map.Entry<k,v>: ...
- HDU1026(延时迷宫:BFS+优先队列)
Ignatius and the Princess I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J ...
- Python:删除字符串中的字符
一.删除字符串两端的一种或多种字符 #strip().lstrip().rstrip()方法:(默认删除空格符) A.list.strip(字符):删除字符串两端的一种或多种字符: #例:删除字符串s ...