Java 在本地开发时,如果上下文为'/';或'/appname/';?
在本地开发时,如果上下文为“/”或“/appname/”,是否会产生影响 假设您将部署到 我喜欢我的本地url为: 但我只是想知道url是否正确 如果有什么不同?您可以使用它来确定应用程序在运行时部署在何处,因此理论上是可能的Java 在本地开发时,如果上下文为'/';或'/appname/';?,java,servlets,Java,Servlets,在本地开发时,如果上下文为“/”或“/appname/”,是否会产生影响 假设您将部署到 我喜欢我的本地url为: 但我只是想知道url是否正确 如果有什么不同?您可以使用它来确定应用程序在运行时部署在何处,因此理论上是可能的 实际上,没有人这样做,并且上下文路径假定在链接、图像、表单操作等中。如果在根目录上部署,则将始终解析为/ 您感兴趣的是pathinfo。在一个过滤器中,您可以显示它,在Servlet中也可以显示它。我想说,如果您计划在应用程序服务器(tomcat?)前面部署Apach
实际上,没有人这样做,并且上下文路径假定在链接、图像、表单操作等中。如果在根目录上部署,则将始终解析为
/
您感兴趣的是pathinfo。在一个过滤器中,您可以显示它,在Servlet中也可以显示它。我想说,如果您计划在应用程序服务器(tomcat?)前面部署Apache(或处理初始HTTP请求的其他东西),这不重要:Apache配置将解决这一问题 如果您计划在生产中只使用应用程序服务器,前面没有HTTP服务器,我想说这很重要,因为您希望确保您的应用程序在www.example.com上可用,而不是example.com/appname 我所说的“重要”是指,让本地服务器配置与生产服务器配置相同,以减少未来令人不快的意外事件,这本身就有一定的价值;当然,您可以将本地配置与生产配置不同
您还需要记住:您会在一个应用服务器下运行多个Java Web应用程序吗?如果是这样,请计划如何在生产环境中部署这些应用程序。您需要小心使用根上下文,因为在编写代码时,可能会假定您处于根上下文中,并生成只在根上下文中运行的webapp。
通过使用命名上下文,您可以避免这种可能性。因此,您的说法是,在实践中,人们使用/or/appname?@Blankman I在本地开发时通常使用与生产中使用的相同的上下文根,即(99%的时间)
/
。我反对“没有人这样做”-我的公司生产的每个Web应用程序都使用宏来生成URL,而这些URL在封面下使用getContextPath()@matt:那么你只占少数。@cletus我试图鼓励最佳做法:)删除了与Spring相关的标记,因为这不是Spring特有的。