basepath的作用 (转)

转自:http://blog.csdn.net/randomnet/article/details/8630754

在谈basePath之前,先来讨论一下相对路径与绝对路径的区别。

相对路径-以引用文件之网页所在位置为参考基础,而建立出的目录路径。

绝对路径-以Web站点根目录为参考基础的目录路径。

在web应用程序中绝对路径不是指的磁盘文件中盘符目录路径。如:C:\Windows\System32

其实绝对路径与相对路径的不同处,只在于描述目录路径时,所采用的参考点不同。由于对网站上所有文件而言,根目录这个参考点对所有文件都是一样的,因此,运用以根目录为参考点的路径描述方式才会被称之为绝对路径。

在这里需要讲几个特殊符号:

"/"代表根目录,".."代表上一层目录,而"../../"所代表的是上一层目录的上一层目录。假设你注册了域名www.arm4u.com,并申请了虚拟主机,你的虚拟主机提供商会给你一个目录,比如www,这个www就是你网站的根目录。

假设你在www根目录下放了一个文件index.html,这个文件的绝对路径就是: http://www.arm4u.com/index.html。

假设你在www根目录下建了一个目录叫html_tutorials,然后在该目录下放了一个文件index.html,这个文件的绝对路径就是http://www.arm4u.com/html_tutorials/index.html

了解了相对路径与绝对路劲的概念后,我们来看看所谓的basePath是怎么写的:

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

看看上面的代码,我们来了解一下它具体的意思,

request.getContextPath()是在开发Web项目时,经常用到的方法,其作用是获取当前的系统路径。request.getContextPath()得到项目名,如果项目为根目录,则得到一个"",即空的字条串, 如果项目为Test, <%=request.getContextPath()% >/ 将得到Test/,服务器端的路径则会自动加上.

request.getScheme()返回的协议名称,默认是http。

request.getServerName()返回的是你浏览器中显示的主机名(例127.0.0.1).

getServerPort()获取服务器端口号(例:8080)。

我们不妨把basePath打印出来看看是什么,http://127.0.0.1:8080/test。

值得注意的是:request.getServerName()始终获取的是浏览器中显示的主机名,比如可以举个例子,我们在浏览其中输入的主机名是本地主机名192.168.10.23,那么我们在内网中可以通过http://192.168.10.23:8080/test这个路径来访问项目,如果是外网需要访问则需要提供域名http://www.arm4u.com/Test来访问,当然内网也可以通过这个路径来访问,此时打印出来的basePath是这个路径http://www.arm4u.com:8080/Test了,而不是http://192.168.10.23:8080/test

<base href="<%=basePath%>">必须放在<head></head>中。

在开发中试用basePath能够很好的避免出现路径的问题。basepath可称作web全路径。 页面中加了basepath,无论当前页面处于什么目录路径下,如manage/index.jsp,指的是web根目录下的manage文件夹下index.jsp。图片、链接引用的路径都是从当前应用程序的根路径开始的!如果没有basepath,写的路径是表示从相对于当前页面的路径,manage/index.jsp指的是当前目录下manage文件夹下的index.jsp

时间: 2024-08-23 16:55:41

basepath的作用 (转)的相关文章

在JSP中basepath的作用

basepath的作用 在谈basePath之前,先来讨论一下相对路径与绝对路径的区别. 相对路径-以引用文件之网页所在位置为参考基础,而建立出的目录路径. 绝对路径-以Web站点根目录为参考基础的目录路径. 在web应用程序中绝对路径不是指的磁盘文件中盘符目录路径.如:C:\Windows\System32 其实绝对路径与相对路径的不同处,只在于描述目录路径时,所采用的参考点不同.由于对网站上所有文件而言,根目录这个参考点对所有文件都是一样的,因此,运用以根目录为参考点的路径描述方式才会被称之

basepath的作用

basepath的作用 分类: java技术2013-03-03 14:30 4492人阅读 评论(0) 收藏 举报 basepath的作用 2012-11-25 23:16:41|  分类: J2EE |  标签:jsp   |字号 订阅 在谈basePath之前,先来讨论一下相对路径与绝对路径的区别. 相对路径-以引用文件之网页所在位置为参考基础,而建立出的目录路径. 绝对路径-以Web站点根目录为参考基础的目录路径. 在web应用程序中绝对路径不是指的磁盘文件中盘符目录路径.如:C:\Wi

JSP中&lt;base href=&quot;&lt;%=basePath%&gt;&quot;&gt;的作用

来源于:http://fanshuyao.iteye.com/blog/2097229 首先了解是什么是<base href=""> <base href="value">为页面上所有相对 URL 规定基准 URL: Html代码   <head> <base href="http://www.w3school.com.cn/i/" /> </head> <body> <

jsp细节------&lt;base&gt;

1:jsp一般都有这个<base href="<%=basePath%>">,它的作用一般用不到,但在使用java框架用注解时会用. 如下代码(xxx.jsp). %@ page language="java" contentType="text/html; charset=UTF-8"%> <% String path = request.getContextPath(); out.println("

java web页面 base

<base href="<%=basePath%>"> <base src="<%=basePath%>"> 主要作用:下面的<a href="">123</a> <img src=""/> 的地址连接前会自动加上基本设置中的连接.

JSP中&lt;base href=&quot;&lt;%=basePath%&gt;&quot;&gt;作用

通常在JSP页面开通有如下代码: 1 <% 2 String path = request.getContextPath(); 3 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 4 5 %> 这段代码的意思是获取当前项目的路径,如:http://localhost:808

解决JSP路径问题的方法(jsp文件开头path, basePath作用)

在JSP中的如果使用 "相对路径"  则有可能会出现问题. 因为 网页中的 "相对路径" , 他是相对于 "URL请求的地址" 去寻找资源. 上面这句话是什么意思呢 ? 举个例子: 假如我们有一个项目: MyApp 在该项目下, 有一个jsp文件夹 该文件夹下包括: login.jsp    // 登陆页面 register.jps  // 注册页面 我们在浏览器中输入地址 (注意: 地址的内容): http://localhost:8080/M

JSP中&lt;base href="&lt;%=basePath%&gt;"&gt;作用

通常在JSP页面开通有如下代码: Java代码   <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> 这段代码的意思是获取当前项目的路径,如:http://localhost:8080

String basePath = request.getScheme()+&quot;://&quot;+request.getServerName()+&quot;:&quot;+request.getServerPort()作用

问:有这样的语句 : String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; <base href="<%=basePath%>"> 答:这个语句是用来拼装当前网页的相对