关于jsp的basepath和path的使用

原创 2015年11月19日 23:56:32
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

首先大家看到myeclipse2014会在新建jsp页面的时候,会自动给我们生成这两句代码;
那么这两句有什么用呢?
我们看看输出结果吧:

 <%System.out.println("basePath:"+basePath); %>
    <%System.out.println("path:"+path); %>

结果为:

basePath:http://localhost:8080/item_bank/
path:/item_bank

basePath后面带了一个“/”个哦~,这个各位注意一下
看的出来basePath就是绝对路径
path是相对路径
当我们在表单提交的时候,可以使用相对路径:

 <form action="<%=path+"/" %>RegistServlet" method="post">

注意就是path后面要带上“/”
当然还可以使用相对路径:

<form action="<%=basePath %>RegistServlet" method="post">

web.xml里面正常写就可以了,多层也无妨!即(/servlet/RegistServlet)

最后有一个:<base href="<%=basePath%>">
当我们使用:<base href="<%=basePath%>">的时候
那么我们可以直接写:

<form action="RegistServlet" method="post">

因为,使用了<base href="<%=basePath%>">,就相当于之后的相对路径在链接时都将在前面加上基链接指向的地址。即变成了:
http://localhost:8080/item_bank/RegistServlet这个了

若是不使用的话,那么就是相当于在当成文件夹下面寻找,可是当前是有个新的文件夹包裹住的,是为了分类嘛,所以这里相对路径要想能够有效的找到RegistServlet的url就要使用:

<form action="../RegistServlet" method="post">

这样就可以了!

base标记是一个基链接标记,是一个单标记。用以改变文件中所有连结标记的参数内定值。它只能应用于标记<head></head>之间。
你网页上的所有相对路径在链接时都将在前面加上基链接指向的地址。
重要属性:
href
设定前缀的链接地址
target
设定文件显示的窗口,同a标记中的target
简单例子:
<html>
<head>
<base href="http://www.baidu.com" target="_blank">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>base标记</title>
<link rel="Shortcut Icon" href="ani.CUR">
</head>
<body>
<a href="77.htm" target="_self">77</a>
<a href="88.htm">88</a>
</body>
</html>
当点了链接后,跳出的文件是http://www.baidu.com/77.htm或http://www.baidu.com/88.htm,它就是在这些相对路径的文件前加上基链接指向的地址。如果目标文件中的链接没有指定target属性,就用base标记中的target属性。
常在框架结构中用,如左右两个框架,把左边的框架中文件里的连接都显示在右边的框架里。只要用base标记,把其target属性值写为右框架名称,这就不用再为左框架里的文件中的每一个连接都指定target属性。
当使用时,BASE 元素必须出现在文档的 HEAD 内,在任何对外部源的引用之前。
此元素在 Microsoft? Internet Explorer 3.0 的 HTML 中可用,在 Internet Explorer 4.0 的脚本中可用。
此元素不会被渲染。
此元素不需要关闭标签。

jsp中的basePath和path

在JSP中的如果使用 "相对路径"  则有可能会出现问题.        因为 网页中的 "相对路径" , 他是相对于 "URL请求的地址" 去寻找资源.        上面这句话是什么意思呢 ?  ...

JSP中path与basePath的区别

在一般的JSP页面中,我们经常可以看到如下代码: String path = request.getContextPath(); String basePath = request.ge...

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

读懂的基础知识:String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request...

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

在JSP中的如果使用 "相对路径"  则有可能会出现问题.  因为 网页中的 "相对路径" , 他是相对于 "URL请求的地址" 去寻找资源.  上面这句话是什么意思呢 ?  举个例子:...

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

在JSP中的如果使用 "相对路径"  则有可能会出现问题. 因为 网页中的 "相对路径" , 他是相对于 "URL请求的地址" 去寻找资源. 上面这句话是什么意思呢 ? 举个例子:...

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

在JSP中的如果使用 "相对路径"  则有可能会出现问题. 因为 网页中的 "相对路径" , 他是相对于 "URL请求的地址" 去寻找资源. 上面这句话是什么意思呢 ? 举个例子:...

在jsp页面中使用basePath

在同一个站点,尽量不要加http地址,尽量不要加绝对路径,一是因为容易暴漏用户,二是部署的时候如果一旦工程名字修改,那一下子要改很多地方。 这里转载两个使用basePath的方法: ...
  • Code_lr
  • Code_lr
  • 2016年01月17日 21:15
  • 531

如何理解jsp页面中的“<base href="<%=basePath%>">”?

 jsp文件里通常有以下代码: 这里写图片描述  这里的">是什么意思呢? 我在W3School网站上查了html中的base标签,解释如下: 标签为页面上的所有链接规定默认地址...

jsp中的basePath

jsp中的basePath和path (绝对路径 相对路径) 在JSP中的如果使用 "相对路径" 则有 可能会出现问题. 因为 网页中的 "相对路径" , 他是相对于 "UR...

jsp中<basePath>问题

--------------------第一种情况 :直接访问JSP文件 ---------------------------------------   URL是 http...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于jsp的basepath和path的使用
举报原因:
原因补充:

(最多只允许输入30个字)