JAVA一个项目的路径为,JavaWeb项目中的路径总结

一、web 中的相对路径和绝对路径

在 JavaWeb 中,路径分为相对路径和绝对路径两种:

1、相对路径

相对路径就是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系。

.                                表示当前目录

../                              表示上一级目录

资源名                       表示当前目录/资源名

2、绝对路径

绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。(一般都是以"/"斜杠开头的)

HTML中的绝对路径(Absolute path)指带域名的文件的完整路径。

Web中的绝对路径:指带请求协议的路径,根据给出的请求路径可以准确定位到资源的路径,绝对路径=参照路径+相对路径

格式:http://ip:port/工程路径/资源路径

注意:在实际开发中,路径都使用绝对路径,而不是使用相对路径。

使用绝对路径的两种方式:

① 直接使用绝对路径;

② 也可以使用 标签(参照路径)+ 相对路径 的方式

二、web 中 "/" 的意义

在 Web 项目中/(斜杠)是一种绝对路径。

1、/ 斜杠被浏览器解析

/(斜杠) 如果被浏览器解析,代表着当前服务器的路径

地址格式:http://ip:port                                  http://主机地址:端口号[到服务器]

有下面几种情况都是由浏览器解析的:

(1)html中的路径,如:

① img 标签和script标签的 src 的属性;

② a标签和link标签的 href 属性;

③ from标签的 action属性;

(2)重定向

response.sendRediect(“/”);                把斜杠发送给浏览器解析,得到 http://ip:port/

重定向没有任何局限,可以重定向web项目内的任何路径,也可以访问别的web项目中的路径,并且这里就用"/"区分开来,如果使用了"/"开头,就说明我要重新开始定位了,不访问刚才的web项目,自己写项目名,如果没有使用"/"开始,那么就知道是访问刚才那个web项目下的servlet,就可以省略项目名了。就是这样来区别。

2、/ 斜杠被服务器解析

/(斜杠) 如果被服务器解析,代表着当前项目的路径

地址格式是: http://ip:port/工程路径                 http://主机地址:端口号/项目名[到项目]

以下几种情况都是由服务器解析的:

(1)web.xml 中的设置,如 /servlet1

(2)servletContext.getRealPath(“/”);      得到当前项目的真实路径

(3)request.getRequestDispatcher(“/”); (请求转发)

request.getRequestDispatcher(Stringpath).forward(request,response);  //path:转发后跳转的页面,这里不管用不用"/"开头,都是以web项目根开始,因为这是请求转发,请求转发只局限与在同一个web项目下使用,所以这里一直都是从web项目根下开始的,这里可以看出,web项目根就是从该web项目名开始,所以我们请求转发时,只需要接着项目名后面需要访问的路径写就行了,特点:浏览器中url不会改变,也就是浏览器不知道服务器做了什么,是服务器帮我们跳转页面的,并且在转发后的页面,能够继续使用原先的request,因为是原先的request,所以request域中的属性都可以继续获取到。

总结:

(1)带斜杠的放在配置文件和Java代码中的路径为后台路径(后台路径的参照路径是web应用的根,例如http://127.0.0.1:8080/ServletDemo)

(2)带斜杠的放在 JSP 前台页面的前台路径(其参照路径是服务器的根,http://localhost:8080)

(3)没有以斜杠开头的路径,其参照路径就是当前的访问路径

(4)"> base标签会自动在当前页面的不以斜杠开头的路径前加上 basepath 的路径(即web项目的路径),使其变为绝对路径

IDEA 中JavaWeb项目目录结构:

1cd8e8a03b4a

三、Base 标签的作用

base标签是HTML语言中的基准网址标记,它是一个单标签,位于网页头部文件的head标签内,Title标签下面,一个页面最多只能使用一个base元素,用来提供一个指定的默认目标,也算是一种表达路径和连接网址的标记。

通俗的说,base 标签可以设置当前页面中所有相对路径工作时,让相对路径不再参考相对位置,只和基准地址拼接,然后来进行跳转。(注意:是相对路径的参照,对绝对路径无效)

常见的 url 路径形式分别有相对路径与绝对路径,如果 base 标签指定了目标,浏览器将通过这个目标来解析当前文档中的所有相对路径,包括的标签有(a、img、link、form)。

也就是说,浏览器解析时会在路径前加上base给的目标,而页面中的相对路径也都转换成了绝对路径。

格式:

注意:base 后面的最后一个 /(斜杠) 不能省略,因为它表示一个目录,如果省略了,就代表一个资源。

使用了base标签就应带上href属性和target属性。

1、base的 href属性

比如由base制定了一个URL地址,接下来你所要调用的文件或图片等就无须再填写完整的地址,只需写上该文件名或图片名即可。

2、base target

target属性是网页窗口的打开方式,在base标签中设置该属性,那么页面中所有的链接都将遵循这个方式来打开网页,分别有如下几种选择:

_blank:在新窗口打开链接页面。

_parent:在上一级窗口中打开链接。

_self: 在当前窗口打开链接,此为默认值,可以省略。

_top: 在浏览器的整个窗口打开链接,忽略任何框架。

注意:标签仅对相对地址有效,对于绝对地址是无效的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值