FLASH与ASP通信入门教程——做真正属于自己的留言本第5/5页

FLASH与ASP通信入门教程——做真正属于自己的留言本

1. 前言

在本篇教程中,我们将学习如何使用FLASH和ASP进行通信,并使用这个技术制作一个简单的留言本。通过这个实例,我们可以学到如下知识:

  • 使用FLASH实现数据文件的读取和写入。
  • 基于ASP的服务器端数据处理和存储。
  • 使用FLASH和ASP进行数据的双向通信。

2. 准备工作

在开始这个实例前,我们需要进行以下准备工作:

  • 安装Adobe Flash软件。
  • 熟悉Flash界面和基本操作。
  • 熟悉ASP基础语法(如变量定义、运算符、条件语句等)。
  • 一个支持ASP的Web服务器(如IIS)。

3. 实现步骤

3.1 构建留言本UI

首先,我们需要在FLASH中构建留言本UI。可以参考以下示例代码:

//设置文本框样式
var tf:TextFormat = new TextFormat();
tf.font = "Arial";
tf.size = 14;

//创建输入框和提交按钮
var input_txt:TextField = new TextField();
input_txt.type = "input";
input_txt.border = true;
input_txt.borderColor = 0x000000;
input_txt.backgroundColor = 0xFFFFFF;
input_txt.width = 200;
input_txt.height = 50;
input_txt.defaultTextFormat = tf;
input_txt.x = 50;
input_txt.y = 50;
addChild(input_txt);

var submit_btn:SimpleButton = new SimpleButton();
submit_btn.upState = new TextField();
submit_btn.upState.width = 100;
submit_btn.upState.height = 30;
submit_btn.upState.defaultTextFormat = tf;
submit_btn.upState.text = "提交";
submit_btn.overState = new TextField();
submit_btn.overState.width = 100;
submit_btn.overState.height = 30;
submit_btn.overState.defaultTextFormat = tf;
submit_btn.overState.text = "提交";
submit_btn.downState = new TextField();
submit_btn.downState.width = 100;
submit_btn.downState.height = 30;
submit_btn.downState.defaultTextFormat = tf;
submit_btn.downState.text = "提交";
submit_btn.hitTestState = submit_btn.upState;
submit_btn.x = 260;
submit_btn.y = 50;
addChild(submit_btn);

3.2 实现数据写入

接下来,我们需要将用户输入的数据写入到服务器中。为了实现这个功能,我们需要使用ASPl提供的ADODB组件,将数据插入到数据库中。以下是示例代码:

<%
//连接数据库
dim conn,rs
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.MapPath("../data/message.mdb"))
//插入数据
sql="insert into messages (content) values ('"&Request("content")&"')"
conn.Execute(sql)
//返回状态
response.write "success"
//关闭数据库连接
rs.Close
set rs=nothing
conn.Close
set conn=nothing
%>

这段代码可以将用户输入的内容作为一条留言插入到名为message.mdb的数据库中,并返回"success"表示操作成功。

3.3 实现数据读取

为了在FLASH中显示留言,我们需要从服务器中读取留言数据。使用方法同样是调用ASP页面,读取数据库中的数据,并返回数据列表。以下是示例代码:

<% 
//连接数据库
dim conn,rs
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.MapPath("../data/message.mdb"))
//查询数据
sql="select * from messages order by id desc"
set rs=conn.Execute(sql)
//返回数据
response.write "<messages>"
while not rs.eof
    response.write "<message>"&rs("content")&"</message>"
    rs.movenext
wend
response.write "</messages>"
//关闭数据库连接
rs.Close
set rs=nothing
conn.Close
set conn=nothing
%>

这段代码可以将数据库中的所有留言按照ID倒序排列,并以XML格式返回。

3.4 实现数据交互

最后,我们需要使用FLASH和ASP进行数据的双向通信。FLASH需要调用ASP并传递数据,ASP也需要将数据通过FLASH进行回传。以下是示例代码:

//提交按钮按下事件
submit_btn.addEventListener(MouseEvent.CLICK, onSubmit);

function onSubmit(evt:MouseEvent):void 
{
    //创建URL请求
    var loader:URLLoader = new URLLoader();
    var request:URLRequest = new URLRequest("submit.asp");
    request.method = URLRequestMethod.POST;
    var variables:URLVariables = new URLVariables();
    variables.content = input_txt.text;
    request.data = variables;
    //发送请求
    loader.load(request);
    //监听状态
    loader.addEventListener(Event.COMPLETE, onResult);
}

function onResult(evt:Event):void 
{
    //显示结果
    result_txt.text = evt.target.data;
}

