zoukankan      html  css  js  c++  java
  • 嵌入式tomcat使用

    需要引入的maven依赖

    <!--属性文件 -->
        <properties>
            <tomcat.version>8.5.24</tomcat.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-core</artifactId>
                <version>${tomcat.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-jasper -->
            <dependency>
                <groupId>org.apache.tomcat</groupId>
                <artifactId>tomcat-jasper</artifactId>
                <version>${tomcat.version}</version>
            </dependency>
    
        </dependencies>
    
        <build>
            <finalName>Mytomcat</finalName>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.1</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
    
                <!-- maven打包插件-->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>3.2.1</version>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>shade</goal>
                            </goals>
                            <configuration>
                                <transformers>
                                    <transformer
                                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                        <mainClass>hope.redheart.wx.StartTomcat</mainClass>
                                    </transformer>
                                </transformers>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>

     启动方法

    public static void main(String[] args) throws ServletException, LifecycleException {
    
            int port = 80;
    
            if (args.length == 1) {
                port = Integer.parseInt(args[0]);
            }
    
            // 获取项目绝对路径
            File webappPath = new File(System.getProperty("user.dir"));
    
            // 创建tomat容器
            Tomcat tomcat = new Tomcat();
    
            // 设置端口
            tomcat.setPort(port);
    
            // 设置webapp目录
            StandardContext sct = (StandardContext) tomcat.addWebapp("/", webappPath.getAbsolutePath());
    
            // web项目路径
            WebResourceRoot resourceRoot = new StandardRoot(sct);
    
            // 相当于webapps中的一个项目文件夹
            DirResourceSet dirResourceSet = new DirResourceSet();
    
            // java字节码文件路径
            dirResourceSet.setBase(new File("target/classes").getAbsolutePath());
            // tomcat的默认写法 /WEB-INF/classes web项目的默认
            dirResourceSet.setWebAppMount("/WEB-INF/classes");
    
            // 这个项目文件夹的上一级目录,在tomcat中就是webapps
            dirResourceSet.setRoot(resourceRoot);
    
            dirResourceSet.setInternalPath("/");
    
            // 相当于把项目设置到webapp中
            resourceRoot.addPreResources(dirResourceSet);
    
            sct.setReloadable(false);
    
            // 一个web项目
            sct.setResources(resourceRoot);
    
            tomcat.start();
            System.out.println("Tomcat已在本地" + port + "端口启动!");
    
            // 方法阻塞,否则main方法运行完毕就退出,tomcat也就关闭了
            tomcat.getServer().await();
        }
  • 相关阅读:
    使用.Net Core+IView+Vue集成上传图片功能
    Vue基于vue-quill-editor富文本编辑器使用心得
    Fiddler原理~知多少?
    ASP.NET Core WebApi中简单像素转换跟踪实现
    利用SQL Profiler 追踪数据库操作
    ASP.NET Core Web API 版本控制
    处理SQL Server中的重复行
    【3分钟就会系列】使用Ocelot+Consul搭建微服务吧!
    ASP.NET Core WebAPI控制器返回类型的最佳选项
    花10分钟搞懂开源框架吧
  • 原文地址:https://www.cnblogs.com/yjp372928571/p/11738944.html
Copyright © 2011-2022 走看看