• Java ServletContext ServletContextAware InitializingBean


      ServletContext是一个全局的信息存储空间,服务器开始,其就存在,服务器关闭,其才释放.request,一个用户可以有多个,session,一个用户一个,而servletContext,所有用户公用一个.所以,为了节省空间,提高效率,在ServletCotext中放必须的,重要的所有用户需要共享的一些信息.

      Servlet上下文:Servlet上下文提供对应用程序中所有Servlet所共有的各种资源和功能的访问。Servlet上下文API用于设置应用程序中所有Servlet共有的信息。Servlet可能需要共享他们之间的共有信息。运行于同一服务器的Servlet有时会共享资源,如JSP页面、文件和其他Servlet。

    servlet可以通过名称将对象属性绑定到上下文。任何绑定到上下文的属性可以被同一个web应用的其他servlet使用。ServletContext接口的下列方法允许访问这种功能:

    setAttribute

    getAttribute

    getAttributeNames

    removeAttribute

    分布式容器中的上下文属性 上下文属性对于创建它们的VM来说是本地的。这防止ServletContext属性存储于分布式容器的共享内存中。当信息需要在运行于分布式环境中的servlet之间共享时,信息被放入会话中(参见第7章“会话”),存储于数据库中.

    /**
     * 项目启动监听,全局配置信息初始化,存储
     * @author yangfei
     * 
     *
     */
    @Component
    public class StartupListener implements InitializingBean, ServletContextAware {
            ...
            ...
            @Override
        public void setServletContext(ServletContext servletContext) {
            this.servletContext = servletContext;
        }
        /**
         * InitializingBean 接口方法
         * 用于初始化工作
         */
        @Override
        public void afterPropertiesSet() throws Exception {
            loadParams();
            loadConfig();
        }
    
    }                

      

  • 相关阅读:
    Linux开机自启配置
    django 无限层级的评论
    nginx通过自定义header属性来转发不同的服务
    Python 读取excel指定的列
    python 全栈开发,Day86(上传文件,上传头像,CBV,python读写Excel,虚拟环境virtualenv)
    Python 判断字符串是否包含中文
    PMM--简介与部署
    Logrotate滚动openresty日志
    promethus监控mysql
    promethus监控nginx
  • 原文地址:https://www.cnblogs.com/yangfei-beijing/p/6373857.html
Copyright © 2020-2023  润新知