jsp链接路径的学习

本文详细探讨了在JSP中不同情况下链接路径的行为,特别是在<head></head>标签内使用<base href="<%=basePath%>">的影响。内容包括在没有<base>标签时,超链接如何根据当前页面路径寻找资源,以及在有<base>标签时,所有链接将以此为基础路径。建议使用包含<base>标签的第三种方式来标准化链接路径,以减少错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先分析第一种情况,<head></head>标签里面没有<base href="<%=basePath%>">这样的一个标签:

首先,当前页面路径为http://localhost:8080/StrutsDemo/path/path

1.如果超链接为

返回的结果为

说明:因为前一网页的路径为http://localhost:8080/StrutsDemo/path/path.

对于<a href=”index.jsp”></a>来说,它会在当前路径下进行查找是否有index.jsp这个文件。所以其返回路径如上。

2.如果超链接为

返回的结果为

因为它就是在Tomcat服务器根路径开始查找index.jsp文件

3.如果超链接为

返回的结果为



第二种情况,

如果在jsp文件中存在下面的代码:

<%

String path = request.getContextPath();

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

%>

<head></head>里有如下标签

<base href="<%=basePath%>"> 

1.如果超链接为

返回的结果为

为什么会有这样的一个效果呢?因为存在这个<base>标签后,当前所有页面的链接其实都是以此为基础的。比如:

页面如下所示:

所以index.jsp文件的链接就应该为http://localhost:8080/StrutsDemo/index.jsp

2.如果超链接为

返回的结果为

3.如果超链接为:

则返回的结果为

总结:个人觉得对于链接路径的写法最好写成一个第三种方式,这样避免出错的几率也是相对来说小一点,而且这种写法也是更为的标准。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值