<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
这个语句是用来拼接当前网页的相对路径的。
一、用这个base,服务器就可以动态的将指定路径和页面的相对路径拼装起来,形成完整的路径。
1.request.getSchema();可以返回当前页面所使用的协议,就是"http"
2.request.getServerName();返回当前页面所在服务器的名字,就是上面例子中的"localhost"
3.request.getServerPort();返回当前页面所在服务器的端口号,就是上面例子中的"8085"
4.request.getContextPath();返回当前页面所在的应用的名字,就是上面例子中的"Info_System"
当前页面路径是:http://localhost:80/Info_System/uploadAttachs/attachs_list.jsp
根据上面的介绍,那么我在当前页面中有跳转为:
<li>
<a href="<%=basePath%>user/user_info.jsp" class="information_off">
</a>
</li>
就应该这样写。
二、<base herf="...">用来表明当前页面的相对路径所使用的根路径,也就是项目名称(只能放在<head>中)
如:<base href="<%=basePath%>">
则:<a href="http://www.baidu.com/xxx.htm"></a>,你现在就只需要写<a href="xxx.htm"></a>
什么是根路径:
比如,页面内部有一个连接,完整的路径应该是 http://localhost:8085/Info_System/user/user_info.jsp
其中http://server/是服务器的基本路径,Info_System是当前应用程序的名字,那么,我的根路径应该是http://localhost:8085/Info_System/。