Java Code Examples for javax.servlet.ServletContext#getEffectiveMajorVersion()

The following examples show how to use javax.servlet.ServletContext#getEffectiveMajorVersion() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TesterTldListener.java    From Tomcat8-Source-Read with MIT License 6 votes vote down vote up
@Override
public void contextInitialized(ServletContextEvent sce) {

    ServletContext sc = sce.getServletContext();
    servletContext = sc;

    // Try and use one of the Servlet 3.0 methods that should be blocked
    try {
        sc.getEffectiveMajorVersion();
        log.append("FAIL-01");
    } catch (UnsupportedOperationException uoe) {
        log.append("PASS-01");
    } catch (Exception e) {
        log.append("FAIL-02");
    }
}
 
Example 2
Source File: TesterTldListener.java    From Tomcat7.0.67 with Apache License 2.0 6 votes vote down vote up
@Override
public void contextInitialized(ServletContextEvent sce) {

    ServletContext sc = sce.getServletContext();

    // Try and use one of the Servlet 3.0 methods that should be blocked
    try {
        servletContext = sce.getServletContext();
        sc.getEffectiveMajorVersion();
        log.append("FAIL-01");
    } catch (UnsupportedOperationException uoe) {
        log.append("PASS-01");
    } catch (Exception e) {
        log.append("FAIL-02");
    }
}
 
Example 3
Source File: TesterTldListener.java    From tomcatsrc with Apache License 2.0 6 votes vote down vote up
@Override
public void contextInitialized(ServletContextEvent sce) {

    ServletContext sc = sce.getServletContext();

    // Try and use one of the Servlet 3.0 methods that should be blocked
    try {
        servletContext = sce.getServletContext();
        sc.getEffectiveMajorVersion();
        log.append("FAIL-01");
    } catch (UnsupportedOperationException uoe) {
        log.append("PASS-01");
    } catch (Exception e) {
        log.append("FAIL-02");
    }
}
 
Example 4
Source File: InvokerWebApiBinderCreator.java    From hasor with Apache License 2.0 5 votes vote down vote up
public static WebApiBinder newBinder(ApiBinder apiBinder) throws IOException {
    Environment environment = apiBinder.getEnvironment();
    Object context = environment.getContext();
    if (!(context instanceof ServletContext)) {
        return null;
    }
    ServletContext servletContext = (ServletContext) context;
    //
    // .MimeType
    MimeTypeSupplier mimeTypeContext = new MimeTypeSupplier(servletContext);
    mimeTypeContext.loadResource("/META-INF/mime.types.xml");
    mimeTypeContext.loadResource("mime.types.xml");
    apiBinder.bindType(MimeType.class, mimeTypeContext);
    //
    //.ServletVersion
    ServletVersion curVersion = ServletVersion.V2_3;
    try {
        environment.getClassLoader().loadClass("javax.servlet.ServletRequestListener");
        curVersion = ServletVersion.V2_4;
        servletContext.getContextPath();
        curVersion = ServletVersion.V2_5;
        servletContext.getEffectiveMajorVersion();
        curVersion = ServletVersion.V3_0;
        servletContext.getVirtualServerName();
        curVersion = ServletVersion.V3_1;
    } catch (Throwable e) { /* 忽略 */ }
    //
    // .Binder
    apiBinder.bindType(ServletContext.class).toInstance(servletContext);
    apiBinder.bindType(ServletVersion.class).toInstance(curVersion);
    //
    return new InvokerWebApiBinder(curVersion, mimeTypeContext, apiBinder);
}
 
Example 5
Source File: Log4jServletContainerInitializer.java    From logging-log4j2 with Apache License 2.0 5 votes vote down vote up
@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
            ))) {
        final Logger LOGGER = StatusLogger.getLogger();

        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, "/*");
    }
}