2010-02-07 84 views
1

在我的页面中加载SWF文件的推荐方法是什么?tomcat:将swf加载到页面

只是使用HttpServletResponse.getWriter并用它打印SWF对象,还是有更高效的方法?

回答

2

如果它是一个静态的SWF文件,只需将它放在公共可浏览的路径中,并允许Tomcat将其作为静态文件提供。如果您正在动态生成SWF文件,则只要您记得将Content-type HTTP标头设置为application/x-shockwave-flash,则ServletResponse.getWriter()就没有问题。你可以做,就这样与ServletResponse.setContentType()写入到输出流之前:

resp.setContentType("application/x-shockwave-flash"); 

您可能也想,如果你希望浏览器能够高速缓存考虑设置一些HTTP缓存相关的头信息,如Cache-ControlExpires你的SWF文件。你可以用HttpServletResponse.setHeader()HttpServletResponse.addHeader()来做到这一点。对于静态SWF文件的情况,您必须在与<url-pattern>映射的Filter中设置缓存标头。

另一点值得一提的是,以跨浏览器友好的方式引用SWF内容,绕过令人恼火的extra-click behavior in some versions of MSIE已成为某种黑魔法。我建议使用SWFObject库(托管在Google代码上)来将丑闻摘走。