- 浏览: 72718 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
liyuanhoa:
SSH 和FreeMarker 动态网页生成静态技术 事例 -
xiao-qiang163:
做的项目,界面很花哨, “好看”但不中用。
做的项目的截图
这个例子主要 实现了数据的迁移 能在选择了数据库后能自动的将数据库中中的表名在页面上展示
运用了 Ajax动态交互
1.界面:其中的重点为javaScript 的部分主要实现了 异步交互
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<body style="margin: 0 auto; text-align: center;">
<div style="margin: 0 auto;border: 1px #f4f4f4 solid;width: 800px;height: 500px;background-color:#E8F2FE; ">
<form action="ChangeDBAction" method="post">
<div style="background-color: #DA70D6;width: 300px;text-align: left;">
选择数据库
<select id="outDb" name="outDb" onChange="getNewTableName()">
<option>Oracle10g</option>
<option>SQL2005</option>
</select>
</div>
<div style="margin-top: 10px;background-color: #D8BFD8;width: 300px;text-align: left;">
导出库的IP地址<input type="text" name="ip" style="width: 100px;"/>
</div>
<div style="margin-top: 10px;background-color: #EE82EE;width: 300px;text-align: left;">
请输入用户名<input type="text" name="user" style="width: 100px;"/>
</div>
<div style="margin-top: 10px;background-color: #DDA0DD;width: 300px;text-align: left;">
请输入密码<input type="password" name="pwd" style="width: 100px;"/>
</div>
<div style="margin-top: 10px;background-color:#778899;width: 300px;text-align: left;">
选择表<select id="tableNames" name="table" style="width: 200px;"></select>
</div>
<div style="margin-top: 10px;background-color: #FF00FF;width: 300px;text-align: left;">
导入数据库
<select name="inDb">
<option>Oracle10g</option>
<option>SQL2005</option>
</select>
</div>
<div style="margin-top: 10px;background-color: #FF00FF;width: 300px;text-align: left;">
导入库IP<input type="text" name="outIP" style="width:100px;"/>
</div>
<div style="margin-top: 10px;background-color: #FF00FF;width: 300px;text-align: left;">
导入库名<input type="text" name="outName" style="width:100px;"/>
</div>
<div style="margin-top: 10px;background-color: #B0C4DE;width: 300px;">
<input type="submit" value="导入"/>
</div>
</form>
</div>
</body>
</html>
<script type="text/javascript">
$(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<json.TABLES.length;i++){
$("#tableNames").append("<option>"+json.TABLES[i].TABLE+"</option>");
}
}
}
}
}
</script>
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<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
HashMap<String,Object> result = new HashMap<String,Object>();
try {
st = conn.createStatement();
rs = st.executeQuery(sql);
while(rs.next()){
HashMap<String,String> map = new HashMap<String,String>();
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);
}
}
}
运用了 Ajax动态交互
1.界面:其中的重点为javaScript 的部分主要实现了 异步交互
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<body style="margin: 0 auto; text-align: center;">
<div style="margin: 0 auto;border: 1px #f4f4f4 solid;width: 800px;height: 500px;background-color:#E8F2FE; ">
<form action="ChangeDBAction" method="post">
<div style="background-color: #DA70D6;width: 300px;text-align: left;">
选择数据库
<select id="outDb" name="outDb" onChange="getNewTableName()">
<option>Oracle10g</option>
<option>SQL2005</option>
</select>
</div>
<div style="margin-top: 10px;background-color: #D8BFD8;width: 300px;text-align: left;">
导出库的IP地址<input type="text" name="ip" style="width: 100px;"/>
</div>
<div style="margin-top: 10px;background-color: #EE82EE;width: 300px;text-align: left;">
请输入用户名<input type="text" name="user" style="width: 100px;"/>
</div>
<div style="margin-top: 10px;background-color: #DDA0DD;width: 300px;text-align: left;">
请输入密码<input type="password" name="pwd" style="width: 100px;"/>
</div>
<div style="margin-top: 10px;background-color:#778899;width: 300px;text-align: left;">
选择表<select id="tableNames" name="table" style="width: 200px;"></select>
</div>
<div style="margin-top: 10px;background-color: #FF00FF;width: 300px;text-align: left;">
导入数据库
<select name="inDb">
<option>Oracle10g</option>
<option>SQL2005</option>
</select>
</div>
<div style="margin-top: 10px;background-color: #FF00FF;width: 300px;text-align: left;">
导入库IP<input type="text" name="outIP" style="width:100px;"/>
</div>
<div style="margin-top: 10px;background-color: #FF00FF;width: 300px;text-align: left;">
导入库名<input type="text" name="outName" style="width:100px;"/>
</div>
<div style="margin-top: 10px;background-color: #B0C4DE;width: 300px;">
<input type="submit" value="导入"/>
</div>
</form>
</div>
</body>
</html>
<script type="text/javascript">
$(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<json.TABLES.length;i++){
$("#tableNames").append("<option>"+json.TABLES[i].TABLE+"</option>");
}
}
}
}
}
</script>
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<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
HashMap<String,Object> result = new HashMap<String,Object>();
try {
st = conn.createStatement();
rs = st.executeQuery(sql);
while(rs.next()){
HashMap<String,String> map = new HashMap<String,String>();
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);
}
}
}
发表评论
-
java读取text乱码
2011-06-16 09:01 1295Java读取TXT文本文件乱码 ... -
java swing 列别介绍
2011-06-15 12:43 753在IBM的论坛上看到一篇比较好的文章晒出来给大家看看 [url ... -
URL 中的#号的作用
2011-04-07 09:30 733本文转载于: http://news.cnblogs.com/ ... -
类的序列话 和反序列话
2011-03-30 11:40 754public static String SerializeT ... -
一种做输入的校验 同是可以验证不让粘贴复制
2011-03-29 17:28 831jQuery(function($){ $(" ... -
div中的字体溢出 保证制动换行 ie 火狐兼容
2011-03-25 12:04 1011在定义div是加如下样式,可能还会有好多的情况 这个就要视情况 ... -
div 的自动扩充 火狐 ie的兼容
2011-03-22 16:35 750好久没有发表文章了 今天在修改页面的时候用到了 div 的自动 ... -
Hibernate中的lazy的使用说明
2010-12-21 22:50 759好久没有看有关hibernate ... -
DWR+JSON实现的万能的N级联动
2010-12-19 19:35 896在我们的项目中用到了一个查询分类的地方要用到N级联动具体是多少 ... -
js 实现的div点击上下 进行滚动翻页的function
2010-12-11 22:58 1221... -
各种浏览器之间的兼容性问题
2010-12-06 13:24 576http://blog.csdn.net/vince6799/ ... -
Struts文件上传
2010-11-29 00:46 822今天在项目中遇到了一个非常恶心的问题,用到了struts2的文 ... -
在tomcat中直接配置加载workSpace中的项目
2010-11-27 12:48 1123在service.xml 文件中添加 一下配置即可,免去了从新 ... -
在项目中发短信的小例子
2010-11-21 15:32 673... -
java中日志的处理
2010-11-13 09:49 723在web.xml文件中配置 log4j <!-- 上下 ... -
java创建解析xml
2010-11-10 07:29 900这几天老是有人问如何用java 生成xml文件,以前自己也看到 ... -
java
2010-11-09 09:26 734public class EncryptUtil { pri ... -
JDBC的数据类型
2010-10-14 15:10 680数值型整型 JDBCtinyint ja ... -
Hibernate 处理Oracle的大对象Clob
2010-10-12 08:20 904Hibernate+Oracle+CLOB的读写其实只要这样做 ... -
Java读取Properties文件
2010-10-11 17:28 660使用J2SEAPI读取Properties文件的六种方法 1 ...
相关推荐
【标题解析】 "ajax异步获取数据库数据绘制...以上就是关于"ajax异步获取数据库数据绘制Echarts图表demo"所涵盖的关键知识点,通过学习和实践,我们可以掌握如何结合Ajax和Echarts创建动态、交互式的数据可视化应用。
通过`json.js`和`json.jar`这样的工具,我们可以方便地在JavaScript和Java环境中进行JSON的序列化和反序列化操作,从而实现数据的传递和解析。在实际开发中,还需要注意安全问题,如避免XSS和CSRF攻击,以及优化网络...
本文将深入探讨如何使用Ajax实现下拉列表(Dropdown List)从数据库读取数据并实现级联效果。级联下拉列表通常用于关联数据的筛选,例如省份-城市-区县的选择,当用户在一级下拉列表中选择一个选项时,二级下拉列表...
AjaxJson 是一种在 Web 应用程序中实现异步数据交换的技术,它结合了 AJAX(Asynchronous JavaScript and XML)和 JSON(JavaScript Object Notation)的优势,使得网页可以在不刷新整个页面的情况下与服务器进行...
本学习实例集主要涵盖了AJAX与数据库交互的各种应用,包括数据的增删改查、异步提交等常见操作,提供了丰富的实践案例。 一、AJAX基础 1. XMLHttpRequest对象:AJAX的核心是XMLHttpRequest(XHR)对象,它允许在...
$.ajax json 数据传递方法是使用 jQuery 库实现的异步数据传递方法,通过将 JSON 数据封装在 $.ajax 对象中,并将其作为参数传递给服务器端脚本,以实现客户端和服务器端之间的数据交互。 在前台代码中,首先定义了...
本篇文章将深入探讨如何利用Ajax实现定时刷新,以便实时获取后台数据。 一、Ajax基础 1. XMLHttpRequest对象:Ajax的核心是XMLHttpRequest(XHR)对象,它是JavaScript的一个内置对象,允许我们向服务器发送异步...
通过理解并熟练掌握AJAX的异步通信机制以及JSON的数据交换格式,开发者能够构建出更加高效、流畅的Web应用。在实际开发中,还需要考虑错误处理、安全性、性能优化等多方面因素,确保系统的稳定性和可靠性。
在前端,我们可以使用JavaScript的`fetch` API或者jQuery的`$.ajax`方法发起异步请求,获取或发送JSON数据。比如,使用jQuery的Ajax: ```javascript $.ajax({ url: '/api/users/1', type: 'GET', dataType: '...
这项功能的实现通常涉及到前端JavaScript技术,如AJAX(Asynchronous JavaScript and XML)和JSON(JavaScript Object Notation),以及后端的Java Servlet和数据库交互。以下将详细介绍如何使用这些技术实现省市二...
这个源码例子展示了如何在ASP.NET框架下利用Ajax技术进行异步数据操作,结合XML和JSON这两种数据交换格式,来提高Web应用的用户体验。接下来,我们将详细探讨这些知识点。 首先,ASP.NET是微软公司推出的一种用于...
总结来说,这个压缩包提供的示例是一个基于SSH后端、jQuery前端和JSON数据交换的Ajax级联操作实现,旨在展示如何优雅地处理Web应用中的动态数据加载。这种技术组合大大提高了用户体验,因为用户无需刷新整个页面就能...
实现SpringMVC、jQuery、Ajax和JSON的异步传递数据,首先需要配置SpringMVC的DispatcherServlet和相关映射。在`web.xml`中,你需要定义一个Servlet来处理所有的HTTP请求。然后,在SpringMVC的配置文件中,设置视图...
【标题】"ZTree+Struts2+ajax+json实现checkbox权限树"涉及的技术栈主要集中在前端的ZTree,后端的Struts2框架,以及数据交互中的Ajax和JSON。这个项目的核心目标是构建一个可复选的权限树形结构,用户通过勾选节点...
总结,Ajax与Servlet结合使用,搭配JSON作为数据交换格式,可以实现高效、灵活的前后端通信。对于初学者来说,理解这些基本概念和实践操作是迈进Web开发的重要一步。在实际项目中,可以结合前端框架如jQuery、Vue.js...
AJAX Servlet实现数据异步交互的方法 本篇文章主要介绍了AJAX Servlet实现数据异步交互的方法,通过使用Servlet作为服务器端程序,使用AJAX技术实现客户端与服务器端的数据异步交互。 标题解释 AJAX Servlet实现...
在jQuery中,`$.ajax()`函数是实现异步数据请求的核心方法。通过这个函数,开发者可以定制请求的各个方面,如URL、请求类型(GET或POST)、数据类型(JSON、HTML、XML等)、发送的数据以及成功或失败时的回调函数。 ...
服务器端的`get_cities_by_province.php`通常会接收到`provinceId`参数,查询数据库获取对应省份的城市,然后以JSON格式返回结果。这个过程可以使用PHP、Python、Node.js或其他后端语言实现。 总结一下,这个例子...
**Ajax 实现异步通信详解** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新,大大提升了用户...