本人在一个项目开发中需要用jsp动态显示flash, 但一直显示不出来,特贴代码如下请高人指点,先谢!程序设计的思路是:用一个out.jsp用流文件方式读取磁盘文件并输出到网页,用另一个showFlash.jsp调用out.jsp来显示这个flash
代码如下:out.jsp文件:
  <%
        //打开指定文件的流信息
        java.io.BufferedInputStream bis = null;
       java.io.BufferedOutputStream bos = null;
       try {
       //定义输出类型
                response.setContentType("application/x-shockwave-flash");
      //
      bis = new java.io.BufferedInputStream(new java.io.FileInputStream("//test//yu.swf")); //服务器上的文件名
            bos = new java.io.BufferedOutputStream(response.getOutputStream());
            byte[] buff = new byte[10*1024];
            int bytesRead;
            //写出流信息
            while(-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
               bos.write(buff,0,bytesRead);
            }
        }catch(final java.io.IOException e) {
                    }finally{
           //完成后关闭输入/输出流
   if (bis != null) bis.close();
           if (bos != null) bos.close();
        }
  %>第二个程序 showFlash.jsp来调用out.jsp
<%
      out.println("<embed src='out.jsp ' type='application/x-shockwave-flash'></embed>");   
%>-------
以上是两个程序代码,但运行后页面上看不到falsh , 高手指点一下吧,很着急

解决方案 »

  1.   

    为什么要这样呢?不能在页面里加flash插件吗?这样还真没试过
      

  2.   

    jsp -> javascript -> flash
    看看swfobject.
      

  3.   

    之所以要这样做,是因为flash动画文件以及avi视频文件都在一个单独的目录中,并且这个目录是不能被web访问到的,既然web不能被访问到这个目录,那么文件就很安全,并且还可以不被盗链,因此想做一个用java或jsp从这个不能被web访问到的磁盘目录中读取文件并输出到网页上这个中间环节,设计思路是这样的,大师实现出了问题,还请高人多指点啊。
      

  4.   

    这样好像不行如果只是为了防止盗链的话,有很多办法,最简单的办法就是apache配置盗链建议你还是直接引用swf的路径,而不是把一个流给控件,控件需要的是一个swf地址而不是你读出的流。
      

  5.   

    但是我用上述办法成功地实现了图片文件的输出! 同样的道理.swf也应该一样啊, 上面我已经说过了,这样实现不单是防盗链,更主要的是文件的安全性,以及容易的系统移植性