📅  最后修改于: 2021-01-11 05:15:16             🧑  作者: Mango
在本节中,我们将学习如何在Tomcat Server上部署Spring Boot应用程序。
它包括三个步骤:
让我们创建一个要在Tomcat上部署的Maven示例
设置一个Spring Boot应用程序
步骤1:打开Spring Initializr http://start.spring.io 。
步骤2:提供群组名称。我们提供了com.javatpoint。
第3步:提供工件ID。我们提供了spring-boot-war-deployment-example的示例。
步骤4:添加Spring Web依赖项。
org.springframework.boot
spring-boot-starter-web
步骤5:点击Generate(生成)按钮。它包装了与项目有关的所有规范,并在我们的本地系统中下载jar文件。
步骤6:提取jar文件。
步骤7:使用以下步骤导入项目文件夹:
文件->导入->现有Maven项目->下一步->浏览->选择项目文件夹->完成
导入项目后,我们可以在IDE的Package Explorer部分中看到以下目录结构。
步骤8:在包com.javatpoint中创建一个Controller类。我们创建了一个名为DemoRestController的类。
在控制器类内部,我们定义了一个返回字符串的方法hello()。
DemoRestController.java
package com.javatpoint;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DemoRestController
{
@GetMapping("/hello")
public String hello()
{
return "Hello User, have a nice day.";
}
}
步骤9:以Java应用程序的形式运行SpringBootWarDeploymentExampleApplication.java文件。
步骤10:打开浏览器并调用URL http:// localhost:8080 / hello。
注意:在进行下一步之前,请确保应用程序正在正确运行。
它利用了Spring Framework的Servlet 3.0支持,并允许我们在Servlet容器启动时配置应用程序。创建用于部署的WAR分为三个步骤:
让我们在应用程序中实现以上三个步骤。
步骤11:打开SpringBootWarDeploymentExampleApplication.java文件,并初始化Tomcat所需的Servlet Context。为了达到相同的目的,扩展了SpringBootServletInitializer接口。
public class SpringBootWarDeploymentExampleApplication extends SpringBootServletInitializer
{
}
步骤12:覆盖Configure方法。
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
{
return application.sources(SpringBootWarDeploymentExampleApplication.class);
}
SpringBootWarDeploymentExampleApplication.java
package com.javatpoint;
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 SpringBootWarDeploymentExampleApplication extends SpringBootServletInitializer
{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
{
return application.sources(SpringBootWarDeploymentExampleApplication.class);
}
public static void main(String[] args)
{
SpringApplication.run(SpringBootWarDeploymentExampleApplication.class, args);
}
}
步骤13:打开pom.xml文件,并将servlet容器(Tomcat)标记为提供。
org.springframework.boot
spring-boot-starter-tomcat
provided
步骤14:我们需要部署WAR文件,因此在pom.xml文件中将包类型更改为WAR。
war
步骤15:使用
web-services
pom.xml
4.0.0
com.javatpoint
spring-boot-war-deployment-example
0.0.1-SNAPSHOT
war
spring-boot-war-deployment-example
Demo project for Spring Boot
org.springframework.boot
spring-boot-starter-parent
2.2.2.RELEASE
UTF-8
UTF-8
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-tomcat
provided
org.springframework.boot
spring-boot-starter-test
test
web-services
org.springframework.boot
spring-boot-maven-plugin
为了构建可部署Tomcat的WAR应用程序,我们执行maven clean软件包。之后,我们的WAR文件在/target/abc.war中生成(假定abc为工件ID)。我们应该考虑到这种新设置使Spring Boot Application成为非独立的应用程序。
步骤16:使用以下步骤创建WAR文件:
右键单击项目-> Run As-> 5 Maven Build
屏幕上出现“编辑配置”对话框。
步骤17:在目标标签中编写全新安装,然后检查跳过测试。分别单击“应用”和“运行”按钮。
成功创建WAR文件后,它将在控制台中显示WAR文件路径和消息BUILD SUCCESS ,如下图所示。
步骤18:复制路径并访问应用程序的目标文件夹。我们在目标文件夹中找到了与pom.xml文件中指定的名称相同的WAR文件。在我们的例子中,路径为:
C:\Users\Anubhav\Documents\workspace-sts-3.9.9.RELEASE\spring-boot-war-deployment-example\target
要部署WAR文件,请按照以下步骤操作:
步骤19:下载并安装Apache Tomcat服务器(如果未安装)。
步骤20:复制WAR文件(web-services.war)并将其粘贴到Tomcat的webapps文件夹中。在我们的例子中,webapps文件夹的位置为:
C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps
步骤21:现在打开命令提示符并键入以下命令:
C:\Cd Program Files\Apache Software Foundation\Tomcat 8.5\bin
C:\Cd Program Files\Apache Software Foundation\Tomcat 8.5\bin>startup
启动命令将启动Tomcat服务器并部署WAR文件,如下所示。
下图显示WAR已成功部署。
步骤23:打开浏览器并调用URL http:// localhost:8080 / web-services / hello。它返回消息Hello User,祝您有美好的一天。