@Override public int getEffectiveMajorVersion() { return proxy.getEffectiveMajorVersion(); }
@Override public void contextInitialized(final ServletContextEvent sce) { // if the servlet version is 3.1 or higher, setup a ELResolver which allows usage of static fields java.lang.* final ServletContext servletContext = sce.getServletContext(); final JspApplicationContext jspApplicationContext = JspFactory.getDefaultFactory().getJspApplicationContext(servletContext); if (servletContext.getEffectiveMajorVersion() > 3 || (servletContext.getEffectiveMajorVersion() == 3 && servletContext.getEffectiveMinorVersion() >= 1)) { jspApplicationContext.addELResolver(new ImportedClassELResolver()); } // setup a wrapped JspApplicationContext if there are any EL expression factory wrappers for this servlet context final List<ExpressionFactoryWrapper> expressionFactoryWrappers = (List<ExpressionFactoryWrapper>) sce.getServletContext().getAttribute(CONTEXT_KEY); if (expressionFactoryWrappers != null && !expressionFactoryWrappers.isEmpty()) { final JspApplicationContextWrapper jspApplicationContextWrapper = new JspApplicationContextWrapper(JspApplicationContextImpl.getInstance(servletContext), expressionFactoryWrappers, sce.getServletContext()); sce.getServletContext().setAttribute(JspApplicationContextImpl.class.getName(), jspApplicationContextWrapper); } }
return String.valueOf(ctx.getEffectiveMajorVersion());
@Override public void onStartup(final Set<Class<?>> classes, final ServletContext servletContext) throws ServletException { if (servletContext.getMajorVersion() > 2 && servletContext.getEffectiveMajorVersion() > 2 && !"true".equalsIgnoreCase(servletContext.getInitParameter( Log4jWebSupport.IS_LOG4J_AUTO_INITIALIZATION_DISABLED ))) { LOGGER.debug("Log4jServletContainerInitializer starting up Log4j in Servlet 3.0+ environment."); final FilterRegistration.Dynamic filter = servletContext.addFilter("log4jServletFilter", Log4jServletFilter.class); if (filter == null) { LOGGER.warn("WARNING: In a Servlet 3.0+ application, you should not define a " + "log4jServletFilter in web.xml. Log4j 2 normally does this for you automatically. Log4j 2 " + "web auto-initialization has been canceled."); return; } final Log4jWebLifeCycle initializer = WebLoggerContextUtils.getWebLifeCycle(servletContext); initializer.start(); initializer.setLoggerContext(); // the application is just now starting to start up servletContext.addListener(new Log4jServletContextListener()); filter.setAsyncSupported(true); // supporting async when the user isn't using async has no downsides filter.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), false, "/*"); } } }
public int getEffectiveMajorVersion() { return delegate.getEffectiveMajorVersion(); }
@Override public int getEffectiveMajorVersion() { return proxy.getEffectiveMajorVersion(); }
@Override public int getEffectiveMajorVersion() { return this.context.getEffectiveMajorVersion(); }
@Override public int getEffectiveMajorVersion() { return delegatee.getEffectiveMajorVersion(); }
@Override public int getEffectiveMajorVersion() { return parentContext.getEffectiveMajorVersion(); }
@Override public int getEffectiveMajorVersion() { return this.context.getEffectiveMajorVersion(); }
@Override public int getEffectiveMajorVersion() { return this.context.getEffectiveMajorVersion(); }
@Override public int getEffectiveMajorVersion() { return this.context.getEffectiveMajorVersion(); }
@Override public int getEffectiveMajorVersion() { return delegatee.getEffectiveMajorVersion(); }
@Override public int getEffectiveMajorVersion() { return context.getEffectiveMajorVersion(); }
@Override public int getEffectiveMajorVersion() { return delegatee.getEffectiveMajorVersion(); }
public boolean isNativeEnvironment(ServletConfig servletConfig) { ServletContext ctx = servletConfig.getServletContext(); return ctx.getMajorVersion() >= 3 && ctx.getEffectiveMajorVersion() >= 3; }
@Override public int getEffectiveMajorVersion() throws UnsupportedOperationException { return get().getEffectiveMajorVersion(); }
public int getEffectiveMajorVersion() throws UnsupportedOperationException { return get().getEffectiveMajorVersion(); }
@Override public Map<String, Object> collect() { Map<String, Object> result = new HashMap<String, Object>(); result.put("version", String.format("%d.%d", servletContext.getMajorVersion(), servletContext.getMinorVersion())); if (servletContext.getMajorVersion() >= 3) { result.put("effective-version", String.format("%d.%d", servletContext.getEffectiveMajorVersion(), servletContext.getEffectiveMinorVersion())); result.put("servlets", buildServletList()); result.put("filters", buildFilterList()); } return result; }
private static void addMetadataMessages(ServletContext context, Map<String, Object> messages) { addMessage(messages,"Context path", context.getContextPath()); addMessage(messages,"Servlet context name", context.getServletContextName()); addMessage(messages,"Server info",context.getServerInfo()); addMessage(messages,"Major version",context.getMajorVersion()); addMessage(messages,"Minor version",context.getMinorVersion()); addMessage(messages,"Effective major version",context.getEffectiveMajorVersion()); addMessage(messages,"Effective minor version",context.getEffectiveMinorVersion()); }