`
pengyeer
  • 浏览: 33825 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

Flex3通过Servlet连接数据库

阅读更多

01

Flex3通过Servlet连接数据库

本文简单介绍了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代码 复制代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"  
  3.      creationComplete="feedRequest.send()" >  
  4.    <mx:HTTPService id="feedRequest"  
  5.        url="http://localhost:8080/flexweb/HelloWorld"  
  6.        useProxy="false" />  
  7.     <mx:Panel x="10" y="10" width="475" height="400" layout="absolute"  
  8.         title="{dgPosts.selectedItem.name}" color="#1C06F6" fontSize="16">  
  9.     <mx:DataGrid x="20" y="20" id="dgPosts" width="400" dataProvider="{feedRequest.lastResult.songs.song}" fontFamily="Times New Roman" fontSize="16">  
  10.        <mx:columns>  
  11.          <mx:DataGridColumn headerText="Name" dataField="name"/>  
  12.          <mx:DataGridColumn headerText="Singer" dataField="singer"/>  
  13.          <mx:DataGridColumn headerText="URL" dataField="addrURL"/>  
  14.        </mx:columns>  
  15.     </mx:DataGrid>  
  16.     <mx:LinkButton x="20" y="225" label="下载音乐" click="navigateToURL(new URLRequest(dgPosts.selectedItem.addrURL));" fontFamily="Times New Roman" fontSize="20" color="#0B3C0B"/>  
  17.     <mx:TextArea x="20" y="175" width="400" text="{dgPosts.selectedItem.lrc}" fontFamily="Times New Roman" fontSize="16"/>  
  18.    </mx:Panel>  
  19. </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

Xml代码 复制代码
  1. package test;   
  2. import java.io.*;   
  3. import java.sql.Connection;   
  4. import java.sql.DriverManager;   
  5. import java.sql.ResultSet;   
  6. import java.sql.SQLException;   
  7. import java.sql.Statement;   
  8.   
  9. import javax.servlet.*;   
  10. import javax.servlet.http.*;   
  11.   
  12. public class HelloWorld extends HttpServlet {   
  13.     public static String dbDriver ="sun.jdbc.odbc.JdbcOdbcDriver";   
  14.     public String connStr ="jdbc:odbc:songs";   
  15.     public ResultSet rs =null;   
  16.     public Connection con=null;   
  17.     public Statement st=null;   
  18.     public void doGet(HttpServletRequest request, HttpServletResponse response)   
  19.             throws ServletException, IOException{   
  20.   
  21.         response.setContentType("text/xml;charset=utf-8");   
  22.         response.setHeader("Cache-Control", "no-cache");   
  23.         String content = "";   
  24.         String name="";   
  25.         String singer="";   
  26.         String lrc="";   
  27.         String addrURL="";   
  28.         try{   
  29.         Connection condb = getConnection();   
  30.         st = condb.createStatement();   
  31.         rs=st.executeQuery("select * from songs");   
  32.         while(rs.next()){   
  33.             name = rs.getString("name");   
  34.             singer = rs.getString("singer");   
  35.             lrc = rs.getString("lrc");   
  36.             addrURL = rs.getString("url");   
  37.             content+="<song><name>"+name+"</name><singer>"+singer+"</singer><lrc>"+   
  38.              lrc+"</lrc><addrURL>"+addrURL+"</addrURL></song>";   
  39.         }   
  40.         }catch(ClassNotFoundException e){   
  41.             e.printStackTrace();   
  42.         }catch( SQLException e1){   
  43.             e1.printStackTrace();   
  44.         }   
  45.         content="<?xml version=\"1.0\" encoding=\"utf-8\"?><songs>"+content;   
  46.         content+="</songs>";   
  47.   
  48.         System.out.println(content);   
  49.         response.getWriter().write(content);   
  50.     }   
  51.     public Connection getConnection() throws ClassNotFoundException{   
  52.         try{   
  53.             Class.forName(dbDriver);   
  54.             System.out.println("Connect to db successfuly!");   
  55.             con = DriverManager.getConnection(connStr);   
  56.                
  57.         }catch(SQLException e){   
  58.             con=null;   
  59.             System.err.println(e.getMessage());   
  60.         }   
  61.         return con;   
  62.     }   
  63. }  
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连接数据库

分享到:
评论
1 楼 lf1815 2008-06-04  
顶下..如果有Flex连接MySql的例子就更好了...(Flex新手)

相关推荐

    Flex3通过Servlet连接数据库(源码+Access)

    标题提到的“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连接数据库access.rar

    Flex通过Servlet连接数据库

    FLEX通过SERVLET连接数据库的例子!

    FLEX调用Servlet连接数据库源码

    本资源提供的"Flex调用Servlet连接数据库源码"是一个很好的学习实例,它涵盖了如何使用Adobe Flex作为前端展示层,通过HTTP服务与Java Servlet进行通信,进而实现对数据库的读写操作。现在我们将详细解析这个主题。 ...

    FLex调用servlet连接数据库中文WORD版最新版本

    本文档主要讲述的是FLex调用servlet连接数据库;Flex 最重要的部分之一就是和服务器以及数据库的通讯。Flex 提供了三个类来与服务器通讯: HTTPService,RemoteObject 以及WebService。希望本文档会给有需要的朋友...

    Flex与Java Servlet交互实例

    本文简单介绍了Flex如何通过servlet连接数据库(Access)。使用的是给后台传递数据的方法。 本文开发使用的软件: Flex3-eclipse plugin Tomcat 6.0 Microsoft access 2003 Eclipse 3.3 各个软件的安装和...

    Flex结合Java连接Oracle数据库实现用户登录

    4. **JDBC (Java Database Connectivity)**: JDBC是Java中用来连接数据库的标准接口,它允许Java程序通过编写SQL语句来访问和操作数据库。在Java和Oracle数据库之间建立连接时,需要使用JDBC驱动。 5. **用户登录...

    flex显示数据库数据

    在本场景中,我们讨论的是如何在Flex 4中利用Myeclipse 9.0集成开发环境,从MySQL数据库中获取数据,并通过DataGrid组件在Flex页面上展示这些数据。这个过程涉及到多个技术栈,包括Java、Mysql数据库、Tomcat服务器...

    Flex入门-Flex整合Servlet

    当Flex客户端发送请求时,这些请求通常会被Servlet捕获,然后进行相应的处理,例如访问数据库、执行业务逻辑等。处理完成后,Servlet将结果封装成XML或JSON格式的数据,返回给Flex客户端,客户端再用这些数据更新...

    flex连接java数据库实例

    通过以上步骤,我们可以成功实现Flex与Java的连接,实现在Web应用中向数据库提交数据的功能。这不仅提供了丰富的用户体验,还能够利用Java的强大后端处理能力。在实际项目中,可以根据具体需求调整这些步骤,例如...

    雷达图/用C#连接数据库/用j2ee访问数据库/flex前台网站

    在“Down_Examples”这个压缩包中,可能包含了关于如何使用C#连接数据库、J2EE访问数据库以及如何在Flex前端展示数据的示例代码和教程。这些例子可以帮助开发者深入理解这三者之间的交互和实际应用。通过学习这些...

    连接数据库包与源码

    本资源"连接数据库包与源码"提供了关于如何使用Flex和Java进行数据交互的实例,对于正在学习这一技术的开发者来说,具有很高的参考价值。 1. Flex简介: Flex是基于ActionScript 3.0的开发工具,由Adobe公司推出,...

    通过Servlet让Extjs GridPanel 显示数据库数据.docx

    // 连接数据库,执行SQL查询 String sql = "SELECT * FROM contacts"; List, Object&gt;&gt; resultList = new ArrayList(); try (Connection conn = DriverManager.getConnection(DB_URL, USER, PASS); ...

    Flex4访问数据库文档

    通过以上详细介绍,我们可以看到Flex作为一种强大的RIA(Rich Internet Application)框架,在处理与数据库的交互方面具有诸多优势。无论是通过HTTPService、WebService还是RemoteObject组件,Flex都能够高效地处理...

    flex+java+mysql登录

    3. Java后台处理:在Java端,你需要创建一个对应的Servlet或Spring MVC控制器来处理来自Flex的请求。这个控制器会接收到Flex传递过来的登录信息,然后使用JDBC(Java Database Connectivity)API与MySQL数据库进行...

    flex3读书笔记----flex整合hibernate

    12. **实体类与映射文件**: 实体类如SuperManager对应数据库中的表supermanager,属性与表字段一一对应,通过Hibernate的映射文件(.hbm.xml)建立这种关系,使得Java对象可以直接操作数据库。 13. **Hibernate ...

    flex+selvet+oracle

    在Servlet中,通过JDBC驱动(`oracle.jdbc.driver.OracleDriver`)与Oracle数据库建立连接,执行SQL语句获取数据,然后可以将这些数据转换成XML格式,通过HTTP响应返回给Flex客户端。 4. **XML**: XML(Extensible ...

    flex+hibernate 实例

    3. **服务创建**:在Flex端,创建一个AMF通道连接到服务器上的服务,这个服务通常是一个Java Servlet,负责处理Flex发来的请求,调用Hibernate方法进行数据操作。 4. **数据访问**:在Flex应用中,使用Service或...

Global site tag (gtag.js) - Google Analytics