我一直在研究如何连接 Tomcat 和 apache http 服务器,因为我将用 angular 编写的 Web 应用程序部署在 apache http 服务器 2.2 中(目前已在我自己的本地计算机上成功测试),并将我的 REST 服务编写为java 部署在 Tomcat v6 中,
我现在想要的是,当某些组件被点击时,发出一个 http 请求(像这样 http://localhost:8080/rest/getCars/20130505
) 与 servlet 连接并使用提供的 json 来使用另一个组件中提供的信息。
所以我创建了自己的 url/json 来测试 Web 应用程序本身,但正如我所说,可以使用真实的 http URI 来做同样的事情,如下所示:https://angular.io/docs/ts/latest/guide/server-communication.html#!#cors
他们使用:
let wikiUrl = 'http://en.wikipedia.org/w/api.php';
我现在使用:
private datesUrl = 'src/example.json'; // URL to web API
@Injectable()
getDates(): Observable<Date[]> {
return this.http.get(this.datesUrl)
.map(this.extractData)
.catch(this.handleError);
所以我相信我的下一步是更改那个 datesUrl 并编写上面写的 http:http://localhost:8080/rest/getCars/20130505
,以便它连接到 Tomcat。
但我的问题是,如果 apache http 服务器和 tomcat 之间没有任何连接,我不知道这是否可行。我看到有连接器,比如 mod_jk 和 mod_proxy http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass
等等。 我想知道,就我而言,如果我需要将此模块用于 apache http 服务器,还是没有必要,因为我从未见过任何这些,安装模块被证明是一个挑战。我的最终目标是从本地到真实服务器,但据我所知,外部任何人都不需要使用该网页,它仅用于业务本身,因此可以访问服务器/我仍然可以访问本地主机,就像我在本地测试它时一样。
最佳答案
您不需要在 PHP 服务器和 Tomcat 服务器之间建立任何特殊连接:这是一个普通的 HTTP 请求。 Tomcat 不关心您的 PHP 脚本是否发出该请求,或者它是否来自开放的互联网。
在 PHP 脚本发出请求的情况下,它正在发出标准 HTTP 调用,并不关心您是否在本地运行 Tomcat 服务器或其他任何服务器。继续做吧。如果 Tomcat 已经响应该 URL 上的 HTTP 请求,则从 PHP 调用它不需要进一步的配置。
关于apache - 是否可以不将 Tomcat 与 apache http 服务器集成并向部署在 Tomcat 中的 servlet 发出 @Injectable 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38789595/