我已经对我的问题进行了很多搜索,但让我们面对现实,我没有找到解决方法。
我正在Tomcat7应用服务器上部署war文件。一切都好。但是当我在开发人员控制台的帮助下定位我的应用程序时,我可以看到所有链接(相对和绝对)都被破坏了。
因此,我的所有资产,内部API调用以及最终的应用程序都无法访问。
示例:
我的应用已部署到:var fd = new FormData();
fd.append("files", $scope.file);
。
我的链接(绝对和相对)基于此网址:http://localhost:8585/myapp/
,然后我的所有链接都被破坏是合乎逻辑的,因为它们没有定位到正确的网址。
我想让我的应用程序不受任何部署依赖,约束或常量的影响。如果你可以用一些正确的方法来解决我的问题,那将是非常棒的:阅读我需要做的就是重命名我的战争ROOT.war在根级别部署让我生病。
祝你有个美好的一天,谢谢你, 最大
答案 0 :(得分:0)
嗯,你基本上有3个选项来实现你(据我所知)想要的东西:
您将不会阅读的内容:在ROOT上下文中部署应用程序;但是,正如您所说的那样,使应用程序部署依赖,当然,并非总是可行;
你可以在你的Tomcat前放置一个代理(例如Apache HTTPD)并设置一些重写规则来将http://localhost/
翻译成http://localhost:8585/myapp/
- 这有时很有用,但在大多数情况下也是如此复杂,有时不可能(例如,由于公司的部署政策);
恕我直言最合适的一个:使用相对链接(如亨利在评论中所述)和使用np.bincount
(JSP中的request.contextPath
);