zoukankan      html  css  js  c++  java
  • Spring如何获取ServletContext

    一、获取ServletContext的几种方式

    实现WebApplicationInitializer接口,重写onStartup方法
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import org.springframework.web.WebApplicationInitializer;
    
    public class ApplicationInitializer implements WebApplicationInitializer {
        @Override
        public void onStartup(ServletContext servletContext) throws ServletException {
            System.out.println(servletContext);
        }
    }
    使用ServletContextListener

    创建一个实现ServletContextListener的监听器

    // 必不可少,声明为监听器,注册到web容器中
    @WebListener
    public class InitContextListener implements ServletContextListener {
        @Override
        public void contextInitialized(ServletContextEvent servletContextEvent) {
            ServletContext servletContext = servletContextEvent.getServletContext();
            System.out.println(servletContext);
        }
    
        @Override
        public void contextDestroyed(ServletContextEvent servletContextEvent) {
    
        }
    }
    使用ContextLoader
    WebApplicationContext webApplicationContext  = ContextLoader.getCurrentWebApplicationContext();
    ServletContext servletContext = webApplicationContext.getServletContext();
    使用spring自动注入
    @Autowired
    private ServletContext servletContext;
    request获取servletContext
    ServletContext servletContext = request.getServletContext();

    二、使用ServletContext存取

    添加属性:setAttribute(String name,Object ob);

    得到值:   getAttribute(String);    //返回Object

    删除属性:removeAttribute(String name);

  • 相关阅读:
    Win7 VS2015环境编译Libpng
    VS2013正确设置DLL环境变量目录的方法
    Win7 VS2013环境编译Squirrel 3.0.7
    docker-compose部署redis
    docker-compose部署nginx
    mysql备份
    docker 清理空间
    centos安装docker
    django整合vue
    部署3主3从redis伪集群
  • 原文地址:https://www.cnblogs.com/myitnews/p/12905269.html
Copyright © 2011-2022 走看看