spring-boot 中如何分离前端和后端机器?

Meh*_*ari 5 java spring spring-mvc spring-boot

我想将后端和前端(HTML页面)机器分开。后端将由Spring-Boot开发。如何将控制器中的视图返回到前端机器,而不是后端(Spring-Boot--->Apache Tomacat)机器中的“资源/模板”?

例如 :

@Controller
public class GreetingController {

    @RequestMapping("/greeting")
    public String greeting(@RequestParam(value="name", required=false,  defaultValue="World") String name, Model model) {
        model.addAttribute("name", name);
        return "greeting";
    }

}
Run Code Online (Sandbox Code Playgroud)

我想将“问候”视图放在另一台服务器(前端)中。

lub*_*nac 2

您没有透露您使用的是哪种模板技术(例如 JSP、Thymeleaf...),但无论哪种方式,Spring 都需要将模型中的变量注入到 HTML 模板中。

AFAIK,没有办法在一个 JVM 中托管视图并在另一 JVM 上填充控制器。您可以将视图提取到单独的 JAR 中,但最终需要将其托管在同一个 Servlet 容器上。

如果您希望真正分离客户端和服务器,请研究客户端(单页应用程序)上的模板并仅使用 AJAX 从 REST 后端获取数据。