AS 3.0與jsp通訊(5)

來源:互聯網
上載者:User

這一次,我們做一簡單的註冊頁面,使用flex 和jsp來通訊,根據4的做法,flex使用rpc可以返回jsp輸出的xml資訊。

 

做一個註冊頁面:

 

包括的項有:姓名,密碼,性別,年齡,還有郵件

 

 

 

其次,我們在flex做一個簡單的註冊頁面效果。

 

註冊時候,發送資料的函數如何寫?根據上次已經封裝好的方法。我們只需要調用其方法就行

private function Regdata():void<br /> {</p><p> var para:URLVariables=new URLVariables();<br /> para.userName=userName0.text;<br /> para.userPwd=userPwd0.text;<br /> para.sex=sex.text;<br /> para.age=age.text<br /> para.mail=mail.text;<br /> con.sendMessage(para,Connect2.regurl);//發送資料<br /> con.addEventListener(ResultEvent.RESULT,resulthander2);//監聽返回結果<br /> con.addEventListener(FaultEvent.FAULT,faulthander2);//監聽錯誤結果</p><p> }<br /> private function resulthander2(event:ResultEvent):void<br />{ trace("第二個監聽");<br /> // trace(event.result);<br /> var myxml2:XML=XML(event.result);<br /> trace(myxml2);</p><p>}</p><p>private function faulthander2(event:FaultEvent):void<br />{ trace("cuowu");</p><p>}

 

用戶端要發送的資料包括姓名,密碼,性別,年齡,還有郵件

 

在伺服器裡面要進行接收用戶端發送來的資料:

String myname=request.getParameter("userName");<br /> String mypwd=request.getParameter("userPwd");<br /> String mysex=request.getParameter("sex");<br /> int myage=Integer.parseInt(request.getParameter("age"));<br /> String mymail=request.getParameter("mail");

年齡由於是int類型,所以在接收的時候需要進行轉換類型。因為request接收的是字串,因此需要進行這樣的操作

 

接下來,老話題。串連資料庫,並插入資料項目:

注意:資料庫為:Webgame 而插入的表是admin

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %><br /><%<br /> response.setContentType("text/xml");<br /> String myname=request.getParameter("userName");<br /> String mypwd=request.getParameter("userPwd");<br /> String mysex=request.getParameter("sex");<br /> int myage=Integer.parseInt(request.getParameter("age"));<br /> String mymail=request.getParameter("mail");</p><p>Connection con = null; </p><p>try{<br />Class.forName("com.mysql.jdbc.Driver");<br />String dbUrl = "jdbc:mysql://localhost:3306/Webgame?useUnicode=true&characterEncoding=GB2312";<br />String dbUser = "root";<br />String dbPwd = "123";<br />con = DriverManager.getConnection(dbUrl,dbUser,dbPwd);<br />String sql="INSERT INTO admin(userName,userPwd,sex,age,mail) values('"+myname+"','"+mypwd+"','"+mysex+"','"+myage+"','"+mymail+"')";<br />Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);<br />stmt.executeUpdate(sql);<br />out.println("<?xml version=/"1.0/" encoding=/"utf-8/"?>");<br />out.println("<userinfo><ss>success</ss><ss>success2</ss></userinfo>");<br />}<br />catch(Exception ex)<br /> {<br /> //out.print("串連失敗!!<br>"+ex.toString());<br /> out.println("<?xml version=/"1.0/" encoding=/"utf-8/"?>");<br /> out.println("<userinfo><ss>"+ex.toString()+"</ss><ss>fail</ss></userinfo>");<br /> } </p><p>%></p><p>

 

成功就會返回成功的資訊,相反失敗就出錯。

 

 

下面是用戶端的代碼:

<?xml version="1.0" encoding="utf-8"?><br /><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()" width="703" height="543"><br /><mx:Script><br /><!--[CDATA[<br />import mx.effects.IAbstractEffect;<br />import mx.rpc.events.FaultEvent;<br />import mx.rpc.events.ResultEvent;<br />import Config.Connect2;</p><p>private var con:Connect2;</p><p>private function init():void<br />{<br /> con=Connect2.getconnect();//連結網路<br /> reg.addEventListener(MouseEvent.CLICK,regclick);<br />}<br />private function senddata():void<br />{<br />if(userName.text!="" && userPwd.text!="")<br />{<br /> var para:URLVariables=new URLVariables();<br /> para.userName=userName.text;<br /> para.userPwd=userPwd.text;<br /> con.sendMessage(para,Connect2.myurl);//發送資料<br /> con.addEventListener(ResultEvent.RESULT,resulthander);//監聽返回結果<br /> con.addEventListener(FaultEvent.FAULT,faulthander);//監聽錯誤結果<br />}<br />}</p><p>private function resulthander(event:ResultEvent):void<br />{ trace("d");</p><p> var myxml:XML=XML(event.result);<br /> trace(myxml);//輸出xml格式<br /> trace(myxml.child("ss").children()[0]);</p><p>}</p><p>private function faulthander(event:FaultEvent):void<br />{ trace("cuowu");</p><p>}</p><p>private function regclick(event:MouseEvent):void<br />{<br /> view.selectedChild=regpanel;<br />}</p><p>private function Back():void<br />{<br /> view.selectedChild=loginpanel;</p><p>}</p><p> private function Regdata():void<br /> {</p><p> var para:URLVariables=new URLVariables();<br /> para.userName=userName0.text;<br /> para.userPwd=userPwd0.text;<br /> para.sex=sex.text;<br /> para.age=age.text<br /> para.mail=mail.text;<br /> con.sendMessage(para,Connect2.regurl);//發送資料<br /> con.addEventListener(ResultEvent.RESULT,resulthander2);//監聽返回結果<br /> con.addEventListener(FaultEvent.FAULT,faulthander2);//監聽錯誤結果</p><p> }<br /> private function resulthander2(event:ResultEvent):void<br />{ trace("第二個監聽");<br /> // trace(event.result);<br /> var myxml2:XML=XML(event.result);<br /> trace(myxml2);</p><p>}</p><p>private function faulthander2(event:FaultEvent):void<br />{ trace("cuowu");</p><p>}</p><p>]]--><br /></mx:Script><br /><mx:Panel x="107" y="65" width="381" height="303" layout="absolute"><br /><mx:ViewStack id="view" width="361" height="263"><br /><mx:Canvas id="loginpanel"><br /><mx:TextInput id="userName" x="123.5" y="60" width="196"/><br /><mx:Label x="78.5" y="62" text="Name"/><br /><mx:TextInput id="userPwd" x="123.5" y="90" width="196"/><br /><mx:Label x="59.5" y="92" text="Password"/><br /><mx:Button click="senddata()" label="Login" labelPlacement="left" x="189.5" y="120"/><br /><mx:Label id="reg" x="159.5" y="187" text="Click here toRegister" width="151"/><br /><mx:Button x="253.5" y="120" label="Button" width="57"/><br /></mx:Canvas><br /><mx:Canvas id="regpanel"><br /><mx:TextInput id="sex" x="105" y="125" width="196"/><br /><mx:Label x="60" y="124" text="Sex"/><br /><mx:Label x="60" y="162" text="E-mail"/><br /><mx:TextInput id="mail" x="105" y="160" width="196"/><br /><mx:TextInput id="userName0" x="105" y="36" width="196"/><br /><mx:Label x="60" y="38" text="Name"/><br /><mx:TextInput id="userPwd0" x="105" y="66" width="196"/><br /><mx:Label x="41" y="68" text="Password"/><br /><mx:Button x="154" y="213" label="Register" click="Regdata()"/><br /><mx:Button id="Btnback" x="247" y="213" label="Back" click="Back()"/><br /><mx:Label x="60" y="98" text="Age"/><br /><mx:TextInput x="105" y="96" width="196" id="age"/></p><p></mx:Canvas><br /></mx:ViewStack><br /></mx:Panel><br /></mx:Application><br />

 

 

注意:這裡的註冊並沒有使用正規運算式來規範輸入,所以對於註冊資訊的準確性還是要提高

其次,在資料庫的封裝操作還可以使用javabean進行封裝,這樣看起來就靈活一點

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.