• JSP 10: 客户端的绝对路径问题


    1.   客户端路径: 

    <1> 指向资源 (某个html/JSP/Servlet..页面, 也可能指向某个图片/CSS/JS文件)

    <2> 需要浏览器发起请求, 解析路径

    2.   服务器端路径

    <1> 需要服务器端解析

    <jsp:include page="head.jsp"></jsp:include>, head.jsp 就是一个服务器端路径

    3.  例子

    <1>  创建文件:

    <2>  

    <a>  在path.jsp中:  

          <body>
            <h1>这是一个h1标签!!</h1>
          </body>

    <b>  在style.css中:

          h1 {
            color: green;
          }

    <c>  在path.jsp中引入css (使用相对路径):

          <head>

            <link rel="stylesheet" href="css/style.css" type="text/css" />

          <head>

    效果:

    <c-2>  在path.jsp中引入css (使用绝对路径):

          <head>

            <link rel="stylesheet" href="/css/style.css" type="text/css" />

          <head>

    效果:

     解释: 如果在路径前加上 "/", 就会从项目的根目录去找

    在本例中,就变成了: http://localhost:8080/css/style.css (因此找不到)

    <c-3>  在path.jsp中引入css (使用正确的绝对路径):

          <head>

            <link rel="stylesheet" href="/web04/css/style.css" type="text/css" />

          <head>

    效果:

    <d>  由于项目名可能会被修改, 因此,绝对路径不是一成不变的

    对此, 进行优化:

    在path.jsp中:

      <% System.out.println(request.getContextPath());  %>  <!-- 获取到当前项目名 --> 

    效果:

      输出了/web04

    因此, 应该将绝对路径写为:

          <head>

            <link rel="stylesheet" href="<%=request.getContextPath() %>/css/style.css" type="text/css" />

          <head>

  • 相关阅读:
    程序员的一天
    链表实现回文palindrome判断
    深度探索Go语言:包装方法
    小码哥外挂破解
    Spring中的那些注解
    错误: Unable to connect to a repository at URL 'https://192.168.1.111/svn/
    C#:带校验的串口开关控制
    Crontab不正常执行
    java 注解练习1
    java 注解练习2
  • 原文地址:https://www.cnblogs.com/JasperZhao/p/13507274.html
Copyright © 2020-2023  润新知