首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

一个容易的利用Ajax实现的动态查询的例子

2012-11-04 
一个简单的利用Ajax实现的动态查询的例子一个简单的利用Ajax进行动态查询的例子。此例就是利用Ajax实现异步

一个简单的利用Ajax实现的动态查询的例子

一个简单的利用Ajax进行动态查询的例子。

此例就是利用Ajax实现异步传输。通过异步传输对象发送请求和接受响应。请求的为服务器端组件,在这里使用Servlet实现。响应的结果为XML格式,通过在网页中利用JS使用DOM进行内容解析,实现内容的动态生成。

下面讲解例子:

首先准备表,在这里使用Oracle数据库,数据库名称为GoldDB,在其中的frank模式下建立表MyTable,表中包含三个字段分别为:pid,pname,age。以后的检索条件利用age,检索age大于某一条件的结果。

首先创建Web Project,在其中创建index.jsp,作为与用户交互的页面,动态的处理也在此页面利用Ajax完成。

主体页面的设计如下:

?

非常的简单,此页面存在一个文本框,id为searchAge,用来输入查询条件数值,另外存在一个按钮用作提交,调用JS方法searchPerson

页面中存在一个查询结果的现实Table,注意,必须建立tbody标记,因为动态生成的结果要在tbody中操作。id为mytable

当点击按钮的时候调用searchPerson方法,方法如下:

?请求的组件为servlet,代码如下(只列出doGet方法,其他的方法为默认的):

public void doGet(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException {  response.setContentType("text/xml");    response.setHeader("pragma", "no-cache");  response.setHeader("cache-control", "No-cache");  response.setDateHeader("expires", 0);  Connection conn=null;  PreparedStatement pstmt=null;  ResultSet rst=null;  String strAge=request.getParameter("age");  try{   Class.forName("oracle.jdbc.driver.OracleDriver");   conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:GoldDB","root","123456");   String strSQL="select * from MyTable where age>?";   pstmt=conn.prepareStatement(strSQL);   pstmt.setInt(1, Integer.parseInt(strAge));   rst=pstmt.executeQuery();   StringBuffer strb=new StringBuffer();   strb.append("<persons>");   while(rst.next()){    strb.append("<person>");    strb.append("<pid>"+rst.getInt(1)+"</pid>");    strb.append("<pname>"+rst.getString(2)+"</pname>");    strb.append("<age>"+rst.getInt(3)+"</age>");    strb.append("</person>");   }   strb.append("</persons>");   System.out.println(strb.toString());   response.getWriter().write(strb.toString());  }catch(ClassNotFoundException ex){   ex.printStackTrace();  }catch(SQLException ex){   ex.printStackTrace();  }   }

?此方法就是利用JDBC检索对应的数据库表,然后检索数据,形成XML格式内容。注意利用StringBuffer生成。最后响应给客户端。

热点排行