Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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
Java 在本地开发时,如果上下文为'/';或'/appname/';?_Java_Servlets - Fatal编程技术网

Java 在本地开发时,如果上下文为'/';或'/appname/';?

Java 在本地开发时,如果上下文为'/';或'/appname/';?,java,servlets,Java,Servlets,在本地开发时,如果上下文为“/”或“/appname/”,是否会产生影响 假设您将部署到 我喜欢我的本地url为: 但我只是想知道url是否正确 如果有什么不同?您可以使用它来确定应用程序在运行时部署在何处,因此理论上是可能的 实际上,没有人这样做,并且上下文路径假定在链接、图像、表单操作等中。如果在根目录上部署,则将始终解析为/ 您感兴趣的是pathinfo。在一个过滤器中,您可以显示它,在Servlet中也可以显示它。我想说,如果您计划在应用程序服务器(tomcat?)前面部署Apach

在本地开发时,如果上下文为“/”或“/appname/”,是否会产生影响

假设您将部署到

我喜欢我的本地url为:

但我只是想知道url是否正确

如果有什么不同?

您可以使用它来确定应用程序在运行时部署在何处,因此理论上是可能的


实际上,没有人这样做,并且上下文路径假定在链接、图像、表单操作等中。

如果在根目录上部署,则将始终解析为
/


您感兴趣的是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特有的。