ajax json数据库,Ajax json 实现 异步交互获取数据库数据

2023-05-16

Ajax json 实现 异步交互获取数据库数据

2019年12月05日

阅读数:31

这篇文章主要向大家介绍Ajax json 实现 异步交互获取数据库数据,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

这个例子主要 实现了数据的迁移 能在选择了数据库后能自动的将数据库中中的表名在页面上展现

运用了 Ajax动态交互

1.界面:其中的重点为javaScript 的部分主要实现了 异步交互

选择数据库

Oracle10g

SQL2005

导出库的IP地址

请输入用户名

请输入密码

选择表

导入数据库

Oracle10g

SQL2005

导入库IP

导入库名

$(document).ready(function(){

getTableName();

});

function getNewTableName(){

var obj = document.getElementById("tableNames");

while(obj.childNodes.length){

obj.removeChild(obj.childNodes[0]);

}

getTableName();

}

function getTableName(){

var xmlhttp ;

if(window.ActiveXObject){

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

}else if(window.XMLHttpRequest){

xmlhttp = new XMLHttpRequest();

}else{

alert("您的浏览器版本过低请更新");

}

if(xmlhttp!=null){

xmlhttp.onreadystatechange = handleStateChange;

xmlhttp.open("POST","GetTableNameModel",true);

xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

var name= $("#outDb").val();

xmlhttp.send("typeDb="+name);

}

function handleStateChange(){

if(xmlhttp.readyState==4){

if(xmlhttp.status==200){

var json = eval( '('+ xmlhttp.responseText +')');

for(var i=0;i

$("#tableNames").append(""+json.TABLES[i].TABLE+"");

}

}

}

}

}

2.dao层取得数据后封装成 json 后返回到客户端 重点是 其中将数据转换成json字符串返回的操做

package com.ztf.dao;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import org.jdom.Element;

import com.url.ajax.json.JSONObject;

import com.ztf.Idao.ITableDao;

import com.ztf.util.GetConnection;

public class GetOracleTableName implements ITableDao {

public String getAllTableName(String table) {

String sql="select * from tab";

Connection conn = null;

Statement st = null;

ResultSet rs = null;

conn = GetConnection.getconn();

List> list = new ArrayList>();

HashMap result = new HashMap();

try {

st = conn.createStatement();

rs = st.executeQuery(sql);

while(rs.next()){

HashMap map = new HashMap();

map.put("TABLE", rs.getString(1));

list.add(map);

}

result.put("TABLES", list);

} catch (SQLException e) {

e.printStackTrace();

}finally{

try {

rs.close();

st.close();

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

JSONObject jsonObject = new JSONObject(result);

String json = jsonObject.toString();

return json;

}

}

3.请求的 servlet的代码为:

package com.ztf.model;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.jdom.Element;

import com.ztf.dao.GetOracleTableName;

import com.ztf.dao.GetSqlTableName;

public class GetTableNameModel extends HttpServlet {

public GetTableNameModel() {

super();

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html");

PrintWriter out = response.getWriter();

String name = request.getParameter("typeDb");

if(name.equals("Oracle10g")){

GetOracleTableName getName = new GetOracleTableName();

String json = getName.getAllTableName("");

out.print(json);

}else if(name.equals("SQL2005")){

GetSqlTableName getName = new GetSqlTableName();

String json = getName.getAllTableName("");

out.print(json);

}

}

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ajax json数据库,Ajax json 实现 异步交互获取数据库数据 的相关文章

随机推荐