在我的页面中加载 SWF 文件的推荐方法是什么?
只是使用 HttpServletResponse.getWriter 并用它打印 SWF 对象,还是有更有效的方法?
如果它是静态 SWF 文件,只需将其放在可公开浏览的路径中,并允许 Tomcat 将其作为静态文件提供服务。如果您要动态生成 SWF 文件,ServletResponse.getWriter()
只要您记得将Content-type
HTTP 标头设置为application/x-shockwave-flash
. 您可以在写入输出流之前执行此操作,ServletResponse.setContentType()
如下所示:
resp.setContentType("application/x-shockwave-flash");
您可能还需要考虑设置一些与 HTTP 缓存相关的标头,例如Cache-Control
,Expires
如果您希望浏览器能够缓存您的 SWF 文件。您可以使用HttpServletResponse.setHeader()
或来做到这一点HttpServletResponse.addHeader()
。对于静态 SWF 文件,您必须在Filter
映射为<url-pattern>
.
值得一提的另一点是,以跨浏览器友好的方式引用 SWF 内容,绕过了某些版本的 MSIE 中令人讨厌的额外点击行为,这已成为某种黑魔法。我建议使用SWFObject库(托管在 Google Code 上)来抽象出丑陋。