Flash 安全策略配置(1)
2009-04-09 18:40
281 查看
最近在Flash与Jsp通信的时候,会发现Flash不能与JSP相互发信息。真是一件很郁闷的事情,把官方文档看了一下,发现了一个简单解决办法。官方提供的第一种办法是,用户管理控制。这种全局的解决方法,可以解决Flash与Jsp通信的一个问题。
解决的办法如下:
第一步
请在系统里面找到这个路径目录:
C:/WINDOWS/system32/Macromed/Flash/FlashPlayerTrust
FlashPlayerTrust这个文件夹是一个信任区域。如图:
我们可以见到几个后缀的文件,xxx.cfg的文件。为了能够解决Flash与jSp的通信问题,我在这个目录下创建一个名为dev的文本:
第二步:
创建dev.txt的文本,然后写上Flash的文件所在目录,我把这个目录放在I盘的Test文件夹里面,然后修改后缀变成了cfg文件
如图:dev.cfg文件
文件的所在目录:
准备完后,开始测试我们的文件:
准备一个JSP文件,如下,准备接受客户端返回来的两个信息
准备客户端:简单的测试一下。
这样就可以简单发送一下信息了,由于程序还是可以完善这里懒惰一下,主要说明的是那个安全配置的问题
在程序里面,我们要小心
public static const myurl:String="http://localhost:8080/flash2/receive.jsp";
我们的swf文件 不在tomcat目录下,只要在其他盘里面。在本地测试的时候,可以在
C:/WINDOWS/system32/Macromed/Flash/FlashPlayerTrust
添加swf文件的所在目录,这样简单的问题就可以解决。现在可以通信了。
注意:防火墙的引发的问题,有时候会拦截消息,因此关闭测试就没有事情了。当然这仅仅是一种特殊的情况
解决的办法如下:
第一步
请在系统里面找到这个路径目录:
C:/WINDOWS/system32/Macromed/Flash/FlashPlayerTrust
FlashPlayerTrust这个文件夹是一个信任区域。如图:
我们可以见到几个后缀的文件,xxx.cfg的文件。为了能够解决Flash与jSp的通信问题,我在这个目录下创建一个名为dev的文本:
第二步:
创建dev.txt的文本,然后写上Flash的文件所在目录,我把这个目录放在I盘的Test文件夹里面,然后修改后缀变成了cfg文件
如图:dev.cfg文件
文件的所在目录:
准备完后,开始测试我们的文件:
准备一个JSP文件,如下,准备接受客户端返回来的两个信息
<%@ page language="java" pageEncoding="UTF-8" %><%String username=request.getParameter("username"); String userpwd=request.getParameter("userpwd"); out.println("msg="+username); %>
准备客户端:简单的测试一下。
package { import flash.net.URLLoader; import flash.net.URLRequest; import flash.events.*; import flash.net.URLVariables; import flash.net.URLLoaderDataFormat; import flash.net.*; public class Connect extends EventDispatcher { //连接的网址 public static const myurl:String="http://localhost:8080/flash2/receive.jsp"; public function Connect() { } public function sendMessage(para:URLVariables,myurl:String):void {//设置发送数据的变量 //设置发送数据的方式 var request:URLRequest=new URLRequest(); request.url=myurl; request.method=URLRequestMethod.POST;//发送的方式 post request.data=para; //发送数据 var loader:URLLoader=new URLLoader(); loader.dataFormat=URLLoaderDataFormat.VARIABLES;//发送数据的格式 loader.addEventListener(Event.COMPLETE,completeHandler); loader.addEventListener(IOErrorEvent.IO_ERROR ,IoHandler); loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,SecurityHandler); loader.load(request); } private function completeHandler(event:Event):void { var loader:URLLoader=URLLoader(event.target); trace(loader.data); trace(loader.data.msg); } private function IoHandler(event:IOErrorEvent):void { trace("wrong"); } private function SecurityHandler(event:SecurityErrorEvent):void { trace("wrong2"); } } }
package { import flash.display.Sprite; import flash.events.*; import flash.text.*; import flash.display.SimpleButton; import fl.controls.Button; import flash.net.*; public class main extends Sprite { private var con:Connect; private var username:TextField; private var pwd:TextField; public function main() { con=new Connect(); init(); } private function init():void { username=new TextField(); addChild(username); username.width=200; username.height=20; username.x=stage.stageWidth/2; username.y=stage.stageHeight/2; username.type = TextFieldType.INPUT;//输入方式 username.border = true;//边框 username.background = true; pwd=new TextField(); addChild(pwd); pwd.width=200; pwd.height=20; pwd.x=stage.stageWidth/2; pwd.y=stage.stageHeight/2+22; pwd.type = TextFieldType.INPUT;//输入方式 pwd.border = true;//边框 pwd.background = true; var btn:Button=new Button(); addChild(btn); btn.width=40; btn.height=20; btn.label="Send"; btn.x=stage.stageWidth/2; btn.y=stage.stageHeight/2+50; btn.addEventListener(MouseEvent.CLICK,SendHander); } private function SendHander(e:MouseEvent):void { if (username.text!="" && pwd.text!="") { trace("send ok"); var para:URLVariables=new URLVariables(); para.username=username.text; para.userpwd=pwd.text; con.sendMessage(para,Connect.myurl); } else { trace("不能发送空信息"); } } } }
这样就可以简单发送一下信息了,由于程序还是可以完善这里懒惰一下,主要说明的是那个安全配置的问题
在程序里面,我们要小心
public static const myurl:String="http://localhost:8080/flash2/receive.jsp";
我们的swf文件 不在tomcat目录下,只要在其他盘里面。在本地测试的时候,可以在
C:/WINDOWS/system32/Macromed/Flash/FlashPlayerTrust
添加swf文件的所在目录,这样简单的问题就可以解决。现在可以通信了。
注意:防火墙的引发的问题,有时候会拦截消息,因此关闭测试就没有事情了。当然这仅仅是一种特殊的情况
相关文章推荐
- Flash 安全策略配置(1)
- flash recovery area配置
- flash游戏开发01_ flash develop 安装配置
- Apache Flex + Adobe Flash Builder环境配置
- Flash上传控件Swfupload php文件上传配置使用实例
- FlashChart json数据配置 中文文档
- STM32F0xx_SPI读写(Flash)配置详细过程
- STM32F0xx_FLASH编程(片内)配置详细过程
- android YUV Sensor配置Camera应用的flash auto菜单
- 如何配置Flash Media Live Encoder (FMLE)从而使用Azure直播服务
- DFLASH 配置
- Flash拆分项目:load SWF的工程配置方案
- 树莓派安装配置启动CHROME及FLASH支持
- fpga 配置flash加密的好方法
- MTK之Flash篇二------如何调整Flash中FAT的配置
- hudson+ant+svn配置flash持续集成开发环境
- PLSQL developer/Xshell/Flashfxp配置信息复制
- 改flash配置
- ISE 13 Spartan 6 FPGA 配置 SPI Flash 芯片
- ubuntu 13.10 & Ubuntu 14.04 64位安装及配置 google拼音输入法及Adobe flash player、mp3 插件安装、中文GBK编码等