React.js和Tomcat

时间:2018-10-05 10:43:26

标签: spring reactjs

我有一个运行在Apache Tomcat服务器上的Spring MVC Web应用程序。有人用React.js和Redux为该应用程序创建了前端,我需要将其集成到我的项目中,但是它在端口3000上打开,而Tomcat在端口8080上运行。我该怎么做?我什么都不知道。

2 个答案:

答案 0 :(得分:2)

您需要知道这里发生了什么。

  1. React是一个客户端应用程序
  2. 如果它在端口3000上运行,则可能在webpack-dev-server上运行

React.js不在端口上运行。应用程序服务器在端口上运行。您不能运行一个React应用程序。您只能提供服务以React编写的应用程序。 React是一个库。在开发结束时,您将获得的只是一个index.html和一个(或几个)bundle.js文件。

为了在您的Spring MVC应用程序中将React用作资源,请有一个返回React的index.html的控制器。如果您的React应用程序具有React Router,它将从那里接管(随后在浏览器中更改URL不会触发服务器端呈现)。

我个人的喜好是将主机作为一个独立的应用程序进行托管,并可能将express.js用作应用程序服务器而不是tomcat。

This lengthy article also touches on how to serve React's index.html using a controller. Which is basically the same as serving your JSP or webjars

答案 1 :(得分:0)

如果您在application.properties中使用spring boot,请写server.port=8080。如果使用Spring,则必须在tomcat中更改端口。为此

.Go to tomcat>conf folder

.Edit server.xml

.Search "Connector port"

.Replace "8080" by your port number

.Restart tomcat server.