在一个页面里这样访问了一个js文件

转载 2012年03月28日 11:47:44
之前看过很多朋友在csdn上发帖问怎么这么设置网站资源的访问路径好。按照本文的思路。记得是思路,只要你看懂了思路也不局限于实现这个接口。 就可以很好的去解决项目的资源路径。比如在一个页面里这样访问了一个js文件,将来不管这个页面怎么移动目录都不需要管这个js访问路径对不对(除非这个js资源移动了位置)
转载请标明本文出处:实现ServletContextListener解决项目资源访问路径不统一的问题

1 自定义一个实现类 ContextPathListener 它实现了 ServletContextListener

Java code
import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; /** * 在页面里直接受用 ${path}/xxx/xxx.jsp 这样的方式访问资源 * @author http://www.gbsou.com * */ public class ContextPathListener implements ServletContextListener { /* * (non-Javadoc) * * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent) */ public void contextInitialized(ServletContextEvent sce) { ServletContext sc = sce.getServletContext(); sc.setAttribute("path", getContextPath(sc)); } /* * (non-Javadoc) * * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent) */ public void contextDestroyed(ServletContextEvent sce) { ServletContext sc = sce.getServletContext(); sc.removeAttribute("path"); } private String getContextPath(ServletContext sc) { return sc.getContextPath(); } }


2 在web.xml 配置成listener
XML code
<listener> <listener-class> www.gbsou.com.listeners.ContextPathListener </listener-class> </listener>


3 这样的话 在项目启动时会去获取上下文路径并且以key为path保存到ServletContext 里

4 我们在jsp页面里访问css之类的资源时只需要用EL表达式这样写,将来不管jsp移到哪个目录都没问题了:
HTML code
<head> <link href="${path }/css/style.css" rel="stylesheet" type="text/css" /> </head>


为什么直接访问项目名与加上index.html看到的页面不一样

假设以下是我的项目 现在出现一个问题: 现在要访问 这个页面有两种方式 一    http://www.xxx.com/20160302 二    http://www.xxx.c...
  • retainAll
  • retainAll
  • 2016年03月14日 13:24
  • 2802

关于jsp页面是放在webroot目录下和web-inf下优缺点/(如何访问WebRoot中的CSS和JS文件)

问: jsp放在webroot目录下 这样就可以让用户直接访问,jsp放在web-inf目录下就必须要通过请求才能访问。 因此放在web-inf下jsp页面显得要安全。  既然这样 ,那...
  • lin446591998
  • lin446591998
  • 2014年07月25日 20:10
  • 2284

Javascript 如何访问 和 修改CSS样式(网页样式)

Javascript 访问修改页面元素的CSS样式,一般有两种方法 一种方法是访问修改元素中style属性的CSS样式,一般这样的style属性是直接写在元素上的,而不是在外部的CSS文件中;另一种方...
  • fuyizhonhong
  • fuyizhonhong
  • 2016年01月28日 19:49
  • 2828

一个jsp文件模拟xml文件,通过js调用解析后,在新的jsp页面上显示省市二级联动。

  • 2010年12月20日 16:53
  • 2KB
  • 下载

判断一个页面是否加载了某个js文件

在加载嵌套等页面的时候,遇见了一种这样的情况,有的文件中已经加载了某个js,但是又加载了一遍,导致有些插件不能正常使用。 例如: !window.jQuery && document....
  • qq_31879707
  • qq_31879707
  • 2017年01月26日 12:11
  • 241

利用JS跨域做一个简单的页面访问统计系统

其实在大部分互联网web产品中,我们通常会用百度统计或者谷歌统计分析系统,通过在程序中引入特定的JS脚本,然后便可以在这些统计系统中看到自己网站页面具体的访问情况。但是有些时候,由于一些特殊情况,我们...
  • zwkb24
  • zwkb24
  • 2014年06月30日 15:15
  • 773

Laravel一个页面里有多个分页并用jQuery pagination.js实现

"{{asset('lib/js/jquery.pagination.js')}}"> //引入该文件前别忘了引入JQUERY库        $(function(){      //这是一个非常简...
  • qq_36663951
  • qq_36663951
  • 2017年07月31日 09:03
  • 121

Laravel一个页面里有多个分页并用jQuery pagination.js实现

//引入该文件前别忘了引入JQUERY库 $(function(){ //这是一个非常简单的demo实例,让列表元素分页显示,我们一个页面里既有老师,又有学生,分别分页,还要换行 ...
  • amazingdyd
  • amazingdyd
  • 2016年06月07日 09:40
  • 1791

JS实现选取一个图片作为页面背景.

  • 2013年12月12日 19:31
  • 555B
  • 下载

js 特效 html 特效 给页面加一个热键脚本

  • 2011年06月14日 20:58
  • 7KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在一个页面里这样访问了一个js文件
举报原因:
原因补充:

(最多只允许输入30个字)