看了網(wǎng)上一文《貼個Flex-Jsp-Mysql簡單結(jié)合例子》,,作為練習(xí),,改為flex2.0環(huán)境下運(yùn)行。
1,、請先設(shè)置好flex運(yùn)行的環(huán)境,,參考《flex2環(huán)境簡單配置》并在mysql數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫web,可用下載文件中的tblmobile.sql導(dǎo)入數(shù)據(jù),表結(jié)構(gòu)為:
create table tblmobile
(
id integer(11) not null default 0,
categoryid integer(11),
name varchar(255),
image varchar(255),
price decimal(12,2),
addtime datetime,
primary key (id)
);
2、將getmysql.mxml和t.jsp復(fù)制到你的應(yīng)用程序的根目錄下,,比如e:\tomcat 5.5\webapps\flex,將mysql數(shù)據(jù)庫的驅(qū)動程序mysql-connector-java-5.0.3-bin.jar放入e:\tomcat 5.5\webapps\flex\WEB-INF\lib下,,重啟tomcat,下面是效果:
3、getmysql.mxml發(fā)送請求并顯示返回的數(shù)據(jù)
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx=" <mx:HTTPService id="userRequest" url=" <mx:request xmlns="">
<categoryID>{cid.text}</categoryID>
</mx:request>
</mx:HTTPService>
<mx:Form x="22" y="10" width="493">
<mx:HBox>
<mx:Label text="categoryID"/>
<mx:TextInput id="cid" />
</mx:HBox>
<mx:Button label="Submit" click="userRequest.send()"/>
</mx:Form>
<mx:DataGrid id="dgUserRequest" x="22" y="100" dataProvider="{userRequest.lastResult.phonelist.phone}">
<mx:columns>
<mx:DataGridColumn headerText="ID" dataField="id"/>
<mx:DataGridColumn headerText="User Name" dataField="name"/>
<mx:DataGridColumn headerText="Images" dataField="image"/>
</mx:columns>
</mx:DataGrid>
</mx:Application>
4,、t.jsp處理請求并發(fā)送xml格式的數(shù)據(jù)
<?xml version="1.0" encoding="utf-8"?>
<%@ page contentType="text/html;charset=utf-8"%>
<%@ page import="java.sql.*"%>
<phonelist>
<%
String sql = "";
String url = "";
String categoryID = request.getParameter("categoryID");
if(categoryID==null) categoryID="1";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
url = "jdbc:mysql://localhost/web?user=root&password=&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>