flex,jsp,mysql三者之间的传值联系(1)
建立JSP,MYSQL,FLEX之间的联系基本思路如下:
1,在MYSQL的TEST数据库下建立一个GRADE表,字段随便。然后配置JSP和MYSQL。
2,把MYSQL支持JAVA的驱动包放在TOMCAT的 common/lib,和shared/lib目录下,并在系统的环境变量中设置classpath路径,设置为TOMCAT目录下的字目录中的tools.jar,还要加上驱动包名.jar.
3,准备好之后,写连接MYSQL的代码,并把它输出结果转换成XML的格式显示在页面上。
4,然后写MXML文件,用HTTPService组件去读取jsp文件的值。
5,注意,在这里用到了中文,所以应该把文件的保存编码形式设置为utf-8。
好了,不多说了,下面为相关文件的代码。
Jsp文件代码如下:
<%@ page contentType="text/xml; charset=utf-8" %>
<%@ page language="java" %>
<%@ page import="com.mysql.jdbc.Driver" %>
<%@ page import="java.sql.*" %>
<%
//驱动程序名
String driverName="com.mysql.jdbc.Driver";
//数据库用户名
String userName="root";
//密码
String userPasswd="";
//数据库名
String dbName="test";
//表名
String tableName="grade";
//联结字符串
String url="jdbc:mysql://localhost:3306/"+dbName+"?
user="+userName+"&password="+userPasswd;
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connection=DriverManager.getConnection(url);
Statement statement = connection.createStatement();
String sql="SELECT * FROM "+tableName;
ResultSet rs = statement.executeQuery(sql);
// 输出每一个数据值
out.println("<grade>");
while(rs.next()) {
out.println("<class1>");
out.println("<no>");
out.println(rs.getString(1)+" ");
out.println("</no>");
out.println("<name>");
out.println(rs.getString(2));
out.println("</name>");
out.println("<chinese>");
out.println(rs.getString(3));
out.println("</chinese>");
out.println("<english>");
out.println(rs.getString(4));
out.println("</english>");
out.println("<math>");
out.println(rs.getString(5));
out.println("</math>");
out.println("</class1>");
}
out.println("</grade>");
out.close();
rs.close();
statement.close();
connection.close();
%>
上面记得一定要关闭out的输出,不然就出错的。
Flex文件如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete = "feedRequest.send()">
<mx:HTTPService id="feedRequest" url="http://localhost:8080/firstname1.jsp"
useProxy="false" contentType="application/xml" method="get" />
<mx:Panel x="10" y="10" width="700" height="400" layout="absolute">
<mx:DataGrid x="20" y="20" id="dgPosts" width="700"
dataProvider="{feedRequest.lastResult.grade.class1}">
<mx:columns>
<mx:DataGridColumn headerText="学号" dataField="no"/>
<mx:DataGridColumn headerText="姓名" dataField="name"/>
<mx:DataGridColumn headerText="语文" dataField="chinese"/>
<mx:DataGridColumn headerText="英语" dataField="english"/>
<mx:DataGridColumn headerText="数学" dataField="math"/>
</mx:columns>
</mx:DataGrid>
<mx:LinkButton x="20" y="225" label="Read Full Post" click="navigateToURL(new
URLRequest(dgPosts.selectedItem.link))"/>
<mx:TextArea x="20" y="300" width="400"/>
</mx:Panel>
</mx:Application>
好了,就这么简单,关于flex的配置及相关设置我在ASP+ACCESS+FLEX中已经介绍了,这里就不多说了。当然JSP文件应该放在TOMCAT的ROOT目录下,而FLEX文件则应试放在TOMCAT的WEBAPPS/FLEX的目录下面。用的相关软件为,FDS+TOMCAT+FLEX BUILDER+ECLIPSE+MYSQL