zoukankan      html  css  js  c++  java
  • 解决/WEB-INF目录下的jsp页面引入webRoot下的Js、css和图片的问题

    通常把jsp页面放在webRoot的/WEB-INF下可以防止访问者直接输入页面。

    而webRoot的/WEB-INF下的页面是受保护的,用户无法通过形如http://localhost:8080/test/webRoot/WEB-INF/content/xx.jsp来访问,他们的访问都必须透过struts处理请求才能达到。

    然而,当把页面放在/web-inf下面时,JSP页面还是避免不了跟“外部”的js,css,图片“交互”,因为需要引入一些webRoot/css, webRoot/js, webRoot/images,而此时很容易引入失败,一般来说,此时用相对路径行不通了,所以必须使用绝对路径!下面一一总结。

    一、引入webRoot/css

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

     这个<%=request.getContextPath()%>即为/hh_test(项目名称),而<%=request.getContextPath()%>/css则相当于用绝对路径直接定位到了webRoot/css.

    二、引入webRoot/js

    <script type="text/javascript"  language="javascript" src="<%=request.getContextPath()%>/js/jquery-1.4.4.min.js"></script>  

    三、引入webRoot/images

    <img src="<%=request.getContextPath()%>/images/4.gif"  alt="加载外部图片" />  

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

    为了美观,也为了方便写代码,可以使用el表达式,即把<link href="<%=request.getContextPath()%>/css/default.css" rel="stylesheet" type="text/css"/>

    改为<link href="${pageContext.request.contextPath}/css/default.css" rel="stylesheet" type="text/css"/>

  • 相关阅读:
    Jsp语法、指令及动作元素
    java之Cookie详解
    servlet请求转发、包含以及重定向
    20181114_特性
    20181114_反射_泛型反射
    20181112_反射基础_对象获取
    20181110_wait和async
    20181106_线程之异常_取消_变量_安全Lock
    20181105_线程之Task
    20181104_C#线程之Thread_ThreadPool_使用Thread实现回到和带参数的回调
  • 原文地址:https://www.cnblogs.com/convict/p/9096481.html
Copyright © 2011-2022 走看看