Loading

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

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

访问路径: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 @ 2021-08-20 21:10  IamHzc  阅读(379)  评论(0编辑  收藏  举报