Flex-Jsp-Mysql简单结合例子

上一篇 / 下一篇  2008-03-05 22:32:37 / 个人分类:Flex

数据库
这个sql是用pd生成的,具体内容大家自己看一下好了,很简单,数据也自己填充一下。标题上说是用mysql,其实无所谓用啥数据库了,这里我推荐Postgresql,现在有for win平台了,不用cygwin来模拟unix环境,这个Postgresql一来小巧,二来功能齐全,看起来有点象Oracle,当然速度也很快了。

/*==============================================================*/
/*Table: tblmobile*/
/*==============================================================*/
createtabletblmobile
(
id
integer(11)notnulldefault0
,
categoryid
integer(11
),
name
varchar(255
),
imagevarchar(255
),
price
decimal(12,2
),
addtime
datetime
,
primarykey
(id)
);

/*==============================================================*/

/*Index: i_tblMobile_categoryid*/
/*==============================================================*/
createindexi_tblMobile_categoryidontblmobile
(
categoryid
);

/*==============================================================*/

/*Index: pk_tblmobile*/
/*==============================================================*/
createuniqueindexpk_tblmobileontblmobile
(
id
);

/*==============================================================*/

/*Index: i_tblmobile_addtime*/
/*==============================================================*/
createindexi_tblmobile_addtimeontblmobile
(
addtime
);


phonselist.jsp
Jsp服务器用的是Tomcat,顺便做flex的服务器,版本没啥大关系,我现在用的是5.0.28,Jsp功能是按手机分类id从mysql数据库获取手机列表,这里为方便起见直接在jsp页面里进行数据库访问,正确的做法应该由javabean来分工,其后总jsp生成的是一个xml文件。
<?xml version="1.0"encoding="utf-8"?>
<%@ page contentType="text/html;charset=utf-8"%>
<%@ page import="java.sql.*"%>
<phonelist>
<%
Stringsql="";
Stringurl="";

StringcategoryID=request.getParameter("categoryID");

try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
url
="jdbc:mysql://localhost/web?user=flex&password=flex&useUnicode=true&characterEncoding=gb2312";
Connection conn
=DriverManager.getConnection(url);
Statement stmt
=conn.createStatement();

sql
="select id, name, price, image from tblMobile where categoryid="+categoryID;
ResultSet rs
=stmt.executeQuery(sql);

while(rs.next()){
out.println(
"<phone id=\"" + rs.getString(1) +"\">");
out.println(
"<id>"+rs.getString(1)+"</id>");
out.println(
"<name>"+rs.getString(2)+"</name>");
out.println(
"<price>"+rs.getString(3)+"</price>");
out.println(
"<image>"+rs.getString(4)+"</image>");
out.println(
"</phone>");
}

rs.close();
stmt.close();
conn.close();

}
catch(Exception e) {
out.println(e);
}
%
>
</phonelist>

mobile.mxml
这里要注意一下<mx:HTTPService>中的resultFormat="xml"的设置,在这里应该把这个取掉(我原来是用来做Tree用的)。phonelisg.jsp和mobile.mxml放在相同的目录下,当然你也可以修改url的路径。
<?xml version="1.0" encoding="utf-8"?>

<mx:Applicationxmlns:mx="http://www.macromedia.com/2003/mxml"
verticalGap
="10"
backgroundColor
="#FFFFFF"
pageTitle
="手机"
initialize
="initApp()">

<mx:Style.source="main.css"/>

<mx:HTTPServiceid="phoneService"url="phonelist.jsp"resultFormat="xml">
<mx:request>
<categoryID>{categoryId}</categoryID>
</mx:request>
</mx:HTTPService>

<mx:Modelid="phonelist">
{phoneService.result.phonelist.phone}
</mx:Model>


<mx:Script>
<![CDATA[

var categoryId = 2;
var categoryName = "Moto";

function initApp() {
phoneService.send();
}

]]>
</mx:Script>

<mx:HBox>
<mx:LinkBarstyleName="title"width="500"click="">
<mx:dataProvider>
<mx:Array>
<mx:Objectlabel="首 页"link="main"/>
<mx:Objectlabel="手机分类"link="catagory"/>
<mx:Objectlabel="论 坛"link="forum"/>
<mx:Objectlabel="关 于"link="about"/>
</mx:Array>
</mx:dataProvider>
</mx:LinkBar>
<mx:Labeltext="搜索"/>
<mx:TextInputid="key"width="120"/>
<mx:Buttonlabel="Go"/>
</mx:HBox>

<mx:HBox>
<mx:Imagesource="images/qd_2.jpg"/>
<mx:Labelid="debug"text="123"/>
</mx:HBox>

<mx:Effect>
<mx:Zoomname="zoomBig"zoomTo="107"duration="100"/>
<mx:Zoomname="zoomSmall"zoomTo="100"duration="100"/>
</mx:Effect>

<mx:HBox>
<mx:Panelid="main"title=""height="360">
<mx:Tilewidth="520">
<mx:Repeaterid="plist"dataProvider="{phonelist}"startingIndex=""count="">
<mx:VBoxid="itemBox"verticalGap="0"horizontalAlign="center"mouseUp="">
<mx:Canvaswidth="100"height="100"clipContent="false">
<mx:Imagewidth="90"height="90"source="{plist.currentItem.image}"toolTip="RMB {plist.currentItem.price}"mouseOverEffect="zoomBig"mouseOutEffect="zoomSmall"visible="false"complete="event.target.visible=true;"/>
</mx:Canvas>
<mx:Labelid="itemName"text="{plist.currentItem.name}"/>
<mx:Labelid="itemPrice"text="RMB{plist.currentItem.price}"/>
</mx:VBox>
</mx:Repeater>
</mx:Tile>
<mx:ControlBar>
<mx:Buttonlabel="上一页"click=""/>
<mx:Buttonlabel="下一页"click=""/>
<mx:Buttonlabel="refresh"click="initApp()"/>
</mx:ControlBar>
</mx:Panel>
</mx:HBox>


<mx:HBoxhorizontalAlign="center">
<mx:Labeltext="Copy Right 2004 dannyr's Studio "/>
</mx:HBox>
</mx:Application>

TAG:

引用 删除 Guest   /   2009-03-01 10:02:01
5
引用 删除 先锋   /   2009-02-02 09:39:03
我是个超级新手,请问能不能弄个实例下载呀
引用 删除 Guest   /   2008-12-09 19:19:29
3
引用 删除 snstyadav@gm   /   2008-06-20 14:14:30
Great job
引用 删除 Guest   /   2008-06-20 14:13:52
5
引用 删除 12   /   2008-06-06 19:45:33
023213200023622123622123623333
引用 删除 Guest   /   2008-06-06 19:44:51
5
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2009-07-04  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 45345
  • 日志数: 171
  • 影音数: 3
  • 建立时间: 2008-02-28
  • 更新时间: 2008-05-19

RSS订阅

Open Toolbar