欢迎来到天天文库
浏览记录
ID:14281672
大小:40.50 KB
页数:4页
时间:2018-07-27
《超链接url路径和include文件包含路径》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、超链接URL路径和include指令文件包含路径的关系1、两种超链接URL相对路径的写法:超链接URL路径的写法受服务器环境配置的影响。在tomcat环境中,超链接路径受到设置虚拟目录的context的path属性设置的影响,根目录开始的相对路径(也叫做根相对路径)前面表示根目录的那根斜线“/”要改为“/path值”,最终生成的完整的绝对路径的前面还要再加上“127.0.0.1:8080”。而当前目录开始的相对路径(也叫做文档相对路径)的写法和通常的写法是一样的,最终生成的完整的绝对路径的前面被加上了“127.0.0.1:8080/path值/”。2、举例1(context配置path=“
2、/myweb”):假设tomcat中项目的根目录为:D:myrootstudent其他目录有studentpagesch3。网页a3.jsp在ch3中,main.jsp在pages中。该项目的Context配置为:在网页a3中有个超链接访问main.jsp。当前目录开始的相对路径的写法和根相对路径的写法各自为:当前目录开始的相对路径3、ref="/myweb/pages/main.jsp">根相对路径注意:根相对路径前面不是单纯的代表根目录的斜线“/”,而是受context的path值影响的根目录名称“/myweb”。而当前目录开始的相对路径开始通常的写法。显示在客户端页面上的超链接值都是:127.0.0.1:8080/myweb/pages/main.jsp也就是,在第一个当前目录开始的相对路径前面加上了一直到根目录(path设置的“/myweb”)的URL路径:127.0.0.1:8080/myweb/;在第二个根目录开始的相对路径前面加上了127.0.0.1:8080,没有像第一个加上完整的URL路径的原因4、是根目录开始的相对路径已经包含了根目录。3、举例2(context配置path=“”变化的影响):假设上述项目目录结构不变,仅Context配置path为空,含义是该tomcat的主目录为本项目,即访问127.0.0.1:8080就显示本项目的主页,而不是ROOT主页。还是由网页a3中的超链接访问main.jsp。当前目录开始的相对路径的写法和根相对路径的写法各自为:5、>当前目录开始的相对路径,没有变化!根相对路径,去掉了原来的path值注意:当前目录开始的相对路径开始通常的写法,没有任何变化。而根目录开始的相对路径前面不是原来的“/myweb”,而是变为了通常理解的那种“/”开始的根相对路径了。这也是因为受了context的path=””的影响,项目URL的前缀(即path值)为空,所以不写前缀了。这里当path设置为空时,一直到根目录的URL前缀不是127.0.0.1:8080/myweb/,而变成了127.0.0.1:8080/了。所以第一个当前目录开始的相对路径前面加上了一直到根目6、录的URL路径:127.0.0.1:8080/;在第二个根目录开始的相对路径前面也加上了127.0.0.1:8080。此时看起来两个加上的URL路径是一样的,但实际上前者的含义是一直到根目录的URL路径,而后者URL路径不包括path值,只是到端口号为止了。4、小结:根据上述分析看出,从当前目录开始的相对路径不受服务器环境context配置的影响,而根相对路径则要收到context的path设置的严重影响,这个影响就是根相对路径的开头不是“/”,而是“/path值”。所以,使用根相对路径写超链接非常麻烦,必须知道path设置。而且一旦context的path的值改变,那么所有原来使用根相对7、路径的超链接都要改变!5、include指令的文件包含路径include指令元素的文件包含路径也有两种相对路径,一种是根目录开始的相对路径,一种是当前目录开始的相对路径。但是没有那种超链接的URL绝对路径!如果是include指令的当前目录的相对路径,那么使用方法上和超链接的这种相对路径是一样的。如果include指令使用根相对路径,那么不需要考虑context中path的设置,直接用“/”代表根目录,不需要(能)再加上
3、ref="/myweb/pages/main.jsp">根相对路径注意:根相对路径前面不是单纯的代表根目录的斜线“/”,而是受context的path值影响的根目录名称“/myweb”。而当前目录开始的相对路径开始通常的写法。显示在客户端页面上的超链接值都是:127.0.0.1:8080/myweb/pages/main.jsp也就是,在第一个当前目录开始的相对路径前面加上了一直到根目录(path设置的“/myweb”)的URL路径:127.0.0.1:8080/myweb/;在第二个根目录开始的相对路径前面加上了127.0.0.1:8080,没有像第一个加上完整的URL路径的原因
4、是根目录开始的相对路径已经包含了根目录。3、举例2(context配置path=“”变化的影响):假设上述项目目录结构不变,仅Context配置path为空,含义是该tomcat的主目录为本项目,即访问127.0.0.1:8080就显示本项目的主页,而不是ROOT主页。还是由网页a3中的超链接访问main.jsp。当前目录开始的相对路径的写法和根相对路径的写法各自为:5、>当前目录开始的相对路径,没有变化!根相对路径,去掉了原来的path值注意:当前目录开始的相对路径开始通常的写法,没有任何变化。而根目录开始的相对路径前面不是原来的“/myweb”,而是变为了通常理解的那种“/”开始的根相对路径了。这也是因为受了context的path=””的影响,项目URL的前缀(即path值)为空,所以不写前缀了。这里当path设置为空时,一直到根目录的URL前缀不是127.0.0.1:8080/myweb/,而变成了127.0.0.1:8080/了。所以第一个当前目录开始的相对路径前面加上了一直到根目6、录的URL路径:127.0.0.1:8080/;在第二个根目录开始的相对路径前面也加上了127.0.0.1:8080。此时看起来两个加上的URL路径是一样的,但实际上前者的含义是一直到根目录的URL路径,而后者URL路径不包括path值,只是到端口号为止了。4、小结:根据上述分析看出,从当前目录开始的相对路径不受服务器环境context配置的影响,而根相对路径则要收到context的path设置的严重影响,这个影响就是根相对路径的开头不是“/”,而是“/path值”。所以,使用根相对路径写超链接非常麻烦,必须知道path设置。而且一旦context的path的值改变,那么所有原来使用根相对7、路径的超链接都要改变!5、include指令的文件包含路径include指令元素的文件包含路径也有两种相对路径,一种是根目录开始的相对路径,一种是当前目录开始的相对路径。但是没有那种超链接的URL绝对路径!如果是include指令的当前目录的相对路径,那么使用方法上和超链接的这种相对路径是一样的。如果include指令使用根相对路径,那么不需要考虑context中path的设置,直接用“/”代表根目录,不需要(能)再加上
5、>当前目录开始的相对路径,没有变化!根相对路径,去掉了原来的path值注意:当前目录开始的相对路径开始通常的写法,没有任何变化。而根目录开始的相对路径前面不是原来的“/myweb”,而是变为了通常理解的那种“/”开始的根相对路径了。这也是因为受了context的path=””的影响,项目URL的前缀(即path值)为空,所以不写前缀了。这里当path设置为空时,一直到根目录的URL前缀不是127.0.0.1:8080/myweb/,而变成了127.0.0.1:8080/了。所以第一个当前目录开始的相对路径前面加上了一直到根目
6、录的URL路径:127.0.0.1:8080/;在第二个根目录开始的相对路径前面也加上了127.0.0.1:8080。此时看起来两个加上的URL路径是一样的,但实际上前者的含义是一直到根目录的URL路径,而后者URL路径不包括path值,只是到端口号为止了。4、小结:根据上述分析看出,从当前目录开始的相对路径不受服务器环境context配置的影响,而根相对路径则要收到context的path设置的严重影响,这个影响就是根相对路径的开头不是“/”,而是“/path值”。所以,使用根相对路径写超链接非常麻烦,必须知道path设置。而且一旦context的path的值改变,那么所有原来使用根相对
7、路径的超链接都要改变!5、include指令的文件包含路径include指令元素的文件包含路径也有两种相对路径,一种是根目录开始的相对路径,一种是当前目录开始的相对路径。但是没有那种超链接的URL绝对路径!如果是include指令的当前目录的相对路径,那么使用方法上和超链接的这种相对路径是一样的。如果include指令使用根相对路径,那么不需要考虑context中path的设置,直接用“/”代表根目录,不需要(能)再加上
此文档下载收益归作者所有