`
dzqlhh
  • 浏览: 61238 次
社区版块
存档分类
最新评论

AJAX for Java简单表数据查询实例

阅读更多

AJAX WebShop 3Java开发具有良好的支持,同时也提供了各种层次的后台服务开发接口,本系列文章对AJAX for Java的数据库应用编程方式进行全面介绍。<o:p></o:p>

<o:p> </o:p>

.数据表说明<o:p></o:p>

例子采用了Access数据库,当然你也可以使用mysql 或其他类型数据库,数据库名称为:demo.mdb,表名为product,创建字段分别是PRODUCT_ID, PRODUCT_NAME, PRODUCT_PRICE, PRODUCT_AREA<o:p></o:p>

<o:p> </o:p>

.实现数据查询<o:p></o:p>

首先启动AJAX WebShop 3,在File中选择“New Project”建立新工程。<o:p></o:p>

<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><o:p></o:p>

<o:p> </o:p>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

在弹出的New Project对话框中设置projectname web server本例中设置projectname为:java_example和设置web server为:Java。如果要修改工程路径,请在Directory中设置要存放的路径。<o:p></o:p>

<o:p></o:p>

<o:p></o:p>

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p></o:p> 

<o:p> </o:p>

首先我们要实现后台的数据库访问服务类,实现Java后台服务类的方法有几种,但都是使用XmlDataSet类,在3.0版本之前是使用XmlRequestXmlPost类,而XmlDataSet是这两个功能的集成,并提供了更简单易用的方法:<o:p></o:p>

方法A:通过WebShop的向导产生基于BusinessObjectBean的类代码框架,然后在此基础上修改query_XMLupdate_XML方法<o:p></o:p>

<o:p> </o:p>

设置好New Project后,再打开“File”选择“New .Java Service”,在弹出的对话框内目录输入包名:demo,设置”Class Name”为:Simple,点击“OK“后,向导将按默认模板生成Java单表数据读取和数据提交的代码,修改代码中的数据库连接串、表名就可以了。<o:p></o:p>

<o:p></o:p>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

         <o:p></o:p>

方法B 使用其他Java开发工具,建立基于BusinessObjectBean的类并覆盖query_XMLupdate_XML方法。<o:p></o:p>

方法AB需要使用两个ServletQuery.classUpdate.class这两个Servletweb.xml中有配置。<o:p></o:p>

方法C 使用其他Java开发工具,分别建立数据读取和数据提交的servletjsp,当然也可以建立您自己的框架与控制机制,比如用您的servlet控制调用相关的JavaBean,在JavaBean中实现数据读取和数据提交。此种方法也可以与现有的流行框架很好地融合。<o:p></o:p>

<o:p> </o:p>

不管采用以上何种方法主要涉及XmlDataSet类,常用的属性:maxRowsrecNo,常用的方法:opengetParamfillFieldsfillDatafillRowaddFieldappendsetValuesetRecordCountgetXmlsetError,详细请参考帮助文档。<o:p></o:p>

<o:p> </o:p>

简单读取数据的几种实现方法:<o:p></o:p>

JavaBean数据读取方法<o:p></o:p>

<o:p> </o:p>

import joyistar.eip.bs.*;<o:p></o:p>

import joyistar.eip.vo.*;<o:p></o:p>

import java.sql.*;<o:p></o:p>

<o:p> </o:p>

public class Simple extends BusinessObjectBean {<o:p></o:p>

    String drivers   = "sun.jdbc.odbc.JdbcOdbcDriver";<o:p></o:p>

    String url       = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=database/demo.mdb";<o:p></o:p>

    String tablename = "product";<o:p></o:p>

    String username  = "";<o:p></o:p>

    String password  = "";<o:p></o:p>

    <o:p></o:p>

    public Simple() {<o:p></o:p>

    }<o:p></o:p>

    <o:p></o:p>

    public joyistar.eip.vo.XmlDataSet query_XML(joyistar.eip.vo.XmlDataSet xmlDataSet) throws Exception {<o:p></o:p>

        Connection conn = null;<o:p></o:p>

        String sql      = "";<o:p></o:p>

        ResultSet rs    = null;<o:p></o:p>

        Statement stmt  = null;<o:p></o:p>

        try{<o:p></o:p>

            System.setProperty("jdbc.drivers", drivers);<o:p></o:p>

            conn = DriverManager.getConnection(url, username, password);<o:p></o:p>

            sql  = "select * from " + tablename;<o:p></o:p>

            stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);<o:p></o:p>

            rs   = stmt.executeQuery(sql);<o:p></o:p>

            rs.last();<o:p></o:p>

            xmlDataSet.setRecordCount(rs.getRow());<o:p></o:p>

                            xmlDataSet.fillFields(rs);<o:p></o:p>

                            xmlDataSet.fillData(rs);<o:p></o:p>

         } <o:p></o:p>

                    catch(Exception e) {<o:p></o:p>

            xmlDataSet.error = e.getMessage();<o:p></o:p>

                 e.printStackTrace();<o:p></o:p>

        } <o:p></o:p>

                   finally {<o:p></o:p>

            if(rs != null)<o:p></o:p>

            rs.close();<o:p></o:p>

            if(stmt != null)<o:p></o:p>

            stmt.close();<o:p></o:p>

            if(conn != null)<o:p></o:p>

            conn.close();<o:p></o:p>

        }  <o:p></o:p>

        return xmlDataSet;  <o:p></o:p>

    }    <o:p></o:p>

<o:p> </o:p>

JSP数据读取使用方法<o:p></o:p>

<%@ page contentType="text/xml; charset=utf-8" %><o:p></o:p>

<%@ page import="joyistar.eip.vo.*" %><o:p></o:p>

<%@ page import="java.sql.*" %><o:p></o:p>

<%<o:p></o:p>

    String drivers   = "sun.jdbc.odbc.JdbcOdbcDriver";<o:p></o:p>

    String url       = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=database/demo.mdb";<o:p></o:p>

    String tablename = "product";<o:p></o:p>

    String username  = "";<o:p></o:p>

    String password  = "";        <o:p></o:p>

         Connection conn  = null;<o:p></o:p>

    String sql       = "";<o:p></o:p>

    ResultSet rs     = null;<o:p></o:p>

    Statement stmt   = null;<o:p></o:p>

    XmlDataSet xmlDataSet = new XmlRequest();<o:p></o:p>

    try{<o:p></o:p>

             xmlDataSet.open(request);<o:p></o:p>

        System.setProperty("jdbc.drivers", drivers);<o:p></o:p>

        conn = DriverManager.getConnection(url, username, password);<o:p></o:p>

        sql  = "select * from " + tablename;<o:p></o:p>

        stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);<o:p></o:p>

        rs   = stmt.executeQuery(sql);<o:p></o:p>

        rs.last();<o:p></o:p>

        xmlDataSet.setRecordCount(rs.getRow());<o:p></o:p>

                   xmlDataSet.fillFields(rs);<o:p></o:p>

                   xmlDataSet.fillData(rs);<o:p></o:p>

                   out.println(xmlDataSet.getXml());<o:p></o:p>

                   out.flush();<o:p></o:p>

    } <o:p></o:p>

         catch(Exception e) {<o:p></o:p>

        xmlDataSet.error = e.getMessage();<o:p></o:p>

                   out.println(xmlDataSet.getXml());<o:p></o:p>

                   out.flush();<o:p></o:p>

             e.printStackTrace();<o:p></o:p>

    } <o:p></o:p>

         finally {<o:p></o:p>

        if(rs != null)<o:p></o:p>

        rs.close();<o:p></o:p>

        if(stmt != null)<o:p></o:p>

                            stmt.close();<o:p></o:p>

        if(conn != null)<o:p></o:p>

            conn.close();<o:p></o:p>

    }  <o:p></o:p>

%><o:p></o:p>

在这里需要说明的是,如果带有参数的查询,需要加入类似以下取参数的代码:<o:p></o:p>

分享到:
评论

相关推荐

    DWR(Easy ajax for java)我来写个例子玩玩

    DWR (Direct Web Remoting) 是一个开源Java库,它使得在Web应用程序中实现AJAX(Asynchronous JavaScript and XML)变得更加简单。AJAX允许创建动态、交互性更强的网页,无需刷新整个页面即可更新部分内容。DWR通过...

    Ajax JSON 实例For Java

    这个实例可以帮助初学者快速理解Ajax与JSON在Java环境下的应用,通过运行100720_testAjaxJSON,你可以观察到前端页面如何通过Ajax向后端Servlet发送JSON数据,以及Servlet如何处理这些数据并返回响应。这个过程涵盖...

    ajax实现动态从数据库模糊查询显示到下拉框中(ajax方法返回Dataset的例子

    本文将详细讲解如何使用Ajax实现从数据库进行模糊查询,并将结果显示到下拉框(Dropdown List)中,这里我们将以一个具体例子——通过Ajax方法返回Dataset来阐述整个过程。 首先,我们需要在服务器端设置一个能够...

    highcharts异步ajax可直接运行实例(java版)

    这个"highcharts异步ajax可直接运行实例(java版)"是基于Java Web技术实现的一个具体项目,它展示了如何利用Highcharts与Java后端(servlet)通过异步AJAX通信来动态加载并显示数据。 首先,我们要理解什么是异步...

    Pro Ajax and Java

    2. **Java Web服务**:Ajax通常与Web服务结合使用,因此书中会涵盖Java创建RESTful API或SOAP服务的知识,包括使用Java Servlets、JAX-RS(Java API for RESTful Web Services)和JAX-WS(Java API for XML Web ...

    arcgis server for java

    在“arcgis server for java简单例子”中,我们可以学习如何通过Java API与ArcGIS Server进行交互,创建和发布地图服务。这个简单的示例将涵盖以下几个关键知识点: 1. **ArcGIS Server安装与配置**:首先,我们...

    Javaweb项目ajax请求Json实例

    此项目实例"Javaweb项目ajax请求Json实例"旨在演示如何将服务器端的数据以JSON(JavaScript Object Notation)格式发送到客户端,并在JSP页面上进行解析和展示。JSON是一种轻量级的数据交换格式,因其简洁性和易读性...

    AJAX在JAVA上初步应用

    在JAVA上实现AJAX,可以极大地提升用户体验,因为用户不再需要等待整个页面刷新来获取新的数据。在这个主题中,我们将探讨如何在JAVA环境下利用AJAX实现MVC(Model-View-Controller)模式,以及如何处理和显示XML...

    Java抓取网页数据Demo

    本文将详细讨论如何使用Java语言来抓取网页数据,包括两种主要方法:直接抓取原网页内容和处理网页中的JavaScript返回数据。 首先,让我们探讨**抓取原网页**的方法。在Java中,我们可以使用`java.net.URL`类来建立...

    Ajax实现分页查询

    本教程将围绕Ajax在JSP(JavaServer Pages)环境下的分页查询展开,尽管原始示例是ASP,但转换到JSP的原理是相通的。 **Ajax基础** Ajax的核心在于创建XMLHttpRequest对象,它允许在后台与服务器进行异步通信。在...

    ajax获取服务器以xml形式输出省市数据,并获取数据绑定前台下拉框和实现联动

    以下是一个简单的Ajax请求XML数据的例子: ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://example.com/data.xml', true); xhr.onreadystatechange = function() { if (xhr.readyState =...

    Ajax实现下拉列表从数据库读取数据级联

    这个例子展示了如何使用Ajax实现下拉列表的级联效果。实际应用中,你可能需要考虑错误处理、数据验证、性能优化(如使用缓存)以及兼容不同浏览器等问题。此外,随着前端框架的发展,现代Web开发中可以使用Vue、...

    Ajax DRW的简单例子 源码

    在这个"Ajax DRW的简单例子 源码"中,我们可以学习如何在MyEclipse环境下搭建一个基于DWR的Ajax应用。 首先,我们需要了解DWR的基本配置。在项目中,通常会有以下几个关键文件: 1. `web.xml`:这是Web应用的部署...

    简单的JAVA SCRIPT 例子

    这个"简单的JAVA SCRIPT 例子"压缩包显然包含了一些初级的JavaScript代码示例,适合初学者学习和理解基础概念。 在JavaScript中,你将学到以下几个核心知识点: 1. **变量(Variables)**:变量是存储数据的地方,...

    js+ajax处理java后台返回的json对象循环创建到表格的方法.docx

    本教程通过具体的代码实例详细介绍了如何使用 JavaScript 和 AJAX 技术处理 Java 后台返回的 JSON 数据,并将其动态添加到 HTML 表格中的方法。这种方法不仅提高了数据处理的效率,同时也增强了用户界面的交互性和...

    Json-RPC_for_Java使用说明

    ### JSON-RPC_for_Java使用说明详解 #### 概述 JSON-RPC_for_Java是一款专为Java开发者设计的轻量级、零入侵式的远程过程调用(RPC)框架,旨在简化JavaScript与Java对象之间的交互。它允许JavaScript前端直接调用...

    Json-RPC for java中文手册

    该框架支持通过异步调用传递复合对象作为参数,这意味着用户不仅限于传递简单的数据类型,还可以传递如JavaBean或Map这样的复杂对象。 #### 工程下载地址 - **SVN仓库地址**:`...

    JAVA上百实例源码以及开源项目源代码

    Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、...

    java的dwr的联级操作ajax

    DWR在表格操作中扮演着重要角色,因为它可以轻松地将Java数据模型转换为HTML表格。我们可以通过DWR调用Java方法获取数据,然后使用JavaScript库如jQuery来动态生成表格。例如,我们可以创建一个`renderTable`函数,...

    jsp+ajax自动刷新实例

    它可能接收请求,处理数据(例如从数据库查询新的数据),然后以某种格式(如JSON)返回结果。例如: ```jsp &lt;%@ page language="java" contentType="application/json; charset=UTF-8" pageEncoding="UTF-8"%&gt; /...

Global site tag (gtag.js) - Google Analytics