public JspRuntimeContext(ServletContext context,Options options){
  this.context=context;
  this.options=options;
  int hashSize=options.getInitialCapacity();
  jsps=new ConcurrentHashMap<String,JspServletWrapper>(hashSize);
  bytecodes=new ConcurrentHashMap<String,byte[]>(hashSize);
  bytecodeBirthTimes=new ConcurrentHashMap<String,Long>(hashSize);
  packageMap=new ConcurrentHashMap<String,Map<String,JavaFileObject>>();
  if (log.isLoggable(Level.FINEST)) {
    ClassLoader parentClassLoader=getParentClassLoader();
    if (parentClassLoader != null) {
      log.finest(Localizer.getMessage("jsp.message.parent_class_loader_is",parentClassLoader.toString()));
    }
 else {
      log.finest(Localizer.getMessage("jsp.message.parent_class_loader_is","<none>"));
    }
  }
  initClassPath();
  if (context instanceof org.apache.jasper.servlet.JspCServletContext) {
    return;
  }
  if (Constants.IS_SECURITY_ENABLED) {
    initSecurity();
  }
  String appBase=context.getRealPath("/");
  if (!options.getDevelopment() && appBase != null && options.getCheckInterval() > 0 && !options.getUsePrecompiled()) {
    if (appBase.endsWith(File.separator)) {
      appBase=appBase.substring(0,appBase.length() - 1);
    }
    String directory=appBase.substring(appBase.lastIndexOf(File.separator));
    threadName=threadName + "[" + directory+ "]";
    threadStart();
  }
}

public JspRuntimeContext ( ServletContext context , Options options ) { this . context = context ; this . options = options ; int hashSize = options . getInitialCapacity ( ) ; jsps = new ConcurrentHashMap < String , JspServletWrapper > ( hashSize ) ; bytecodes = new ConcurrentHashMap < String , byte [ ] > ( hashSize ) ; bytecodeBirthTimes = new ConcurrentHashMap < String , Long > ( hashSize ) ; packageMap = new ConcurrentHashMap < String , Map < String , JavaFileObject > > ( ) ; if ( log . isLoggable ( Level . FINEST ) ) { ClassLoader parentClassLoader = getParentClassLoader ( ) ; if ( parentClassLoader != null ) { log . finest ( Localizer . getMessage ( "jsp.message.parent_class_loader_is" , parentClassLoader . toString ( ) ) ) ; } else { log . finest ( Localizer . getMessage ( "jsp.message.parent_class_loader_is" , "<none>" ) ) ; } } initClassPath ( ) ; if ( context instanceof org . apache . jasper . servlet . JspCServletContext ) { return ; } if ( Constants . IS_SECURITY_ENABLED ) { initSecurity ( ) ; } String appBase = context . getRealPath ( "/" ) ; if ( ! options . getDevelopment ( ) && appBase != null && options . getCheckInterval ( ) > 0 && ! options . getUsePrecompiled ( ) ) { if ( appBase . endsWith ( File . separator ) ) { appBase = appBase . substring ( 0 , appBase . length ( ) - 1 ) ; } String directory = appBase . substring ( appBase . lastIndexOf ( File . separator ) ) ; threadName = threadName + "[" + directory + "]" ; threadStart ( ) ; } }
create a jspruntimecontext for a web application context . loads in any previously generated dependencies from file .
