Java 为什么在瞄准我的应用程序时Tomcat基本url不是我的应用程序url?
我对我的问题做了很多研究,但让我们面对现实吧,我没有找到解决办法 我正在Tomcat7应用服务器上部署一个war文件。一切都好。但是,当我以我的应用程序为目标时,在开发人员控制台的帮助下,我可以看到我的所有链接(相对链接和绝对链接)都断开了 因此,我的所有资产、内部API调用以及最终的应用程序都无法访问 例如: 我的应用部署到:Java 为什么在瞄准我的应用程序时Tomcat基本url不是我的应用程序url?,java,tomcat,tomcat7,war,maven-war-plugin,Java,Tomcat,Tomcat7,War,Maven War Plugin,我对我的问题做了很多研究,但让我们面对现实吧,我没有找到解决办法 我正在Tomcat7应用服务器上部署一个war文件。一切都好。但是,当我以我的应用程序为目标时,在开发人员控制台的帮助下,我可以看到我的所有链接(相对链接和绝对链接)都断开了 因此,我的所有资产、内部API调用以及最终的应用程序都无法访问 例如: 我的应用部署到:http://localhost:8585/myapp/。 我的链接(绝对链接和相对链接)基于以下url:http://localhost:8585/,那么我所有的链接都
http://localhost:8585/myapp/
。
我的链接(绝对链接和相对链接)基于以下url:http://localhost:8585/
,那么我所有的链接都被破坏是合乎逻辑的,因为它们没有指向正确的url
我希望我的应用程序不受任何部署依赖、约束或常量的影响。如果你能帮我找到一些合适的方法来解决我的问题,那就太好了:读到我需要做的就是重命名我的war ROOT.war在ROOT级别部署会让我恶心
祝你今天愉快,谢谢你,
最多。好吧,你基本上有3个选项来实现你(据我所知)想要的:
http://localhost/
至http://localhost:8585/myapp/
-这有时有用,但在大多数情况下过于复杂,有时不可能(例如,由于公司的部署政策)request.contextPath
)以上下文路径无关紧要的方式编写应用程序(也就是说,使用相对链接,或者当需要绝对链接时,使用请求中使用的上下文路径进行构建。谢谢Jozef!正如我所说的,第一个选项是不可能的。第三个选项可能很有趣,但由于应用程序中没有使用JSP,因此不可能实现带有JSP标记的解决方案。第二个选项非常有趣ing,我会关注它,并尽快给你反馈!不同的技术有不同的解决方案来创建上下文相关路径。在pages/js中硬编码完整路径不是一件明智的事情。应该有一种方法可以在任何模板语言中使用上下文路径,或者直接在servlet中使用上下文路径。@JozefChocholacek谢谢你的回答!Finally我已经将Nginx放在我的Tomcat前面,并且我已经删除了代码中的
标记。一切都按照预期工作。