@Override public void onStartup(ServletContext servletContext) throws ServletException { AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); context.setConfigLocation("com.sms.config"); // 加入logback监听器 servletContext.addListener(new LogbackConfigListener()); // 加入spring监听器 servletContext.addListener(new ContextLoaderListener(context)); EnumSet<DispatcherType> dispatcherTypes = EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD); // 加入spring mvc配置 ServletRegistration.Dynamic dispatcher = servletContext.addServlet("spring-mvc", new DispatcherServlet(context)); dispatcher.setLoadOnStartup(1); dispatcher.addMapping("/"); // 加入OpenEntityManagerInViewFilter FilterRegistration.Dynamic openEntityManagerInViewFilter = servletContext.addFilter( "openEntityManagerInViewFilter", OpenEntityManagerInViewFilter.class); openEntityManagerInViewFilter.addMappingForUrlPatterns(dispatcherTypes, true, "/*"); // 加入security过滤器 FilterRegistration.Dynamic securityFilterChain = servletContext.addFilter("springSecurityFilterChain", new DelegatingFilterProxy()); securityFilterChain.addMappingForUrlPatterns(dispatcherTypes, true, "/*"); // 加入Spring编码过滤器 CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter(); characterEncodingFilter.setEncoding("UTF-8"); characterEncodingFilter.setForceEncoding(true); FilterRegistration.Dynamic encodingFilter = servletContext.addFilter("characterEncodingFilter", characterEncodingFilter); encodingFilter.addMappingForUrlPatterns(dispatcherTypes, true, "/"); }
@Override public void onStartup(ServletContext sc) throws ServletException { SLF4JBridgeHandler.install(); log.debug("${artifactId} starting up..."); // Create the 'root' Spring application context AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); ctx.register(SpringConfiguration.class); ctx.scan("${package}"); ctx.refresh(); // Manages the lifecycle sc.addListener(new ContextLoaderListener(ctx)); sc.addListener(new ContextCleanupListener()); // Filters sc.addFilter("OpenEntityInViewFilter", OpenEntityManagerInViewFilter.class).addMappingForUrlPatterns(null, true, "/*"); log.debug("${package} initialized."); }
private void addAtmosphereServlet(ServletContext context, Configuration config) { ServletRegistration.Dynamic servlet = context.addServlet(ATMOSPHERE_SERVLET_NAME, AtmosphereServlet.class); context.addListener(SessionSupport.class); servlet.addMapping(Messaging.PATH + "/*"); servlet.setAsyncSupported(true); servlet.setLoadOnStartup(0); servlet.setInitParameter(AtmosphereHandler.class.getName(), Messaging.class.getName()); servlet.setInitParameter("org.atmosphere.cpr.sessionSupport", "true"); servlet.setInitParameter( "org.atmosphere.cpr.broadcastFilterClasses", MessagingFilter.class.getName()); servlet.setInitParameter( AtmosphereInterceptor.class.getName(), HeartbeatInterceptor.class.getName()); servlet.setInitParameter( "org.atmosphere.interceptor.HeartbeatInterceptor.heartbeatFrequencyInSeconds", "30"); servlet.setInitParameter("org.atmosphere.cpr.CometSupport.maxInactiveActivity", "-1"); servlet.setInitParameter( "org.atmosphere.cpr.broadcasterCacheClass", UUIDBroadcasterCache.class.getName()); servlet.setInitParameter("org.atmosphere.websocket.maxTextMessageSize", "1048576"); servlet.setInitParameter("org.atmosphere.websocket.maxBinaryMessageSize", "1048576"); addSecurityConstraint(servlet, config); }
@Override public void addListener(Class<? extends EventListener> aClass) { proxy.addListener(aClass); }
@Override public <T extends EventListener> void addListener(T t) { proxy.addListener(t); }
@Override public void addListener(String s) { proxy.addListener(s); }
public void addListener(Class<? extends EventListener> arg0) { servletContext.addListener(arg0); }
public void addListener(EventListener arg0) { servletContext.addListener(arg0); }
public void addListener(String arg0) { servletContext.addListener(arg0); }