java与flash之间调用及跨域问题的一种解决方式

2008-12-26 at 10:07 am zhanhui.wangzhh

         在开放中经常会遇到与flash互相调用的情况,一下提供一种解决方式

一、Action部分

 

import java.io.IOException;

import java.io.OutputStream;

import com.alisoft.aep.commons.framework.action.BaseAction;

 

public class TestAction extends BaseAction{

 

         public String doTest(){

                   return output(”helloWord”);

         }

         //直接使用response的返回流将需要的数据写回

         private String output(String str) {

                   OutputStream os = null;

                   try {

                            os = this.getServletResponse().getOutputStream();

                            os.write(str == null ? new byte[]{-1} :str.getBytes(”UTF-8″));

                   } catch (IOException e) {

                            e.printStackTrace();

                            return “error”;

                   }finally{

                            try {

                                     if(os != null){

                                               os.close();

                                     }

                            } catch (IOException e) {

                                     e.printStackTrace();

                                     return “error”;

                            }

                   }

                   return “none”;

         }

 

}

        

二、服务器端配置

在我们现在的开发环境中可以在deploy\htdocs下增加crossdomain.xml

<?xml version=”1.0″?>

<cross-domain-policy>

 <allow-access-from domain=”*” />

</cross-domain-policy>

 

 

allow-access-from domain属性的配置可以是ip或是域名

 

 

 

三、页面相关代码

在页面相关的配置的位置请务设置为‘allowScriptAccess’,'always’ 否则无法生效

         AC_FL_RunContent(

            ‘codebase’, ‘http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0′,

            ‘width’, ‘763′,

            ‘height’, ‘600′,

            ’src’, ‘http://www.alisoft.com/test’,

            ‘quality’, ‘high’,

            ‘pluginspage’, ‘http://www.macromedia.com/go/getflashplayer’,

            ‘align’, ‘middle’,

            ‘play’, ‘true’,

            ‘loop’, ‘true’,

            ’scale’, ’showall’,

            ‘wmode’, ‘window’,

            ‘devicefont’, ‘false’,

            ‘id’, ‘test’,

            ‘bgcolor’, ‘#ffffff’,

            ‘name’, ‘test’,

            ‘menu’, ‘true’,

            ‘allowFullScreen’, ‘false’,

            ‘allowScriptAccess’,'always’,

            ‘movie’, ‘http://www.alisoft.com/test’,

            ’salign’, ”

            );

  • No Related Post

Leave a Reply

You must be logged in to post a comment.