解决jsp页面中路径问题,用 “/” 还是不用
在jsp,html中使用的地址,都是在前端页面中的地址,都是相对路径
地址分类:
1.绝对路径:带有协议名称的是绝对路径 http://www.baidu.com
2.相对路径:没有协议开头的,例如: user/some.do,/user/some.do
没有地址不能独立使用,必须有一个参考地址,通过参考地址+行对自制本身才能指定资源
相对路径的使用前后端区别:
1.前端:不使用“/”开头定义资源,则该路径为: 服务器地址 + 资源路径
2.后端:需要使用“/”开头定义资源,则该路径为: 服务器地址 + 资源路径
绝对路径:
1.前端:需要全限定资源路径。例如:http://localhost/:8080/user/some.do
服务器地址:http://localhost/:8080/
资源路径:some.do
解决方案1:
可以使用el表达式来定义绝对路径:
<a href="${pageContext.request.contextPath}/user/some.do">点击发送请求</a>
解决方案2:
可以使用base标签,是html语言中的标签,表示 当前页面中访问地址的基地址(根地址)
加入base标签:
<base href="http://localhost:8080/day30spring/">
base标签也可以动态获取文件的路径,使用el表达式:
<%
String basePath = request.getScheme() + "://" + request.getServletName()
+ ":" + request.getServletPort() + request.getContextPath() + "/";
%>
标签中引入定义的 basePath
<base href="<%=basePath%>">
2.后端: