Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 集成TomCat和节点服务器_Angularjs_Node.js_Angular_Jsp_Tomcat - Fatal编程技术网

Angularjs 集成TomCat和节点服务器

Angularjs 集成TomCat和节点服务器,angularjs,node.js,angular,jsp,tomcat,Angularjs,Node.js,Angular,Jsp,Tomcat,在开发过程中,我在TomCat服务器上部署了一个现有的JSP、Anuglar 1应用程序。我想一个接一个地将JSP页面迁移到Anuglar2+上 我正在使用Node/NPM处理角度为2+的迁移页面。是否可以在TomCat服务器中设置代理,以便每当请求angular 2+页面时,它都会将用户重定向到节点服务器以服务angular 2+页面 我知道Angular 2+页面可以直接复制到TomCat服务器,但将其转换为静态JS页面需要额外的编译步骤。我希望直接从节点服务器为它们提供服务,以加快开发速度

在开发过程中,我在TomCat服务器上部署了一个现有的JSP、Anuglar 1应用程序。我想一个接一个地将JSP页面迁移到Anuglar2+上

我正在使用Node/NPM处理角度为2+的迁移页面。是否可以在TomCat服务器中设置代理,以便每当请求angular 2+页面时,它都会将用户重定向到节点服务器以服务angular 2+页面


我知道Angular 2+页面可以直接复制到TomCat服务器,但将其转换为静态JS页面需要额外的编译步骤。我希望直接从节点服务器为它们提供服务,以加快开发速度。

首先,您真的不应该动态地提供
angular
页面。即使您确实从
节点
为它们提供服务,也要为编译的静态页面提供服务,而不是
ng服务
——这是出于安全、性能和其他原因

话虽如此,你一定能做到。这稍微取决于您的设置,但归根结底,您需要将所有
angular
页面代理到
node
服务器。这与角度本身没有多大关系

因此,最简单的方法是告诉
Apache
(或
nginx
或Tomcat前面的任何人)将所有404代理到
节点
服务器。然后,
node
将呈现
angular
站点,这反过来将匹配url并呈现给定页面,或者如果找不到,则呈现其自己的404版本

或者,为您的
apache
或其他任何东西提供一个特定的URL列表(已经移植)以传递到
节点
服务器


如果您不使用Apache,而是直接(不应该)使用Tomcat提供服务,那么您可以使用类似的东西。

Tomcat本身没有内置反向代理。但是,如果在应用程序中实现代理(即作为servlet或过滤器),则可以完成所要求的任务

要做到这一点,您可以使用现有的软件,比如或者如果您正在使用Spring。Zuul的特性远不止是一个反向代理,但它对生产和开发都适用

有更多的选项,我相信您可以通过搜索类似“反向代理servlet”的内容来找到更多选项。如果这是您将要投入生产的内容,请务必小心,并测试您最终使用的解决方案的性能和安全性

您还可以将传统的反向代理(如apachehttpd或Nginx)放在Tomcat&您的节点服务器前面,但这是在您的开发人员机器上运行的另一件事


希望有帮助

谢谢你的详细回答。我认为应该行得通。现在,我通过在节点服务器上创建代理来实现这一点。