FLex调用servlet连接数据库
前言
Flex 最重要的部分之一就是和服务器以及数据库的通讯。Flex 提供了三个类来与服务器通讯: HTTPService,RemoteObject 以及WebService。
HTTPService 类提供了使用超文本传输协议(HTTP)与服务器通讯的方式。一个Flex 应用程序可以使用GET 或者POST 请求来发送数据到一个服务器并且处理这个请求返回的 XML 或者字符串。使用HTTPService 类,你可以与PHP 页面,ColdFusion 页面,JavaServe页面( jsp),Java servlet, Ruby onRails, 以及ASP 动态网页通讯。
与Java Servlet通讯
由于本人是Java出身,所以这里就来讨论一下与Servlet的通讯方式。
建立数据库
这里选用MySql数据库,首先建立如下的数据库表
写服务器端Java代码
Servlet
数据库连接
DAO
PODO
部署TOMCAT
这一部分略过,如果觉得手动部署比较麻烦,我们可以使用MyEclipse插件。值得注意的是web.xml文件的配置,一定要正确配置servlet,下面我给出正确示例
编写FLEX MXML
代码重点解释
1. creationComplete="send()"
表明当这个Flex应用创建完成时,就发送这个HttpServer请求给Servlet
2. url=http://localhost:8080/servlet/servlet/GetProductServlet
第一个servlet是我们服务器端的工程名
第二个servelt是servlet所在包名
GetProductServlet使我们真正的servlet名称
3. dataProvider="{service.lastResult.products.product}"
a. lastResult:在做了一个呼叫到一个HTTPService 之后,数据会从服务返回,并被放置到服务组件所包含的lastResult 对象。
b. 由于我们返回的是一个XML数据,所以service.lastResult.products.product就代表返回XML中products标签下的所有product标签内容。
c. Product子标签和Flex中<mx:columns>的dataField属性相对应。
结果图
完整的JAVA和FLEX代码可以在这里下载