使用监听器解决路径问题,例如在jsp页面引入js,css的web应用路径
使用监听器解决路径问题,例如在jsp页面引入js,css的web应用路径
经常地,我们要在jsp等页面引入像js,css这样的文件,但是在服务器来访问的时候,这时间就有关到相对路径与绝对路径了。像网页这种,我们不可能去写死一个绝对路径,就需要来写相对路径。
一、要想在jsp页面中引入 js,css等文件,web应用的路径可以使用${pageContext.request.ContextPath}
例如:
<script src="${pageContext.request.contextPath}/jquery/jquery-2.1.1.min.js"></script>
二、使用监听器解决路径问题
1、先写一个类来实现ServletContextListener,覆写里面的接口
例如先写一个ServletStartUpListener.class
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener; /**
* 资源访问路径监听
*/
public class ServletStartUpListener implements ServletContextListener { @Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
//将web用户名称保存到application中去
ServletContext application = servletContextEvent.getServletContext();
String contextPath = application.getContextPath();
application.setAttribute("APP_PATH",contextPath);
} @Override
public void contextDestroyed(ServletContextEvent servletContextEvent) { }
}
2、在web.xml文件中配置监听器,让应用在启动的时候监听到,并执行初始化方法,将web用户名称保存到application中去
<!--使用监听器配置web路径-->
<listener>
<listener-class>com.lzc.rbac.web.ServletStartUpListener</listener-class>
</listener>
3、再在我们的jsp页面使用监听器解决路径问题
例如:
<script src="${APP_PATH}/jquery/jquery-2.1.1.min.js"></script>
这里的${APP_PATH}就是获取在上面实现ServletContextListener类中的contextInitialized()方法里面设置的属性值application.setAttribute("APP_PATH",contextPath);
使用监听器解决路径问题,例如在jsp页面引入js,css的web应用路径的更多相关文章
- 解决/WEB-INF目录下的jsp页面引入webRoot下的Js、css和图片的问题
通常把jsp页面放在webRoot的/WEB-INF下可以防止访问者直接输入页面. 而webRoot的/WEB-INF下的页面是受保护的,用户无法通过形如http://localhost:8080/t ...
- 使用Maven构建Java Web项目时,关于jsp中引入js、css文件路径问题。
今天有点闲,自己动手搭建一个Java Web项目,遇到jsp中引入js.css文件时路径不正确的问题,于是在网上查阅了很多资料,最终都无法解决问题,于是,上stackoverflow找到了解决方法,这 ...
- jsp页面引入不了js路径没错
最近搞开发,发现有个jsp页面引入不了js:很是神奇,路径什么的都没问题,同事的浏览器可以加载该js,发现放到其他的文件夹下可以加载该js:当时没研究出来,任务紧就没研究了. 最近闲下来了,有去研究, ...
- 解决Intellij Idea下修改jsp页面不自动更新
解决Intellij Idea下修改jsp页面不自动更新 On frame deactivation:被设置成了Do nothing 解决办法:改为Update resources(更新资源)或者Up ...
- springMVC下jsp引用外部js,css等静态资源的解决方法
直入主题. 1. web.xml对springMVC配置如下: <servlet> <description>Spring MVC配置</description> ...
- eclipse导入maven时,html页面引入js的路径出现红色波浪线
用eclipse导入一个springboot项目时,html页面引入js以及css时出现如下图所示情况,html页面用了 thymeleaf模板引擎.另外js文件与css文件路径也是正确无误的. 原来 ...
- jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行?
jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行? 因为在解析时最新解析的就是JA ...
- 记录---java中jsp页面引入jquery路径的问题
今天在jsp页面中引入jquery的时候因为路径不对总是报404,网上的方法找到几种试了试但是最后结果还是不生效,遂想起原先的项目中有引入外部jquery的例子,所以立马看了看,发现当时的项目中是用$ ...
- jsp文件引入js文件的方式(项目部署于web容器中)
在页面中引入javascript文件的方式是多种多样的,本文介绍两种. 通过<script>标签插入js文件 通过这种方式引入的js,写对js文件和jsp文件的路径很重要.下面给出一个项目 ...
随机推荐
- linq 把list分组为 List<List>
public class User { public int UserID { get; set; } public string UserName { get; set; } public int ...
- Maven 学习 -- 目录
1. Maven 学习-入门 2. Maven学习-目录结构 3. Maven学习-处理资源文件 啦啦啦
- SpringBoot Druid整合,SpringBoot 集成Druid
SpringBoot Druid整合,SpringBoot 集成Druid ================================ ©Copyright 蕃薯耀 2018年4月8日 http ...
- Android 集成ShareSDK分享QQ或空间成功后,回调却不执行的原因
AndroidMainifest.xml中的如箭头所示的id一定要与assets下ShareSDK.xml中配置的QQ的AppId一定要相同. 如下图
- TSPL学习笔记(1)
扩展语法(Syntactic extensions) 扩展语法就是通过核心语法或已经定义的扩展语法创建一种新的语法模式. Scheme核心语法模式包括: 顶层定义 常量 变量 过程应用 '(quote ...
- Automatic Summarization of Bug Reports
CONTENT: example : KDE bug report: https://bugs.kde.org/show_bug.cgi?id=188311 (其中还有很多comments没显示) ...
- java工具类 获取包下所有类
extends:http://blog.csdn.net/jdzms23/article/details/17550119 package com.threeti.util; import java. ...
- SQL逻辑查询语句执行顺序 需要重新整理
一.SQL语句定义顺序 1 2 3 4 5 6 7 8 9 10 SELECT DISTINCT <select_list> FROM <left_table> <joi ...
- 6.25html基础!
<!DOCTYPE html> <html> <head> <title>form表单</title> </head> < ...
- day8 八、文件操作模式、文件的复制与文件游标操作
一.文件操作 1.wr模式结合 ① w = open('1.txt', 'w', encoding='utf-8') # w:没有文件新建文件,有文件就清空文件 w.write('000\n') w. ...