为了实现as与jsp通信,我们首先先配置好tomcat (这里不多说),在tomcat的Apache Software Foundation\Tomcat 5.5\webapps
创建一个目录
如:J:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\flash
在flash目录下 创建一个index.jsp文件。为jsp写上一些代码用于接收客户端发送来的信息
- <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <title>无标题文档</title>
- </head>
- <body>
- <p>欢迎来到这里3</p>
- <%
- String myname=request.getParameter("name");
- String pwd=request.getParameter("pwd");
- if(myname!=null)
- {
- out.print(myname);
- out.print(pwd);
- }
- %>
- </body>
- </html>
这里我们只是接收客户端发送的两个参数 ,一个是name,一个是pwd 。
客户端设计:
为了能够连接服务器,我们可以尝试在flash客户端写一个连接类,用于够连接服务器,并可以发送数据到jsp,jsp页面能够处理数据
- 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
- {
- private static var connect:Connect=null;
- //连接的网址
- public static var myurl:String="http://localhost:8080/flash/index.jsp";
- public static function getconnect():Connect
- {
- if (connect == null)
- {
- connect=new Connect();
- }
- return 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);
- try
- {
- loader.load(request);
- }
- catch (e:Error)
- {
- trace("失败");
- }
- }
- private function completeHandler(e:Event):void
- {
- trace("ok");
- }
- private function IoHandler(e:Event):void
- {
- trace("失败了");
- }
- }
- }
测试:用文档类作一个测试,在场景里面创建一个按钮用于发送数据。
- package
- {
- import flash.display.Sprite;
- import flash.events.*;
- import flash.display.SimpleButton;
- import flash.text.TextField;
- import flash.net.*;
- public class main extends Sprite
- {
- private var con:Connect;
- public function main()
- {
- con=Connect.getconnect();
- btn.addEventListener(MouseEvent.CLICK,onclick);
- }
- private function onclick(e:MouseEvent):void
- {
- var para:URLVariables=new URLVariables();
- para.name="22222";
- para.pwd="222222";
- con.sendMessage(para,Connect.myurl);
- }
- }
- }
当我们按下按钮的时候就能够发送数据到jsp页面里面,jsp页面接收到数据就会显示name 和pwd的字符串内容:
- para.name="22222";
- para.pwd="222222";
- String myname=request.getParameter("name");//接收客户端发送的信息
- String pwd=request.getParameter("pwd");//接收客户端发送的信息
有了这个连接类之后,我们可以尝试做一些更多交互,如发送数据到服务器里面,服务器返回一些xml或者其他数据给客户端,从而达到通信的效果。
这里只是一个简单的测试。