• SpringBoot打war包Tomcat部署——打jar包命令运行


    SpringBoot打war包——打jar包

    1. 打war包——Tomcat部署

    SpringBoot工程默认打的包都是jar包,这次打war包
    jar包可以直接运行,war包需要部署在tomcat上
    war包本来就是放在tomcat里面用的

    <!--修改打包方式,,,打成war-->
    <packaging>war</packaging>
    
    <build>
        <!--指定打war包的字符集-->
        <finalName>springboot</finalName>
     </build>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    步骤:

    1. 引入依赖(打war包,指定字符集;JSP依赖,编译JSP并放在指定路径下,编译配置文件)
    2. 核心配置文件(application.properties配置文件中配置:JSP的前/后缀)
    3. 创建控制层(返回字符串和页面)
    4. 创建页面userDetail.jsp 展示数据
    5. 打war包——程序入口类继承SpringBootServletInitializer类 覆盖configure方法
    6. 本地Tomcat启动
    7. 浏览器输入地址访问测试

    1.1 引入依赖

    打war包,指定字符集;JSP依赖,编译JSP并放在指定路径下,编译配置文件

    
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0modelVersion>
        <groupId>com.guo.springbootgroupId>
        <artifactId>springboot-warartifactId>
        <version>0.0.1-SNAPSHOTversion>
        
        <packaging>warpackaging>
    
        <properties>
            <java.version>1.8java.version>
            <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>
            <spring-boot.version>2.3.7.RELEASEspring-boot.version>
        properties>
    
        <dependencies>
            
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-starter-webartifactId>
            dependency>
            
            <dependency>
                <groupId>org.apache.tomcat.embedgroupId>
                <artifactId>tomcat-embed-jasperartifactId>
            dependency>
        dependencies>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.bootgroupId>
                    <artifactId>spring-boot-dependenciesartifactId>
                    <version>${spring-boot.version}version>
                    <type>pomtype>
                    <scope>importscope>
                dependency>
            dependencies>
        dependencyManagement>
    
        <build>
            
            <finalName>springbootfinalName>
            <resources>
                
                <resource>
                    <directory>src/main/webappdirectory>
                    <targetPath>META-INF/resourcestargetPath>
                    <includes>
                        <include>*.*include>
                    includes>
                resource>
                
                <resource>
                    <directory>src/main/resourcesdirectory>
                    <includes>
                        <include>**/*.*include>
                    includes>
                resource>
            resources>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.pluginsgroupId>
                    <artifactId>maven-compiler-pluginartifactId>
                    <version>3.8.1version>
                    <configuration>
                        <source>1.8source>
                        <target>1.8target>
                        <encoding>UTF-8encoding>
                    configuration>
                plugin>
                
                <plugin>
                    <groupId>org.springframework.bootgroupId>
                    <artifactId>spring-boot-maven-pluginartifactId>
                    <version>2.3.7.RELEASEversion>
                    <configuration>
                        <mainClass>com.guo.springboot.ApplicationmainClass>
                    configuration>
                    <executions>
                        <execution>
                            <id>repackageid>
                            <goals>
                                <goal>repackagegoal>
                            goals>
                        execution>
                    executions>
                plugin>
            plugins>
        build>
    project>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93

    1.2 核心配置文件

    application.properties配置文件中配置:JSP的前/后缀

    #设置视图解析器 JSP的前/后缀
    spring.mvc.view.prefix=/
    spring.mvc.view.suffix=.jsp
    
    • 1
    • 2
    • 3

    1.3 创建控制层

    返回字符串和页面

    package com.guo.springboot.controller;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    import java.util.HashMap;
    
    @Controller
    public class UserController {
        @RequestMapping("/user/detail")
        public @ResponseBody Object userDateil(){
            HashMap<String, Object> map = new HashMap<>();
            map.put("id","1001");
            map.put("name","zhangsan");
            return map;
        }
        @RequestMapping("/user/page/detail")
        public String userPageDateil(Model model){
            model.addAttribute("id","1002");
            model.addAttribute("name","lisi");
            return "userDateil";
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    1.4 创建页面

    userDetail.jsp 展示数据

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Titletitle>
    head>
    <body>
    <h2>用户信息h2>
    <div>用户id: ${id}div>
    <div>用户名称:${name}div>
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    1.5 程序入口类继承SpringBootServletInitializer类 覆盖configure方法

    打war包——程序入口类继承SpringBootServletInitializer类 覆盖configure方法

    package com.guo.springboot;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.builder.SpringApplicationBuilder;
    import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
    
    @SpringBootApplication
    public class Application extends SpringBootServletInitializer {
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            //参数为当前SpringBoot启动类
            //构建新资源
            builder.sources(Application.class);
            return super.configure(builder);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    1.6 本地Tomcat启动

    1.war包放在Tomcat解压包的【webapps】文件目录下

    在这里插入图片描述

    2.进入【bin】目录下双击【startup.bat】启动Tomcat服务

    在这里插入图片描述

    3.启动成功

    在这里插入图片描述

    在这里插入图片描述

    4.日志出现乱码

    在这里插入图片描述

    5.解决Tomcat日志乱码办法
    进入【conf】编辑【logging.properties】文件,修改编码格式UTF-8→GBK

    在这里插入图片描述

    1.7 浏览器输入地址访问测试

    在这里插入图片描述

    在这里插入图片描述

    2. 打jar包——命令行运行

    打jar包运行:直接在命令行通过命令就可以运行,SpringBoot项目内嵌Tomcat
    java -jar springboot.jar

    SpringBoot项目打包默认就是打jar包,
    jar包端口号和上下文根就是SpringBoot核心配置文件中设置的值

    2.1 引入依赖

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.guo.springboot</groupId>
        <artifactId>springboot-war</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    <!--
    	这里不需要,SpringBoot默认打包就是jar
        &lt;!&ndash;修改打包方式,,,打成war&ndash;&gt;
        <packaging>war</packaging>
    -->
    
        <properties>
            <java.version>1.8</java.version>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <spring-boot.version>2.3.7.RELEASE</spring-boot.version>
        </properties>
    
        <dependencies>
            <!--SpringBoot框架web项目起步依赖-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <!--SpringBoot内嵌Tomcat解析JSP的依赖-->
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-jasper</artifactId>
            </dependency>
        </dependencies>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-dependencies</artifactId>
                    <version>${spring-boot.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
        <build>
            <!--指定打war包的字符集-->
            <finalName>springboot</finalName>
            <resources>
                <!--指定JSP文件编译路径为META-INF/resources-->
                <resource>
                    <directory>src/main/webapp</directory>
                    <targetPath>META-INF/resources</targetPath>
                    <includes>
                        <include>*.*</include>
                    </includes>
                </resource>
                <!--编译resources目录下的*.properties文件-->
                <resource>
                    <directory>src/main/resources</directory>
                    <includes>
                        <include>**/*.*
                    
                
            
            
                
                    org.apache.maven.plugins
                    maven-compiler-plugin
                    3.8.1
                    
                        1.8
                        1.8
                        UTF-8
                    
                
                
                
                    org.springframework.boot
                    spring-boot-maven-plugin
                    1.4.2.RELEASE
                    
                        com.guo.springboot.Application
                    
                    
                        
                            repackage
                            
                                repackage
                            
                        
                    
                
            
        
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96

    和打war包不同这里需要指定打包版本

    <plugin>
    	<groupId>org.springframework.boot</groupId>
    	<artifactId>spring-boot-maven-plugin</artifactId>
    	<version>1.4.2.RELEASE</version>
    </plugin>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2.2 核心配置文件

    application.properties配置文件中配置:JSP的前/后缀

    #设置请求端口
    server.port=9090
    #设置上下文跟
    server.servlet.context-path=/
    #设置视图解析器 JSP的前/后缀
    spring.mvc.view.prefix=/
    spring.mvc.view.suffix=.jsp
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2.3 本地运行

    命令:java -jar springboot.jar
    在这里插入图片描述

    2.4 浏览器输入地址访问测试

    在这里插入图片描述在这里插入图片描述

    .
    .
    .
    .
    .
    .
    .
    .

    3. 杀死端口占用进程

    1. 在dos窗口中输入指令:netstat -ano | findstr 8080,其中8080是指你被占用的端口号,然后会显示出现在占用该端口号的pid。

    2. 输入 taskkill /f /pid 34564,关闭该进程即可

    在这里插入图片描述

  • 相关阅读:
    分布式事务seata的使用
    使用canvas绘制四个角的指定样式
    怎么挖掘长尾关键词 SEO关键词挖掘方法教程
    salesforce零基础学习(一百二十六) Picklist Value Set 优缺点和使用探讨
    Cesium 空间量算——生成点位坐标
    2025考研~数据结构试卷
    Docker中Kafka容器创建/更新Topic支持多分区
    java-php-python-springboot校园实习管理系统计算机毕业设计
    windows上安装好了pip,并正确配置了路径后,特别地使用
    常见web安全及防护原理
  • 原文地址:https://blog.csdn.net/qq_45896330/article/details/126202991