gpt4 book ai didi

java - 静态 index.html 文件 - servlet 容器是否首先被命中?

转载 作者:行者123 更新时间:2023-11-29 09:15:04 25 4
gpt4 key购买 nike

在appengine中,index.html是作为一个静态文件还是首先涉及到一个servlet容器?例如,假设我有 blabla.com 主机 war/index.html 并且用户转到 http:/blbla.com/
我不希望首先命中 servlet 容器以确定它是在 web.xml 中配置的 welocme-file-list 的一部分,然后 appengine 才会将其作为静态文件提供。避免服务器往返的唯一方法是让用户点击 url http://blabla.com/index.html ?
根据文档 https://developers.google.com/appengine/docs/java/gettingstarted/staticfiles说:
默认情况下,App Engine 将 WAR 中的所有文件作为静态文件提供,JSP 和 WEB-INF/中的文件除外。对路径与静态文件匹配的 URL 的任何请求都会直接将文件提供给浏览器——即使该路径也与 servlet 或过滤器映射匹配。
那么现在的问题是:如果我在欢迎文件列表中指定了“index.html”并且用户点击了 http://blabla.com,那么以下哪项是正确的?

  1. appengine 知道它必须直接将 index.html 作为静态文件提供服务,并且我的 servlet 容器不会检查欢迎文件列表。
  2. appengine 不知道它必须从静态文件提供 index.html,我的 servlet 容器被命中只是为了检查 welcome-files-list,然后允许 appengine 将其作为静态文件获取。

在情况 2 中:将 html 文件用作静态文件的唯一方法是让用户直接在 url 中点击它们,即 http://blabla.com/index.html ?这是非常重要的时刻,因为这意味着您的 servlet 容器可能会在每次请求时做额外的工作来解析欢迎文件列表,这会导致 cpu 浪费,如果用户指定了 html 文件的直接路径,这是可以避免的。

最佳答案

默认情况下,App Engine 将 WAR 中的所有文件作为静态文件提供,JSP 和 WEB-INF/中的文件除外。对路径与静态文件匹配的 URL 的任何请求都会直接将文件提供给浏览器——即使该路径也与 servlet 或过滤器映射匹配。您可以使用 appengine-web.xml 文件配置 App Engine 将哪些文件视为静态文件。

但您不能将 url“/”设置为静态文件。

参见 documentation .

关于java - 静态 index.html 文件 - servlet 容器是否首先被命中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10046003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com