AS 3.0與jsp通訊(1)

來源:互聯網
上載者:User

為了實現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寫上一些代碼用於接收用戶端發送來的資訊

  1. <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  6. <title>無標題文檔</title>
  7. </head>
  8. <body>
  9. <p>歡迎來到這裡3</p>
  10. <%
  11. String myname=request.getParameter("name");
  12. String pwd=request.getParameter("pwd");
  13. if(myname!=null)
  14. {
  15. out.print(myname);
  16. out.print(pwd);
  17. }
  18. %>
  19. </body>
  20. </html>

這裡我們只是接收用戶端發送的兩個參數 ,一個是name,一個是pwd 。

 

用戶端設計:

為了能夠串連伺服器,我們可以嘗試在flash用戶端寫一個串連類,用於夠串連伺服器,並可以發送資料到jsp,jsp頁面能夠處理資料

  1. package 
  2. {
  3.     import flash.net.URLLoader;
  4.     import flash.net.URLRequest;
  5.     import flash.events.*;
  6.     import flash.net.URLVariables;
  7.     import flash.net.URLLoaderDataFormat;
  8.     import flash.net.*;
  9.     public class Connect 
  10.     {    
  11.         private static  var connect:Connect=null;
  12.         //串連的網址
  13.         public static  var myurl:String="http://localhost:8080/flash/index.jsp";
  14.         
  15.         public static function getconnect():Connect
  16.         {
  17.             if (connect == null)
  18.             {
  19.                 connect=new Connect();
  20.             }
  21.             return connect;
  22.         }
  23.         public function sendMessage(para:URLVariables,myurl:String):void
  24.         {//設定發送資料的變數
  25.             //設定發送資料的方式
  26.             var request:URLRequest=new URLRequest();
  27.             request.url=myurl;
  28.             request.method=URLRequestMethod.POST;//發送的方式 post
  29.             request.data=para;
  30.             //發送資料
  31.             var loader:URLLoader=new URLLoader();
  32.             loader.dataFormat=URLLoaderDataFormat.VARIABLES;//發送資料的格式
  33.             loader.addEventListener(Event.COMPLETE,completeHandler);
  34.             loader.addEventListener(IOErrorEvent.IO_ERROR ,IoHandler);
  35.             try
  36.             {
  37.                 loader.load(request);
  38.             }
  39.             catch (e:Error)
  40.             {
  41.                 trace("失敗");
  42.             }
  43.         }
  44.         private function completeHandler(e:Event):void
  45.         {
  46.             trace("ok");
  47.         }
  48.         private function IoHandler(e:Event):void
  49.         {
  50.             trace("失敗了");
  51.         }
  52.     }
  53. }

測試:用文檔類作一個測試,在情境裡面建立一個按鈕用於發送資料。

  1. package 
  2. {
  3.     import flash.display.Sprite;
  4.     import flash.events.*;
  5.     import flash.display.SimpleButton;
  6.     import flash.text.TextField;
  7.     import flash.net.*;
  8.     public class main extends Sprite
  9.     {
  10.         private var con:Connect;
  11.         public function main()
  12.         {
  13.             con=Connect.getconnect();
  14.             btn.addEventListener(MouseEvent.CLICK,onclick);
  15.         }
  16.         private function onclick(e:MouseEvent):void
  17.         {
  18.             var para:URLVariables=new URLVariables();
  19.             para.name="22222";
  20.             para.pwd="222222";
  21.             con.sendMessage(para,Connect.myurl);
  22.         }
  23.     }
  24. }

當我們按下按鈕的時候就能夠發送資料到jsp頁面裡面,jsp頁面接收到資料就會顯示name 和pwd的字串內容:

  1.   para.name="22222";
  2.   para.pwd="222222";
  3. String myname=request.getParameter("name");//接收用戶端發送的資訊
  4. String pwd=request.getParameter("pwd");//接收用戶端發送的資訊

有了這個串連類之後,我們可以嘗試做一些更多互動,如發送資料到伺服器裡面,伺服器返回一些xml或者其他資料給用戶端,從而達到通訊的效果。

這裡只是一個簡單的測試。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.