//页面加载事件
loader.addEventListener(Event.COMPLETE, onLoaded);
var request:URLRequest = new URLRequest("load.asp");
request.method = URLRequestMethod.GET;
loader.load(request);

function onLoaded(evt:Event):void 
{
    var xml:XML = new XML(evt.target.data);
    for each (var node:XML in xml.message) {
        //显示留言
        message_txt.appendText(node.toString() + "\n");
    }
}

这段代码可以将用户输入的内容通过POST方式发送给名为submit.asp的服务器端页面,并将结果显示在result_txt文本框中。同时,也可以通过GET方式请求名为load.asp的页面,将留言内容显示在message_txt文本框中。

4. 总结

通过本篇教程,我们学习到了使用FLASH和ASP进行通信的基本方法,并通过实际实现了一个简单的留言本。可以继续扩展这个实例,例如实现留言的分页、过滤等功能。这些扩展可以使用类似的方法轻松实现。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:FLASH与ASP通信入门教程——做真正属于自己的留言本第5/5页 - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • python 对redis key的基本操作

    首先看一下Python 操作redis.StrictRedis 的初始化方法__init__ def __init__(self, host=’localhost’, port=6379, db=0, password=None, socket_timeout=None, socket_connect_timeout=None, socket_keepali…

    Redis 2023年4月16日
    00
  • Oracle SQL树形结构查询

    下面是关于Oracle SQL树形结构查询的完整攻略: 1.概述 在面对需要处理树形结构的数据时,使用Oracle SQL来查询数据不是一个简单的任务。Oracle SQL支持使用递归查询来返回树形结构,这种方法被称为“WITH RECURSIVE”(或者是“CONNECT BY”)查询。接下来将详细地介绍“WITH RECURSIVE”查询。 2.使用WI…

    database 2023年5月21日
    00
  • MySQL存储毫秒数据的方法

    MySQL存储毫秒数据的方法可以通过以下两个步骤来实现。 步骤一:定义表结构 在 MySQL 中定义表结构时,建议使用 datetime(3) 来定义时间类型,其中的 3 代表精度,表示支持毫秒级别的存储。同时,在定义表结构时,还需要为其中的时间列添加索引,以提高查询效率。以下是一个示例表结构的定义: CREATE TABLE `example_table`…

    database 2023年5月22日
    00
  • Android中数据库常见操作实例分析

    Android中数据库常见操作实例分析 在Android开发中,常常需要使用数据库进行数据的存储和管理。本文将针对Android中的数据库常见操作进行实例分析,包括创建数据库、创建数据表、插入数据、查询数据、删除数据等操作。 创建数据库 创建数据库的过程需要继承SQLiteOpenHelper类,重写onCreate()和onUpgrade()方法。 pub…

    database 2023年5月21日
    00
  • 详解azure 云上准备oracle11g的vnc安装环境

    下面是详解azure云上准备oracle11g的vnc安装环境的完整攻略。 步骤1 安装VNC 安装desktop: sudo apt-get update sudo apt-get install xfce4 xfce4-goodies tightvncserver 运行VNC server并设置密码 tightvncserver tightvncserv…

    database 2023年5月22日
    00
  • PHP连接及操作PostgreSQL数据库的方法详解

    PHP连接及操作PostgreSQL数据库的方法详解 1. 安装PHP的PostgreSQL扩展 在使用PHP连接PostgreSQL数据库之前,我们需要先安装PHP的PostgreSQL扩展。可以通过以下命令在Ubuntu系统上安装: sudo apt-get install php-pgsql 在其他系统上可以根据系统不同执行对应的安装命令。 2. 连接…

    database 2023年5月21日
    00
  • MySQL 查看事务和锁情况的常用语句分享

    MySQL 是一个常用的关系型数据库管理系统,在应用过程中,事务和锁的处理非常重要。本篇文章将分享如何使用 MySQL 命令来查看事务和锁的情况,以及如何使用这些命令来分析和调试 MySQL 数据库。 查看事务情况 1. 查看当前事务 我们可以使用以下命令查看当前正在进行的事务: SHOW ENGINE Innodb STATUS\G 命令执行后会返回一些 …

    database 2023年5月22日
    00
  • redis分布式锁的实现

    一.正常加锁 当两个用户同时注册一个用户名时,为保证用户名不能重复,因此对其注册的用户名加锁。 具体步骤: 获得用户注册的用户名,进行判断,如果为空则对其进行加锁,保存到数据库,释放锁资源。   二.线程出现阻塞 当A线程加锁后出现阻塞时,导致数据还没有存到数据库,锁的时间便会失效。 B线程便会执行,对数据进行加锁,成功后保存到数据库,而这时A线程启动,将数…

    Redis 2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部