类org.springframework.boot.context.embedded.ServletContextInitializer源码实例Demo

下面列出了怎么用org.springframework.boot.context.embedded.ServletContextInitializer的API类实例代码及写法,或者点击链接到github查看源代码。


@Override
public EmbeddedServletContainer getEmbeddedServletContainer(ServletContextInitializer... initializers) {
    ClassLoader parentClassLoader = resourceLoader != null ? resourceLoader.getClassLoader() : ClassUtils.getDefaultClassLoader();
    Package nettyPackage = Bootstrap.class.getPackage();
    String title = nettyPackage.getImplementationTitle();
    String version = nettyPackage.getImplementationVersion();
    logger.info("Running with " + title + " " + version);
    NettyEmbeddedContext context = new NettyEmbeddedContext(getContextPath(), new URLClassLoader(new URL[]{}, parentClassLoader), SERVER_INFO);
    if (isRegisterDefaultServlet()) {
        logger.warn("This container does not support a default servlet");
    }
    if (isRegisterJspServlet()) {
        logger.warn("This container does not support a JSP servlet");
    }
    for (ServletContextInitializer initializer : initializers) {
        try {
            initializer.onStartup(context);
        } catch (ServletException e) {
            throw new RuntimeException(e);
        }
    }
    int port = getPort() > 0 ? getPort() : new Random().nextInt(65535 - 1024) + 1024;
    InetSocketAddress address = new InetSocketAddress(port);
    logger.info("Server initialized with port: " + port);
    return new NettyEmbeddedServletContainer(address, context);
}
 

/**
 * public void onStartup(ServletContext servletContext) throws ServletException {
 * LightAdmin.configure(servletContext)
 * .basePackage("org.lightadmin.boot.administration")
 * .baseUrl("/admin")
 * .security(false)
 * .backToSiteUrl("http://lightadmin.org");
 * super.onStartup(servletContext);
 * }
 */

/* Used for running in "embedded" mode */
@Bean
public ServletContextInitializer servletContextInitializer() {
    return new ServletContextInitializer() {
        @Override
        public void onStartup(ServletContext servletContext) throws ServletException {
            LightAdmin.configure(servletContext)
                    .basePackage("org.lightadmin.boot.administration")
                    .baseUrl("/admin")
                    .security(true)
                    .backToSiteUrl("http://lightadmin.org");

            new LightAdminWebApplicationInitializer().onStartup(servletContext);
        }
    };
}
 

@SuppressWarnings("deprecation")
@Bean
public ServletContextInitializer servletContextInitializer() {
	return new ServletContextInitializer() {
		@Override
		public void onStartup(ServletContext servletContext) throws ServletException {
			servletContext.setSessionTrackingModes(Collections.singleton(SessionTrackingMode.COOKIE));
			SessionCookieConfig sessionCookieConfig = servletContext.getSessionCookieConfig();
			sessionCookieConfig.setHttpOnly(true);
		}
	};

}
 
 类所在包
 同包方法