example documentation表示您只需将文件置于war /(或子目录)中,并且应该可以从主机访问它们(只要它们不是JSP或在WEB-INF中)。例如,如果您将foo.css置于war中,那么您应该可以在http://localhost:8080/foo.css上访问它。但是,这根本不适合我。没有我的静态文件可以访问。(Java)App Engine中的静态文件无法访问
appengine-web.xml上的文档说,您还可以特定地将某些类型表示为静态。我也尝试过这一点,它没有任何区别。
我错过了一些明显的东西吗?
更新: 原来我的web.xml中的一个映射有点太过分了。以下是罪魁祸首:
<servlet>
<servlet-name>Main</servlet-name>
<servlet-class>MainServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Main</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
它似乎抓住了,这不是被抓住的其他规则之一的一切,我不理解,因为有在URL-的末尾没有*模式。这也似乎是直接矛盾the documentation,上面写着:
注:静态文件,它们逐字提供给用户,如图片,CSS或JavaScript文件,分别从部署描述符中提及的路径处理。无论在部署描述符中使用何种servlet和过滤器映射,对WAR路径中与被指定为静态文件的文件路径匹配的URL路径请求都将为该文件提供服务。您可以使用appengine-web.xml文件将那些被视为静态文件的文件排除在外。
那么,我怎么能有一个规则匹配我的域的基础(例如http://www.example.com/),仍然允许静态文件过滤?
做附带SDK工作的样本?如何启动应用程序。我想你已经检查过这些文件真的在战争中/ – jitter 2009-06-22 16:06:48
是的,留言簿应用程序让我打它的CSS文件就好了。 – 2009-06-22 20:09:24