zoukankan      html  css  js  c++  java
  • Spring Boot入门——tomcat配置

    1、通过配置文件配置

    server.port = 8080

    2、通过程序配置

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
    import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
    import org.springframework.context.annotation.Bean;
    
    /**
     * Hello world!
     *
     */
    @SpringBootApplication
    public class App{
        public static void main( String[] args )
        {
            System.out.println( "Hello World!" );
            SpringApplication.run(App.class, args);
        }
        
        /*
         *配置tomcat属性 
         */
        @Bean
        public EmbeddedServletContainerFactory servletContainer(){
            TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
            factory.setPort(8089);  //设置访问端口号
            factory.setContextPath("/hello"); //设置访问主路径
            return factory;
        }
    }

    3、替换默认的tomcat容器

      a、默认是使用tomcat作为servlet的内嵌容器,首先得排除默认的tomcat,使用jetty容器

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            
            <!-- 排除使用的默认Tomcat -->
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        
        <!-- 添加jetty容器依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jetty</artifactId>
        </dependency>

      b、启动类中声明不使用默认的容器而是jetty容器

    @SpringBootApplication
    public class App{
        public static void main( String[] args )
        {
            System.out.println( "Hello World!" );
            SpringApplication.run(App.class, args);
        }
        
        /*
         *配置默认的tomcat属性 
         */
       /* @Bean
        public EmbeddedServletContainerFactory servletContainer(){
            TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
            factory.setPort(8089);
            factory.setContextPath("/hello");
            return factory;
        }*/
        
        /*
         *配置默认的jetty属性 
         */
        @Bean
        public EmbeddedServletContainerFactory servletContainer(){
            JettyEmbeddedServletContainerFactory factory = new JettyEmbeddedServletContainerFactory();
            return factory;
        }
    }

      c、运行项目时一直出现版本不匹配问题,原因是由于Spring-boot1.5.3版本及以上使用jdk1.8,而我在之前的项目中使用1.7,版本不兼容导致。

    4、测试的时候不要排除spring-boot内嵌容器,在外部容器中部署项目时再加上以下代码

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            
            <!-- 排除使用的默认Tomcat -->
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
  • 相关阅读:
    人工智能 有信息搜索 (启发式)
    python学习之高阶函数
    文件学习
    codeblock快捷键使用
    React项目之BrowserRouter路由方式之-------生产环境404问题
    React生产环境打包&&后台环境运行(有跨域+无跨域)
    React前台改用HashRouter并解决两个问题
    React路由基础
    React前台404组件页面+路由控制重定向
    react调用方法
  • 原文地址:https://www.cnblogs.com/studyDetail/p/7009268.html
Copyright © 2011-2022 走看看