20.springboot项目打包成war文件,在独立的Tomcat上运行

项目结构

20.springboot项目打包成war文件,在独立的Tomcat上运行_第1张图片

 

1.新建springboot项目选择web起步依赖,其他依赖手动添加

20.springboot项目打包成war文件,在独立的Tomcat上运行_第2张图片

20.springboot项目打包成war文件,在独立的Tomcat上运行_第3张图片 

详细代码

pom.xml文件



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.7.3
         
    
    com.it
    025-springboot-war
    1.0.0 
    
    war


    
        1.8
    
    

        
        
            org.apache.tomcat.embed
            tomcat-embed-jasper
        


        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    

        
        myboot

        
        
            
                src/main/webapp
                META-INF/resources
                
                    **/*.*
                
            

            
            
                src/main/java
                
                    **/*.xml
                
            

            
            
                src/main/resources
                
                    **/*.*
                
            


        

        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


2.新建index.jsp

20.springboot项目打包成war文件,在独立的Tomcat上运行_第4张图片

3.JspController类

package com.it.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class JspController {

    @RequestMapping("/main")
    public String main(Model model){
        model.addAttribute("data","springboot打包为war文件");
        return "index";
    }

}

4.application.properties文件

server.port=9001
server.servlet.context-path=/myjsp

#配置视图解析器
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp


5.主函数入口类,注意此时需要继承SpringBootServletInitializer这个类,才能够使用独立的tomcat服务器

package com.it;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.server.Jsp;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

/**
 * SpringBootServletInitializer:继承这个类,才能够使用独立的tomcat服务器
 */

@SpringBootApplication
public class JspApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(JspApplication.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(JspApplication.class);

    }
}

项目测试:

1.首先不继承SpringBootServletInitializer这个类使用idea内部的Tomcat启动,查看是否可以正常访问

20.springboot项目打包成war文件,在独立的Tomcat上运行_第5张图片

 2.项目可以正常访问,继承SpringBootServletInitializer这个类,编写代码后,点击clean,然后再进行打包处理

20.springboot项目打包成war文件,在独立的Tomcat上运行_第6张图片

20.springboot项目打包成war文件,在独立的Tomcat上运行_第7张图片 

20.springboot项目打包成war文件,在独立的Tomcat上运行_第8张图片 

3.选择该打包文件,右键 show in explorer打开该文件所在的文件夹地址,选择该文件进行复制。复制到Tomcat下的webapp目录下,此时运行Tomcat时就会自动发布该文件

20.springboot项目打包成war文件,在独立的Tomcat上运行_第9张图片

5.然后进入Tomcat的bin目录,点击startup.bat

20.springboot项目打包成war文件,在独立的Tomcat上运行_第10张图片

6. 弹出下图的命令行窗口,等它运行完成后不能关闭,可以最小化使其保持运行状态

 20.springboot项目打包成war文件,在独立的Tomcat上运行_第11张图片

7.此时回到tomcat的webapps目录,就可以看到myboot.war包已经自动解压好了,里面的文件和依赖都和原项目保持一致

20.springboot项目打包成war文件,在独立的Tomcat上运行_第12张图片 

8.现在就可以打开浏览器输入Tomcat默认端口号+项目路径进行访问了,这是独立的Tomcat,不需要再借助idea上的Tomcat进行启动了。

localhost:8080/myboot/main

8080:独立Tomcat的端口号

myboot:文件名称

main:方法的路径名(requestmapping)

20.springboot项目打包成war文件,在独立的Tomcat上运行_第13张图片

你可能感兴趣的:(springboot,spring,boot,jar,tomcat)