【问题标题】:Spring Boot standalone app with inbuilt Tomcat server Vs building a war带有内置 Tomcat 服务器的 Spring Boot 独立应用程序与构建战争
【发布时间】:2015-03-16 11:48:43
【问题描述】:

我的应用程序:基于backbone.js 的前端,基于RESTFUL webservices 的后端。 我已经为上述规范配置了一个 Spring Boot 独立应用程序。 我已将配置的 spring 安全性用于基于令牌的身份验证。 静态内容也捆绑在 jar 中并由嵌入式 tomcat 服务器提供服务

我的问题:我以前见过项目设置,其中前端和后端通过网络服务器 - 应用服务器设置完全分离。现在,我必须将它们都放在一个包中。关注点分离?还是为我配置spring boot来创建战争更好?我觉得弹簧靴不是用来制造战争的..

【问题讨论】:

  • 为什么?是什么制造了一场战争来买你? Spring Boot 允许您将所有内容部署在一个包中。这就是你需要的。不要担心纯度和清洁度的概念。
  • 当我看到我所有的静态页面都通过我使用的 WebSecurityConfigurerAdapter 时,我产生了这个疑问……可能会让我的 tomcat 变慢,对吧?这是那个问题:stackoverflow.com/questions/29074285/…
  • 如果你创建了一个WAR,你仍然拥有WAR中的所有资源。 Spring Boot 不会阻止您将静态资源放在 Web 服务器上并配置 Web 服务器以使用其资源而不是将请求转发到 Spring Boot 应用程序(Tomcat 不是 Web 服务器,它是一个 servlet 容器)。
  • 感谢大家的建议……说得通,我将保留我独立的 Spring Boot 应用程序,并在它之前配置一个 Apache Web 服务器并将我的静态内容放在那里……

标签: spring spring-boot


【解决方案1】:

您可以将包装从 jar 更改为 war。但是在 jar 打包中存在一个限制,即您不能使用 JSP Servlets 技术,而 war 支持该技术。要部署war,您必须编写描述符文件war.xml,并且还需要一个服务器来部署war,而众所周知,Spring boot 提供了一个内置服务器。希望我的回答有所帮助。

【讨论】:

    【解决方案2】:

    如果你使用 gradle 作为构建工具,你可以简单地使用

    应用插件:'war'

    毕业战争

    制造战争

    【讨论】:

      猜你喜欢
      • 2018-08-22
      • 2015-06-10
      • 2014-09-07
      • 1970-01-01
      • 2015-04-12
      • 2021-07-06
      • 2015-11-26
      • 2021-04-18
      相关资源
      最近更新 更多