小编典典

Spring RESTful Service作为WAR而不是Tomcat中的JAR

spring-boot

我正在用Java Spring创建REST Web服务。我已经成功加载了STS和示例,详细信息在:

“本指南将引导您完成使用Spring创建“ hello world” RESTful Web服务的过程。”
http://spring.io/guides/gs/rest-service/

但是,该教程仅适用于此。.我想创建一个WAR文件,而不是一个包含servlet的自运行jar,然后部署该WAR文件。然后,我找到了本教程,并尝试仅修改第一个教程的build.gradle文件。

“将Spring Boot JAR应用程序转换为WAR” http://spring.io/guides/gs/convert-jar-to-
war/

它似乎可以很好地构建到.war文件中。.该服务正在我的TOMCAT实例的管理器中运行..但是,一旦我尝试使用该服务,就会得到404。

网址404

http://localhost:8080/gs-rest-service-0.1.0/dbgreeting?name=MyName

我需要修改映射吗?

DataBaseController.java

@RequestMapping("/dbgreeting")
    public @ResponseBody DataBaseGreeter dbgreeting(
            @RequestParam(value="name", required=false, defaultValue="World") String name) {
        return new DataBaseGreeter(counter.incrementAndGet(),String.format(template, name));
    }

现在,我已经根据各种事物创建了.war文件。担心我可能错过了一些东西。

从那以后,我发现OSX上的XAMPP不包含webapp
/文件夹,这迫使我不得不加载Bitnami的Tomcat堆栈。人们通常是否以此为基础在XAMPP和其他堆栈之间切换?还是想念一些东西来在XAMPP中创建webapp文件夹?


阅读 356

收藏
2020-05-30

共1个答案

小编典典

WAR只是具有特殊性质的JAR。它需要一个WEB-
INF,在其中需要一个web.xml来描述您的部署,任何与应用服务器相关的XML配置文件,以及通常一个lib,类和其他杂项。

最简单的方法是使用Maven创建WAR。我认为您应该能够简单地将pom.xml中的项目类型从JAR更改为WAR。您遵循的教程似乎使用了Gradle,我相信它又使用了Maven,因此您应该在那儿找到一个。除此之外,Google提供了有关如何构建WAR的教程。我不认为Tomcat需要任何特殊的部署描述符,因此您只需要web
.xml。

2020-05-30