Java ServletContext

前端 未结 5 799
遥遥无期
遥遥无期 2021-01-23 16:26

I have a JSP web site, not Spring MVC, and it has a config file web.xml.

There are a couple of settings within the web.xml file that I\'d like to get.

However, I

5条回答
  •  不思量自难忘°
    2021-01-23 17:08

    Using a javax.servlet.ServletContextListener implementation, that allows a singleton-like access to context:

    package test.dummy;
    import javax.servlet.ServletContextListener;
    import javax.servlet.ServletContextEvent;
    
    public  class ContextConfiguration implements ServletContextListener {
    
      private static ContextConfiguration _instance;
    
      private ServletContext context = null;
    
      //This method is invoked when the Web Application
      //is ready to service requests
      public void contextInitialized(ServletContextEvent event) {
        this.context = event.getServletContext();
    
        //initialize the static reference _instance
         _instance=this;
      }
    
      /*This method is invoked when the Web Application has been removed 
      and is no longer able to accept requests
      */
      public void contextDestroyed(ServletContextEvent event) {
        this.context = null;
    
      }
    
      /* Provide a method to get the context values */
      public String getContextParameter(String key) {
         return this.context.getInitParameter(key);
      }
    
      //now, provide an static method to allow access from anywere on the code:
      public static ContextConfiguration getInstance() {
         return _instance;
      }
    }
    

    Set it up at web.xml:

    
    
        
         test.dummy.ContextConfiguration
        
      
    
    
     
    

    And use it from anywhere at the code:

    ContextConfiguration config=ContextConfiguration.getInstance();
    String paramValue=config.getContextParameter("parameterKey");
    

提交回复
热议问题