zoukankan      html  css  js  c++  java
  • 使用监听器解决路径问题,例如在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);

  • 相关阅读:
    Flask--配置文件
    Flask--路由系统
    Flask--视图
    Flask--蓝图
    Flask--静态资源
    Flask--登录验证(多个装饰器)
    Flask--session
    CSS中的定位机制
    四、DDL常见操作汇总
    三、管理员必备技能
  • 原文地址:https://www.cnblogs.com/limn/p/9502955.html
Copyright © 2011-2022 走看看