通常把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"/>

转载于:https://www.cnblogs.com/convict/p/9096481.html

解决/WEB-INF目录下的jsp页面引入webRoot下的Js、css和图片的问题相关推荐

  1. 直接访问WEB-INF目录下的JSP页面的方法

    WEB-INF目录下的JSP页面不能通过地址栏直接访问,WEB-INF目录下的文件不能直接被访问主要是出于安全考虑,当然如果不用考虑安全性的话,你可以直接把JSP页面放到WEB-INF外的webapp ...

  2. jsp下拉框传到html下拉框,在一个jsp页面实现二级下拉框联动

    在一个jsp页面实现二级下拉框联动,实时读取数据库数据. 在一个jsp页面实现二级下拉框联动,实时读取数据库数据,这个方法非常使用,只需要修改很小的地方就可以使用.设计的文件,serch.jsp,ma ...

  3. js和css和img,Node.js压缩web项目中的js,css和图片

    安装node.js 这个非常简单,下载下来,配置下环境变量就可以了,使用node -v查看是否安装成功 安装压缩需要的模块分别是uglify-js,clean-css,node-smushit 命令是 ...

  4. Node.js压缩web项目中的js,css和图片

    2019独角兽企业重金招聘Python工程师标准>>> 安装node.js 这个非常简单,下载下来,配置下环境变量就可以了,使用node -v查看是否安装成功 安装压缩需要的模块分别 ...

  5. java web 通过servlet访问web_inf jsp跳转_WEB-INF下的jsp通过servlet中超链接跳转

    在J2EE中其主要安全性就体现在web工作目录的WEB-INF文件夹下.如果将一个页面保存在WEB-INF文件下 ,那么该页面则不能被用户访问,就好比小偷都看不见我有什么,他还能知道要偷什么吗.. 因 ...

  6. 微信公众号之微信支付(V3版)jsp页面jsapi统一下单调启支付(java版)

    web项目 按顺序一步一步来 准备: 申请了微信支付接口的微信公众号一枚 , 备案的域名网站一枚, (如果有没有的这两个东西会耽误你很久,因为微信支付必须是线上,无法本地调试,) 这里说一下 如果有经 ...

  7. Java中文jsp页面_java中文乱码解决之道(七)—–JSP页面编码过程

    我们知道JSP页面是需要转换为servlet的,在转换过程中肯定是要进行编码的.在JSP转换为servlet过程中下面一段代码起到至关重要的作用. 在上面代码中有两个地方存在编码:pageEncodi ...

  8. java 页面编码_java中文乱码解决之道(七)-----JSP页面编码过程

    我们知道JSP页面是需要转换为servlet的,在转换过程中肯定是要进行编码的.在JSP转换为servlet过程中下面一段代码起到至关重要的作用. 在上面代码中有两个地方存在编码:pageEncodi ...

  9. java下拉框读取数据库数据_在一个jsp页面实现二级下拉框联动,实时读取数据库数据...

    在一个jsp(SUN企业级应用的首选)页面实现二级下拉框联动,实时读取数据库数据,这个方法非常使用,只需要修改很小的地方就可以使用.设计的文件,serch.jsp(SUN企业级应用的首选),main. ...

最新文章

  1. linux mysql 自动加斜杠_【实战演练】Linux操作系统19-Mysql主主复制加Keepalived高可用...
  2. 使用recon/domains-hosts/baidu_site模块,枚举baidu网站的子域
  3. 【Boost】boost库asio详解8——TCP的简单例子1
  4. 前端JavaScript规范
  5. Playfab开发(一)如何调用PlayFab接口
  6. 从踩坑到填坑|淘宝Web 3D应用与游戏开发实战
  7. flv 自动播放 html autostart=true,《网页制作之FLV视频播放代码的编写.doc
  8. 信息学奥赛C++语言:有规律的数列
  9. python正则表达式爬虫_Python爬虫之正则表达式一些常用方法
  10. mysql like 贪婪匹配_mysql模糊查询like与REGEXP的使用详细介绍
  11. vue-router路由懒加载(解决vue项目首次加载慢)
  12. SQL2005中row_number( )、rank( )、dense_rank( )、ntile( )函数的用法(1)
  13. 在线图片坐标拾取工具
  14. linux-ubuntu 安装mysql5.7.19的一些坑
  15. windows 服务的安装与卸载之bat脚本命令
  16. 水面反光如何拍摄_「摄影技巧全解」「水面篇」不一样的水面粼粼波光
  17. BJT与MOSFET与IGBT的区别
  18. IAR环境下的STM32H750片外QSPI Flash下载仿真
  19. 基于F4/F7/H7飞控硬件和px4飞控固件的廉价自主无人机系统(2)- 外设和固件修改
  20. java ljava/lang/string_([Ljava/lang/String;)V的含义

热门文章

  1. System.Diagnostics.Process 执行.EXE
  2. C#使用Log4Net记录日志【转】
  3. JSLint检测Javascript语法规范
  4. Android内存优化之内存泄漏
  5. 购物商城Web开发第二十三天
  6. vue-i18n使用及踩坑记录
  7. 服务器性能估算参考(硬件-应用服务器)
  8. 解决larave-dompdf中文字体显示问题
  9. MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
  10. 3C趋势价值对云计算发展的驱动作用