AJAX 自學(xué)練習(xí) 無刷新提交并修改數(shù)據(jù)庫(kù)數(shù)據(jù)并顯示
更新時(shí)間:2009年09月23日 17:21:36 作者:
對(duì)應(yīng)在數(shù)據(jù)庫(kù)中表格 rocars表的msg_id,ccrn兩個(gè)字段?,F(xiàn)在要實(shí)現(xiàn)在界面上修改ccrn的值,ajax提交到response.jsp頁面,并調(diào)用RocarsEntiy.updateCcrn方法更新對(duì)應(yīng)的ccrn,最后無刷新顯示
request.jsp頁面中有rocarsId,和ccrn兩個(gè)text。
對(duì)應(yīng)在數(shù)據(jù)庫(kù)中表格 rocars表的msg_id,ccrn兩個(gè)字段。現(xiàn)在要實(shí)現(xiàn)在界面上修改ccrn的值,ajax提交到response.jsp頁面,并調(diào)用RocarsEntiy.updateCcrn方法更新對(duì)應(yīng)的ccrn,最后無刷新顯示
代碼:
request.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script language="javascript"><!--
function GetXmlHttpObject(){
var xmlHttp = null;
try{
xmlHttp = new XMLHttpRequest();
}catch(e){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
function updateCcrn(rocarsId,ccrn){
alert(rocarsId)
alert(ccrn)
xmlHttp = GetXmlHttpObject();
if(xmlHttp == null){
alert ("you browser don't support the ajax");
return;
}
var url = "./response.jsp";
url = url + "?rocarsId="+ rocarsId;
url = url + "&ccrn="+ ccrn;
url = url + "&sid ="+ Math.random();
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function getCcrn(str){
xmlHttp = GetXmlHttpObject();
if(xmlHttp == null){
alert ("you browser don't support the ajax");
return;
}
var url = "./response.jsp";
url = url + "?q="+ str;
url = url + "&sid ="+ Math.random();
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function stateChanged()
{
if(xmlHttp.readyState==4)
{
document.getElementById("rocarsccrn").value = xmlHttp.responseText;
}
}
// --></script>
</head>
<body>
<form name="form1" action="" method="post">
<label>rocarsId:</label><input type="text" name="rocarsId" value="140" />
<label>ccrn:</label><input type="text" id="rocarsccrn" name="rocarsccrn" onchange="updateCcrn(document.form1.rocarsId.value,this.value)"/>
</form>
</body>
</html>
response.jsp
<%@ page language="java" contentType="text/plain; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.lwf.eus.util.*,java.util.*,com.lwf.eus.entity.*,com.lwf.eus.bean.*" %>
<%
String rocarsId = request.getParameter("rocarsId");
String ccrn = request.getParameter("ccrn");
System.out.println("rocarsId:" + rocarsId);
System.out.println("ccrn:" + ccrn);
RocarsEntity.updateCcrnById(rocarsId,ccrn);
out.print(ccrn);
%>
RocarsEntity.java
package com.lwf.eus.entity;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import com.lwf.eus.bean.RocarsBean;
import com.lwf.eus.util.ConnectionManager;
public class RocarsEntity {
public static Vector getRocarsList() {
Vector vRocars = new Vector();
//Connection conn = ConnectionManager.getConnection();
Connection conn = ConnectionManager.getConnectionFromDS();
Statement st = ConnectionManager.createStatement(conn);
String sql = "select msg_id,ccrn from rocars";
ResultSet rs = null;
try {
rs = st.executeQuery(sql);
while (rs.next()) {
RocarsBean rocars = new RocarsBean();
rocars.setRocarsId(rs.getString(1));
rocars.setCcrn(rs.getString(2));
vRocars.addElement(rocars);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (st != null) {
st.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
return vRocars;
}
}
public static RocarsBean getRocarsListById(String rocarsId){
Connection conn = ConnectionManager.getConnectionFromDS();
Statement st = ConnectionManager.createStatement(conn);
String sql = "select * from rocars where msg_id=" + rocarsId;
ResultSet rs = null;
RocarsBean rocars= null;
try {
rs = st.executeQuery(sql);
rocars = new RocarsBean();
while (rs.next()) {
rocars.setRocarsId(rs.getString("msg_id"));
rocars.setCcrn(rs.getString("ccrn"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (st != null) {
st.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
return rocars;
}
}
public static void updateCcrnById(String rocarsId, String ccrn)
{
Connection conn = null;
Statement stmt = null;
try {
conn = ConnectionManager.getConnectionFromDS();
stmt = ConnectionManager.createStatement(conn);
String sqlStr = "update rocars set ccrn= '"+ ccrn + "'" + "where msg_id=" + rocarsId ;
stmt.executeUpdate(sqlStr);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
try {
if (stmt != null) {
stmt.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
ConnectionManager.java
這里可以直接使用JDBC也可以調(diào)用weblogic的數(shù)據(jù)源JNDI。
package com.lwf.eus.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class ConnectionManager {
public static Connection getConnection(){
Connection conn = null;
String url = "jdbc:postgresql://192.168.0.180/getseus";
String userName = "getsdbadmin";
String pwd = "powerdb";
try {
Class.forName("org.postgresql.Driver").newInstance();
conn = DriverManager.getConnection(url,userName,pwd);
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
return conn;
}
public static Connection getConnectionFromDS(){
Connection conn = null;
Context ctx = null;
try {
ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("JNDIPG");
conn = ds.getConnection();
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public static Statement createStatement(Connection conn){
Statement st = null;
try {
st = conn.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
return st;
}
}
對(duì)應(yīng)在數(shù)據(jù)庫(kù)中表格 rocars表的msg_id,ccrn兩個(gè)字段。現(xiàn)在要實(shí)現(xiàn)在界面上修改ccrn的值,ajax提交到response.jsp頁面,并調(diào)用RocarsEntiy.updateCcrn方法更新對(duì)應(yīng)的ccrn,最后無刷新顯示
代碼:
request.jsp
復(fù)制代碼 代碼如下:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script language="javascript"><!--
function GetXmlHttpObject(){
var xmlHttp = null;
try{
xmlHttp = new XMLHttpRequest();
}catch(e){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
function updateCcrn(rocarsId,ccrn){
alert(rocarsId)
alert(ccrn)
xmlHttp = GetXmlHttpObject();
if(xmlHttp == null){
alert ("you browser don't support the ajax");
return;
}
var url = "./response.jsp";
url = url + "?rocarsId="+ rocarsId;
url = url + "&ccrn="+ ccrn;
url = url + "&sid ="+ Math.random();
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function getCcrn(str){
xmlHttp = GetXmlHttpObject();
if(xmlHttp == null){
alert ("you browser don't support the ajax");
return;
}
var url = "./response.jsp";
url = url + "?q="+ str;
url = url + "&sid ="+ Math.random();
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function stateChanged()
{
if(xmlHttp.readyState==4)
{
document.getElementById("rocarsccrn").value = xmlHttp.responseText;
}
}
// --></script>
</head>
<body>
<form name="form1" action="" method="post">
<label>rocarsId:</label><input type="text" name="rocarsId" value="140" />
<label>ccrn:</label><input type="text" id="rocarsccrn" name="rocarsccrn" onchange="updateCcrn(document.form1.rocarsId.value,this.value)"/>
</form>
</body>
</html>
response.jsp
復(fù)制代碼 代碼如下:
<%@ page language="java" contentType="text/plain; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.lwf.eus.util.*,java.util.*,com.lwf.eus.entity.*,com.lwf.eus.bean.*" %>
<%
String rocarsId = request.getParameter("rocarsId");
String ccrn = request.getParameter("ccrn");
System.out.println("rocarsId:" + rocarsId);
System.out.println("ccrn:" + ccrn);
RocarsEntity.updateCcrnById(rocarsId,ccrn);
out.print(ccrn);
%>
RocarsEntity.java
復(fù)制代碼 代碼如下:
package com.lwf.eus.entity;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import com.lwf.eus.bean.RocarsBean;
import com.lwf.eus.util.ConnectionManager;
public class RocarsEntity {
public static Vector getRocarsList() {
Vector vRocars = new Vector();
//Connection conn = ConnectionManager.getConnection();
Connection conn = ConnectionManager.getConnectionFromDS();
Statement st = ConnectionManager.createStatement(conn);
String sql = "select msg_id,ccrn from rocars";
ResultSet rs = null;
try {
rs = st.executeQuery(sql);
while (rs.next()) {
RocarsBean rocars = new RocarsBean();
rocars.setRocarsId(rs.getString(1));
rocars.setCcrn(rs.getString(2));
vRocars.addElement(rocars);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (st != null) {
st.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
return vRocars;
}
}
public static RocarsBean getRocarsListById(String rocarsId){
Connection conn = ConnectionManager.getConnectionFromDS();
Statement st = ConnectionManager.createStatement(conn);
String sql = "select * from rocars where msg_id=" + rocarsId;
ResultSet rs = null;
RocarsBean rocars= null;
try {
rs = st.executeQuery(sql);
rocars = new RocarsBean();
while (rs.next()) {
rocars.setRocarsId(rs.getString("msg_id"));
rocars.setCcrn(rs.getString("ccrn"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (st != null) {
st.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
return rocars;
}
}
public static void updateCcrnById(String rocarsId, String ccrn)
{
Connection conn = null;
Statement stmt = null;
try {
conn = ConnectionManager.getConnectionFromDS();
stmt = ConnectionManager.createStatement(conn);
String sqlStr = "update rocars set ccrn= '"+ ccrn + "'" + "where msg_id=" + rocarsId ;
stmt.executeUpdate(sqlStr);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
try {
if (stmt != null) {
stmt.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
ConnectionManager.java
這里可以直接使用JDBC也可以調(diào)用weblogic的數(shù)據(jù)源JNDI。
復(fù)制代碼 代碼如下:
package com.lwf.eus.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class ConnectionManager {
public static Connection getConnection(){
Connection conn = null;
String url = "jdbc:postgresql://192.168.0.180/getseus";
String userName = "getsdbadmin";
String pwd = "powerdb";
try {
Class.forName("org.postgresql.Driver").newInstance();
conn = DriverManager.getConnection(url,userName,pwd);
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
return conn;
}
public static Connection getConnectionFromDS(){
Connection conn = null;
Context ctx = null;
try {
ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("JNDIPG");
conn = ds.getConnection();
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public static Statement createStatement(Connection conn){
Statement st = null;
try {
st = conn.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
return st;
}
}
您可能感興趣的文章:
- 用Jquery實(shí)現(xiàn)可編輯表格并用AJAX提交到服務(wù)器修改數(shù)據(jù)
- Ajax修改數(shù)據(jù)即時(shí)顯示篇實(shí)現(xiàn)代碼
- jquery ajax修改全局變量示例代碼
- Ajax修改購(gòu)物車示例
- jquery formValidator插件ajax驗(yàn)證 內(nèi)容不做任何修改再離開提示錯(cuò)誤的bug解決方法
- jQuery+ajax實(shí)現(xiàn)鼠標(biāo)單擊修改內(nèi)容的方法
- php通過ajax實(shí)現(xiàn)雙擊table修改內(nèi)容
- jquery ajax雙擊div可直接修改div中的內(nèi)容
- jQuery+ajax實(shí)現(xiàn)鼠標(biāo)單擊修改內(nèi)容的思路
- ajax實(shí)現(xiàn)修改功能
相關(guān)文章
jsp 使用jstl實(shí)現(xiàn)翻頁實(shí)例代碼
這篇文章主要介紹了jsp 使用jstl實(shí)現(xiàn)翻頁實(shí)例代碼,有需要的朋友可以參考一下2013-12-12JSP實(shí)現(xiàn)瀏覽器關(guān)閉cookies情況下的會(huì)話管理
JSP實(shí)現(xiàn)瀏覽器關(guān)閉cookies情況下的會(huì)話管理...2006-10-10JavaScript實(shí)現(xiàn)圖片倒影效果 - reflex.js
本篇文章主要介紹了JavaScript實(shí)現(xiàn)圖片倒影效果,在實(shí)際中很實(shí)用,有需要的可以了解一下。2016-10-10jsp獲取action傳來的session和session清空以及判斷
這篇文章主要介紹了jsp獲取action傳來的session和session清空以及判斷,需要的朋友可以參考下2014-03-03JSP 2.1和JSF 1.2規(guī)范發(fā)布預(yù)覽版本
JSP 2.1和JSF 1.2規(guī)范發(fā)布預(yù)覽版本...2006-10-10