页面中,访问地址加“/”和不加“/”的区别

在页面中,访问地址不加“/”#

访问路径:http://localhost:8080/springMVC_01/index.jsp

路径:http://localhost:8080/springMVC/
资源:index.jsp

在index.jsp发起请求<a href="test/doSome.do">点击发送请求</a>
此时的状态栏地址为http://localhost:8080/springMVC_01/test/doSome.do
http://localhost:8080/springMVC/+test/doSome.do.

此时

路径:http://localhost:8080/springMVC_01/test/
资源: doSome.do

如果再次访问 test/doSome.do
地址栏变为:http://localhost:8080/springMVC_01/test/test/doSome.do.
解决方案:

  1. 访问地址修改为 -> <a href="${pageContext.request.contextPath}/test/doSome.do">
  2. 加入base标签 -> <base href="http://localhost:8080/springMVC_01/" />
    或者
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String basePath = request.getScheme() + "://" +
            request.getServerName() + ":" + request.getServerPort() +
            request.getContextPath() + "/";
%>
<html>
<head>
    <title>Title</title>
    <base href="<%=basePath%>" />
</head>
<body>
     <p><a href="user/some.do">发起请求</a> </p>
</body>
</html>

在页面中,访问地址加“/”#

访问路径:http://loalhost:8080/springMVC/index.jsp

路径:http://localhost:8080/springMVC/
资源:index.jsp

在index.jsp发起请求<a href="/test/doSome.do">点击发送请求</a>
此时的状态栏地址为http://localhost:8080/test/doSome.do
http://localhost:8080+/test/doSome.do.

posted @   IamHzc  阅读(397)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示
主题色彩