使用监听器解决路径问题,例如在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应用路径的更多相关文章

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

    通常把jsp页面放在webRoot的/WEB-INF下可以防止访问者直接输入页面. 而webRoot的/WEB-INF下的页面是受保护的,用户无法通过形如http://localhost:8080/t ...

  2. 使用Maven构建Java Web项目时,关于jsp中引入js、css文件路径问题。

    今天有点闲,自己动手搭建一个Java Web项目,遇到jsp中引入js.css文件时路径不正确的问题,于是在网上查阅了很多资料,最终都无法解决问题,于是,上stackoverflow找到了解决方法,这 ...

  3. jsp页面引入不了js路径没错

    最近搞开发,发现有个jsp页面引入不了js:很是神奇,路径什么的都没问题,同事的浏览器可以加载该js,发现放到其他的文件夹下可以加载该js:当时没研究出来,任务紧就没研究了. 最近闲下来了,有去研究, ...

  4. 解决Intellij Idea下修改jsp页面不自动更新

    解决Intellij Idea下修改jsp页面不自动更新 On frame deactivation:被设置成了Do nothing 解决办法:改为Update resources(更新资源)或者Up ...

  5. springMVC下jsp引用外部js,css等静态资源的解决方法

    直入主题. 1. web.xml对springMVC配置如下: <servlet> <description>Spring MVC配置</description> ...

  6. eclipse导入maven时,html页面引入js的路径出现红色波浪线

    用eclipse导入一个springboot项目时,html页面引入js以及css时出现如下图所示情况,html页面用了 thymeleaf模板引擎.另外js文件与css文件路径也是正确无误的. 原来 ...

  7. jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行?

    jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行? 因为在解析时最新解析的就是JA ...

  8. 记录---java中jsp页面引入jquery路径的问题

    今天在jsp页面中引入jquery的时候因为路径不对总是报404,网上的方法找到几种试了试但是最后结果还是不生效,遂想起原先的项目中有引入外部jquery的例子,所以立马看了看,发现当时的项目中是用$ ...

  9. jsp文件引入js文件的方式(项目部署于web容器中)

    在页面中引入javascript文件的方式是多种多样的,本文介绍两种. 通过<script>标签插入js文件 通过这种方式引入的js,写对js文件和jsp文件的路径很重要.下面给出一个项目 ...

随机推荐

  1. Java知多少(47)多重catch语句的使用

    某些情况,由单个代码段可能引起多个异常.处理这种情况,你可以定义两个或更多的catch子句,每个子句捕获一种类型的异常.当异常被引发时,每一个catch子句被依次检查,第一个匹配异常类型的子句执行.当 ...

  2. What exactly can you do with Python? Here are Python’s 3 main applications._你能用Python做什么?下面是Python的3个主要应用程序。

    原文链接 Github地址 一.陈述 1,我到底能用Python做什么? 我观察注意到Python三个主要流行的应用: 网站开发: 数据科学——包括机器学习,数据分析和数据可视化: 做脚本语言. 二. ...

  3. Android实现电话录音功能

    需求分析 电话录音是在通话的时候进行录音,所以需要使用一个服务来完成功能. 需要监听电话的状态,分为三种状态:  空闲状态 TelephonyManager.CALL_STATE_IDLE 响铃状态 ...

  4. [Model] AlexNet

    CaffeNet - a variant of AlexNet Ref: Classification: Instant Recognition with Caffe This is caffeNet ...

  5. Mac 上 Charles 抓取 iso http、https数据包

    一.下载charles包. http://www.charlesproxy.com/download/ 选择mac版本的最新包Charles is 3.11.4. http://www.charles ...

  6. php 启动服务器监听

    使用命令 php -S 域名:端口号 -t 项目路径 截图如下: 原本是通过localhost访问的 现在可以通过 127.0.0.1:8880 访问 此时命令行终端显示如下:

  7. Python使用lxml模块和Requests模块抓取HTML页面的教程

    Web抓取Web站点使用HTML描述,这意味着每个web页面是一个结构化的文档.有时从中 获取数据同时保持它的结构是有用的.web站点不总是以容易处理的格式, 如 csv 或者 json 提供它们的数 ...

  8. 试一下Markdown

    Markdown 没想到博客园居然能够有markdown这样的写法了,以前觉得有自定义CSS已经非常不错了,现在居然加入Markdown,太值得称赞了.国内的博客系统,应该首屈一指了. 强调 你要走, ...

  9. 【!Important】Java线程死锁查看分析方法

    一.Jconsole Jconsole是JDK自带的图形化界面工具,使用JDK给我们提过的工具JConsole,可以通过cmd打开命令框然后输入Jconsole打开图形工具 然后点击检测死锁就可以查看 ...

  10. Jmeter 中JSON Path Extractor高级用法

    好久没玩jemter了,由于项目原因又重新拾起.在使用JSON Path Extractor(jmeter 4.0已经默认支持了,4.0以下要自行安装插件)时,可以进行条件过滤,不用再自行写shell ...