01
本文简单介绍了Flex如何通过servlet连接数据库(Access)。使用的是<mx:HttpService>给后台传递数据的方法。
本文开发使用的软件:
Flex3-eclipse plugin
Tomcat 6.0
Microsoft access 2003
Eclipse 3.3
各个软件的安装和使用这里就不介绍了。
首先用Access建立一个名字叫做songs的table.包含了name,singer,lrc,addURL四个field.具体的可以参考附件中附带的access文件。关于Access部署参考:Java连接access数据库 .
其次新建一个mxml文件:Hello.mxml 。具体代码如下:
- <?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/flexweb/HelloWorld"
- useProxy="false" />
- <mx:Panel x="10" y="10" width="475" height="400" layout="absolute"
- title="{dgPosts.selectedItem.name}" color="#1C06F6" fontSize="16">
- <mx:DataGrid x="20" y="20" id="dgPosts" width="400" dataProvider="{feedRequest.lastResult.songs.song}" fontFamily="Times New Roman" fontSize="16">
- <mx:columns>
- <mx:DataGridColumn headerText="Name" dataField="name"/>
- <mx:DataGridColumn headerText="Singer" dataField="singer"/>
- <mx:DataGridColumn headerText="URL" dataField="addrURL"/>
- </mx:columns>
- </mx:DataGrid>
- <mx:LinkButton x="20" y="225" label="下载音乐" click="navigateToURL(new URLRequest(dgPosts.selectedItem.addrURL));" fontFamily="Times New Roman" fontSize="20" color="#0B3C0B"/>
- <mx:TextArea x="20" y="175" width="400" text="{dgPosts.selectedItem.lrc}" fontFamily="Times New Roman" fontSize="16"/>
- </mx:Panel>
- </mx:Application>
<?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/flexweb/HelloWorld"
useProxy="false" />
<mx:Panel x="10" y="10" width="475" height="400" layout="absolute"
title="{dgPosts.selectedItem.name}" color="#1C06F6" fontSize="16">
<mx:DataGrid x="20" y="20" id="dgPosts" width="400" dataProvider="{feedRequest.lastResult.songs.song}" fontFamily="Times New Roman" fontSize="16">
<mx:columns>
<mx:DataGridColumn headerText="Name" dataField="name"/>
<mx:DataGridColumn headerText="Singer" dataField="singer"/>
<mx:DataGridColumn headerText="URL" dataField="addrURL"/>
</mx:columns>
</mx:DataGrid>
<mx:LinkButton x="20" y="225" label="下载音乐" click="navigateToURL(new URLRequest(dgPosts.selectedItem.addrURL));" fontFamily="Times New Roman" fontSize="20" color="#0B3C0B"/>
<mx:TextArea x="20" y="175" width="400" text="{dgPosts.selectedItem.lrc}" fontFamily="Times New Roman" fontSize="16"/>
</mx:Panel>
</mx:Application>
保存文件,编译执行。此刻由于没有部署本地服务器来执行http://localhost:8080/flexweb/HelloWorld
所以会出现错误信息,不要紧,我们开始搭建servlet.
servlet的具体代码如下: HelloWorld.java
- package test;
- import java.io.*;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
-
- import javax.servlet.*;
- import javax.servlet.http.*;
-
- public class HelloWorld extends HttpServlet {
- public static String dbDriver ="sun.jdbc.odbc.JdbcOdbcDriver";
- public String connStr ="jdbc:odbc:songs";
- public ResultSet rs =null;
- public Connection con=null;
- public Statement st=null;
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException{
-
- response.setContentType("text/xml;charset=utf-8");
- response.setHeader("Cache-Control", "no-cache");
- String content = "";
- String name="";
- String singer="";
- String lrc="";
- String addrURL="";
- try{
- Connection condb = getConnection();
- st = condb.createStatement();
- rs=st.executeQuery("select * from songs");
- while(rs.next()){
- name = rs.getString("name");
- singer = rs.getString("singer");
- lrc = rs.getString("lrc");
- addrURL = rs.getString("url");
- content+="<song><name>"+name+"</name><singer>"+singer+"</singer><lrc>"+
- lrc+"</lrc><addrURL>"+addrURL+"</addrURL></song>";
- }
- }catch(ClassNotFoundException e){
- e.printStackTrace();
- }catch( SQLException e1){
- e1.printStackTrace();
- }
- content="<?xml version=\"1.0\" encoding=\"utf-8\"?><songs>"+content;
- content+="</songs>";
-
- System.out.println(content);
- response.getWriter().write(content);
- }
- public Connection getConnection() throws ClassNotFoundException{
- try{
- Class.forName(dbDriver);
- System.out.println("Connect to db successfuly!");
- con = DriverManager.getConnection(connStr);
-
- }catch(SQLException e){
- con=null;
- System.err.println(e.getMessage());
- }
- return con;
- }
- }
package test;
import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {
public static String dbDriver ="sun.jdbc.odbc.JdbcOdbcDriver";
public String connStr ="jdbc:odbc:songs";
public ResultSet rs =null;
public Connection con=null;
public Statement st=null;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
response.setContentType("text/xml;charset=utf-8");
response.setHeader("Cache-Control", "no-cache");
String content = "";
String name="";
String singer="";
String lrc="";
String addrURL="";
try{
Connection condb = getConnection();
st = condb.createStatement();
rs=st.executeQuery("select * from songs");
while(rs.next()){
name = rs.getString("name");
singer = rs.getString("singer");
lrc = rs.getString("lrc");
addrURL = rs.getString("url");
content+="<song><name>"+name+"</name><singer>"+singer+"</singer><lrc>"+
lrc+"</lrc><addrURL>"+addrURL+"</addrURL></song>";
}
}catch(ClassNotFoundException e){
e.printStackTrace();
}catch( SQLException e1){
e1.printStackTrace();
}
content="<?xml version=\"1.0\" encoding=\"utf-8\"?><songs>"+content;
content+="</songs>";
System.out.println(content);
response.getWriter().write(content);
}
public Connection getConnection() throws ClassNotFoundException{
try{
Class.forName(dbDriver);
System.out.println("Connect to db successfuly!");
con = DriverManager.getConnection(connStr);
}catch(SQLException e){
con=null;
System.err.println(e.getMessage());
}
return con;
}
}
关于如何利用Tomcat搭建可执行的servlet程序参考:Servlet平台搭建 这里就不介绍了。上面的servlet程序连接access数据库,取出数据后然后生成XML文件,然后在传给Flex应用程序,显示在GUI界面中。截图:
如果部署程序有问题的话,可以留言交流。
附件下载:Flex3通过Servlet连接数据库
分享到:
相关推荐
标题提到的“Flex3通过Servlet连接数据库(源码+Access)”意味着我们将讨论如何使用Flex3作为前端,通过HTTP服务组件与Servlet通信,而Servlet再进一步连接到Access数据库获取或存储数据。Access是一款关系型数据库...
Flex通过servlet连接数据库access.rar Flex通过servlet连接数据库access.rar Flex通过servlet连接数据库access.rar Flex通过servlet连接数据库access.rar
FLEX通过SERVLET连接数据库的例子!
本资源提供的"Flex调用Servlet连接数据库源码"是一个很好的学习实例,它涵盖了如何使用Adobe Flex作为前端展示层,通过HTTP服务与Java Servlet进行通信,进而实现对数据库的读写操作。现在我们将详细解析这个主题。 ...
本文简单介绍了Flex如何通过servlet连接数据库(Access)。使用的是给后台传递数据的方法。 本文开发使用的软件: Flex3-eclipse plugin Tomcat 6.0 Microsoft access 2003 Eclipse 3.3 各个软件的安装和...
4. **JDBC (Java Database Connectivity)**: JDBC是Java中用来连接数据库的标准接口,它允许Java程序通过编写SQL语句来访问和操作数据库。在Java和Oracle数据库之间建立连接时,需要使用JDBC驱动。 5. **用户登录...
在本场景中,我们讨论的是如何在Flex 4中利用Myeclipse 9.0集成开发环境,从MySQL数据库中获取数据,并通过DataGrid组件在Flex页面上展示这些数据。这个过程涉及到多个技术栈,包括Java、Mysql数据库、Tomcat服务器...
当Flex客户端发送请求时,这些请求通常会被Servlet捕获,然后进行相应的处理,例如访问数据库、执行业务逻辑等。处理完成后,Servlet将结果封装成XML或JSON格式的数据,返回给Flex客户端,客户端再用这些数据更新...
通过以上步骤,我们可以成功实现Flex与Java的连接,实现在Web应用中向数据库提交数据的功能。这不仅提供了丰富的用户体验,还能够利用Java的强大后端处理能力。在实际项目中,可以根据具体需求调整这些步骤,例如...
在“Down_Examples”这个压缩包中,可能包含了关于如何使用C#连接数据库、J2EE访问数据库以及如何在Flex前端展示数据的示例代码和教程。这些例子可以帮助开发者深入理解这三者之间的交互和实际应用。通过学习这些...
本资源"连接数据库包与源码"提供了关于如何使用Flex和Java进行数据交互的实例,对于正在学习这一技术的开发者来说,具有很高的参考价值。 1. Flex简介: Flex是基于ActionScript 3.0的开发工具,由Adobe公司推出,...
3. Java后台处理:在Java端,你需要创建一个对应的Servlet或Spring MVC控制器来处理来自Flex的请求。这个控制器会接收到Flex传递过来的登录信息,然后使用JDBC(Java Database Connectivity)API与MySQL数据库进行...
12. **实体类与映射文件**: 实体类如SuperManager对应数据库中的表supermanager,属性与表字段一一对应,通过Hibernate的映射文件(.hbm.xml)建立这种关系,使得Java对象可以直接操作数据库。 13. **Hibernate ...
3. **服务创建**:在Flex端,创建一个AMF通道连接到服务器上的服务,这个服务通常是一个Java Servlet,负责处理Flex发来的请求,调用Hibernate方法进行数据操作。 4. **数据访问**:在Flex应用中,使用Service或...
此外,Java还可以连接数据库,如MySQL或Oracle,实现数据的持久化存储,确保留言信息的安全和可靠性。 具体实现上,Flex3的客户端通过HTTPService或WebService组件向Java服务器发起请求。这些组件允许Flex与Java...
在这个项目中,我们看到Flex被用来开发一个名为“单词连连看”的游戏,它使用了Tomcat作为服务器,并通过RemoteObject技术与MySQL数据库进行交互。下面我们将深入探讨这些技术及其在项目中的应用。 首先,Flex中的...
在本项目中,Java可能使用了Servlet或Spring MVC等框架来处理来自Flex客户端的请求,并通过AJAX技术实现异步通信。Java端还需要实现业务逻辑层(Business Logic Layer),处理数据验证、事务管理等,以及数据访问层...
7. **学习资源**: 对于初学者,理解Flex和Java之间的通信机制、Java的数据库连接以及SQL查询的编写非常重要。网上有许多教程和指南可以帮助理解和实践这些技术。 8. **挑战与注意事项**: 整合这三个技术时,开发者...
2. 数据库连接:项目可能需要配置数据库连接信息,如JDBC驱动和连接字符串。 3. 应用配置:可能涉及XML配置文件,如services-config.xml,用于定义Flex与Java之间的服务映射。 五、开发流程 1. 客户端开发:使用...