SpringBootServletInitializer CarrierApplication http跳转https的配置

package com.joysuccess;

//import com.bstek.ureport.console.UReportServlet;
import com.bstek.ureport.console.UReportServlet;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ImportResource;
import org.springframework.transaction.annotation.EnableTransactionManagement;

import javax.servlet.MultipartConfigElement;

/**
 * 启动类.
 */
@SpringBootApplication
@EnableTransactionManagement // 启注解事务管理,等同于xml配置方式的 <tx:annotation-driven />
@ServletComponentScan
@ImportResource("classpath*:pop-context.xml")
public class CarrierApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(CarrierApplication.class);
    }
    /**
     * 整个项目的唯一入口
     * @param args
     */
    public static void main(String[] args) {
        SpringApplication.run(CarrierApplication.class, args);
    }


    /*报表功能*/
    @Bean
    public ServletRegistrationBean testServletRegistration(){
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new UReportServlet());
        servletRegistrationBean.addUrlMappings("/pop/*");
        return servletRegistrationBean;
    }
    //add by zhangqing on 20190104 start
    //reason:解决分页时,报错信息:你的主机中的软件中止了一个已建立的连接。
//    @Bean
//    public ErrorPageFilter errorPageFilter() {
//        return new ErrorPageFilter();
//    }
//
//    @Bean
//    public FilterRegistrationBean disableSpringBootErrorFilter(ErrorPageFilter filter) {
//
//        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
//        filterRegistrationBean.setFilter(filter);
//        filterRegistrationBean.setEnabled(false);
//        return filterRegistrationBean;
//    }

    //add by zhangqing on 20190104 end
    @Bean
    public MultipartConfigElement multipartConfigElement(){
        MultipartConfigFactory factory = new MultipartConfigFactory();
        factory.setMaxFileSize("51200KB");
        factory.setMaxRequestSize("512000KB");
        return factory.createMultipartConfig();
    }

    /**
     * http跳转https的配置
     * @return EmbeddedServletContainerFactory
     */
    //@Bean
    //public EmbeddedServletContainerFactory servletContainer() {
    //    TomcatEmbeddedServletContainerFactory tomcat = new
    //            TomcatEmbeddedServletContainerFactory() {
    //                @Override
    //                protected void postProcessContext(Context context) {
    //                    SecurityConstraint securityConstraint = new SecurityConstraint();
    //                    securityConstraint.setUserConstraint("CONFIDENTIAL");
    //                    SecurityCollection collection = new SecurityCollection();
    //                    collection.addPattern("/*");
    //                    securityConstraint.addCollection(collection);
    //                    context.addConstraint(securityConstraint);
    //                } };
    //    tomcat.addAdditionalTomcatConnectors(createSslConnector());
    //    return tomcat;
    //}
    //
    //private Connector createSslConnector() {
    //    Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
    //    connector.setScheme("http");
    //    connector.setPort(8080);
    //    connector.setSecure(false);
    //    connector.setRedirectPort(8443);
    //    return connector;
    //}
}
package com.joysuccess;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.transaction.annotation.EnableTransactionManagement;

/**
 * 启动类.
 */
@SpringBootApplication
@EnableTransactionManagement // 启注解事务管理,等同于xml配置方式的 <tx:annotation-driven />
@ServletComponentScan
public class CarrierApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(CarrierApplication.class);
    }
    /**
     * 整个项目的唯一入口
     * @param args
     */
    public static void main(String[] args) {
        SpringApplication.run(CarrierApplication.class, args);
    }


    @Bean
    public FilterRegistrationBean testFilterRegistration() {
        FilterRegistrationBean registration = new FilterRegistrationBean(IAMFilter());
        registration.addUrlPatterns("/*"); //
        registration.setName("IAMFilter");
        return registration;
    }

    @Bean
    public IAMFilter IAMFilter() {
        IAMFilter iamFilter = new IAMFilter();
        return iamFilter;
    }

    //add by zhangqing on 20190104 start
    //reason:解决分页时,报错信息:你的主机中的软件中止了一个已建立的连接。
   /* @Bean
    public ErrorPageFilter errorPageFilter() {
        return new ErrorPageFilter();
    }

    @Bean
    public FilterRegistrationBean disableSpringBootErrorFilter(ErrorPageFilter filter) {

        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
        filterRegistrationBean.setFilter(filter);
        filterRegistrationBean.setEnabled(false);
        return filterRegistrationBean;
    }
*/
    //add by zhangqing on 20190104 end


    /**
     * http跳转https的配置
     * @return EmbeddedServletContainerFactory
     */
    //@Bean
    //public EmbeddedServletContainerFactory servletContainer() {
    //    TomcatEmbeddedServletContainerFactory tomcat = new
    //            TomcatEmbeddedServletContainerFactory() {
    //                @Override
    //                protected void postProcessContext(Context context) {
    //                    SecurityConstraint securityConstraint = new SecurityConstraint();
    //                    securityConstraint.setUserConstraint("CONFIDENTIAL");
    //                    SecurityCollection collection = new SecurityCollection();
    //                    collection.addPattern("/*");
    //                    securityConstraint.addCollection(collection);
    //                    context.addConstraint(securityConstraint);
    //                } };
    //    tomcat.addAdditionalTomcatConnectors(createSslConnector());
    //    return tomcat;
    //}
    //
    //private Connector createSslConnector() {
    //    Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
    //    connector.setScheme("http");
    //    connector.setPort(8080);
    //    connector.setSecure(false);
    //    connector.setRedirectPort(8443);
    //    return connector;
    //}
}

 

posted @ 2022-02-15 18:40  tonggc1668  阅读(54)  评论(0编辑  收藏  举报