绝对路径和相对路径

在jsp,html中使用的地址,都是在前端页面中的地址,都是相对地址

地址分类:

  1,绝对地址,带有协议名称的是绝对地址,http://www.baidu.com,ftp://202.122.23.1

  2,相对地址,没有协议开头的,例如user/some.do,/user/some.do

    相对地址不能独立使用,必须有一个参考地址。通过参考地址+相对地址本身才能指定资源。

    

  3,参考地址

    在你的页面中,访问地址不加 " / " 

    访问的是: http://localhost:8080/ch06_path/index.jsp

    路径:http://localhost:8080/ch06_path/

    资源:index.jsp

  1)在index.jsp发起 user/some.do请求,访问地址变为 http://localhost:8080/ch06_path/user/some.do

  当你的地址 没有斜杠开头,例如user/some.do,当你点击链接时,访问地址是当前页面的地址加上链接的地址

    http://localhost:8080/ch06_path/ + user/some.do

 

    -----------------------------------------------

    index.jsp 访问user/some.do ,返回后现在的地址: http://localhost:8080/ch06_path/user/some.do

     http://localhost:8080/ch06_path/user/some.do

    路径: http://localhost:8080/ch06_path/user/

    资源:some.do

    

 

 

    在index.jsp中 再次点击发起user/some.do请求后,地址变为:http://localhost:8080/ch06_path/user/user/some.do

    解决方案:

    (1)加入${pageContext.request.contextPath}

    (2)加入一个base标签,是html语言中的标签。表示当前页面中访问地址的基地址。

      你的页面中所有 没有“/”开头的地址,都是以base标签中的地址为参考地址。

      使用base中的地址 + user/some.do组成访问地址。

      例如:

        

 

       

 

     可以在html 中写 后面就不用写那么多1解决方法中加入的语句

    

 

     如果你的项目名变了怎么办?

    可以用指定路径(有一段代码)

    base标签只能在本页面有效,多页面需要每个页面都添加如下代码

 

 

  2)在你的页面中的,访问地址加 " / "

    访问的是:http://localhost:8080/ch06_path/index.jsp

    路径:http://localhost:8080/ch06_path/

    资源:index.jsp

    点击 /user/some.do 访问地址变为 http://localhost:8080/user/some.do

    参考地址是 你的服务器地址,也就是http://localhost:8080

    如果你的资源不能访问,加入 ${pageContext.request.contextPath}   (项目名称)

    <a href=" ${pageContext.request.contextPath}/user/some.do">发起user/some.do的get请求</a> 

 

    

posted @ 2022-01-12 15:55  doremi429  阅读(79)  评论(0编辑  收藏  举报