jspajax資料庫
① jsp頁面中利用AJAX查詢資料庫
ajax的原生態方法即可,
<script type="text/javascript">
var xmlHttpRequest;
//判斷不同瀏覽器,採用不同方式創建XMLHttpRequest對象
function createXmlHttpRequest(){
if(window.ActiveXObject){
return new ActiveXObject("Microsoft.XMLHTTP");//windows瀏覽器
}else if(window.XMLHttpRequest){
return new XMLHttpRequest();//其他瀏覽器
}
}
// 發送請求到伺服器,判斷用戶名是否存在
// 請求字元串
var url = "user.do?method=doCheckUserExists&userName="+uname;
//1. 創建XMLHttpRequest組件
xmlHttpRequest = createXmlHttpRequest();
// 2. 設置回調函數
xmlHttpRequest.onreadystatechange = haoLeJiaoWo;
// 3. 初始化XMLHttpRequest組件
xmlHttpRequest.open("GET",url,true);
// 4. 發送請求
xmlHttpRequest.send(null);
}
function haoLeJiaoWo(){
if(xmlHttpRequest.readyState == 4){
if(xmlHttpRequest.status == 200){
var b = xmlHttpRequest.responseText;
alert("伺服器端返回信息:" + b);
//b 是個字元串,後台傳過來的,
//.... 你想要的操作在這里寫 動態刷新jsp頁面
}
}
}
</script>
② 怎麼在jsp頁面的ajax裡面查詢資料庫中的某個欄位
你後台不是要查詢資料庫嗎?ajax就是前後台做數據交互的,你後台查詢出這個欄位,用ajax交互,把你查詢出的值返回到前台,要麼返回null或"",要麼返回有值的; 然後在ajax的success函數裡面寫你的邏輯就ok了;ajax知道怎麼用嗎? $.ajax({type :...
③ jsp中輸入框用ajax驗證,已經添加到資料庫中,再次使用ajax驗證會查重,求大神解決
這個ajax是一個非同步載入的過程,你的驗證碼和密碼是一樣的,當你的滑鼠onblur的時候,給他一個事件,就是去後台比較你的這個驗證碼是否正確,正確的話顯示一張「溝」的圖片提示他正確,如果錯誤的話,讓他獲得焦點重新輸入,同事給他一個圖片「叉」,這樣就實現了驗證碼的功能。
ajax的返回值的用途很多,這個可以提交的時候去驗證,也可以在某個事件之後直接讓他去驗證,還可以寫個方法,刷新驗證碼,這個也是一樣的,刷新後,後台有一個地方存儲了這個驗證碼,然後你輸入的時候去後台比較,同上。
④ jsp中,用ajax獲取數據
jsp中用ajax獲取數據的例子如下:
jsp代碼:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<HEAD>
<TITLE>留學生系統</TITLE>
<META http-equiv=Content-Type content="text/html; charset=GBK">
<SCRIPT language=JavaScript type=text/JavaScript>
var XMLHttpReq = false;
//ajax介面
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
XMLHttpReq = new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
XMLHttpReq = new ActiveXObject("MSXML2.XMLHTTP");
}catch(e){
try{
XMLHttpReq = new ActiveXObject("Mircsoft.XMLHTTP");
}catch(e1){}
}
}
}
function sendRequest(url){
createXMLHttpRequest();
XMLHttpReq.open("GET",url,true);
XMLHttpReq.onreadystatechange = processResponse;
XMLHttpReq.send(null);
}
function processResponse(){
if(XMLHttpReq.readyState == 4){
if(XMLHttpReq.status == 200){
var res = XMLHttpReq.responseXML.getElementsByTagName("res")[0].firstChild.data;
window.alert(res);
document.myform.userid.value="";
document.myform.pwd.value="";
}else{
window.alert("你請求的頁面有異常1");
}
}
}
function userCheck(){
var userid = document.myform.userid.value;
var pwd = document.myform.pwd.value;
if(userid == ""){
window.alert("用戶名不能為空");
document.myform.pwd.value="";
document.myform.userid.focus();
return false;
}else{
sendRequest("login?userid="+userid);
}
}
function pwdCheck(){
var pwd = document.myform.pwd.value;
var pwd2 = document.myform.pwd2.value;
if(pwd!=pwd2){
window.alert("密碼不一致");
document.myform.pwd.value="";
document.myform.pwd2.value="";
document.myform.pwd.focus();
return false;
}
}
</SCRIPT>
<LINK href="css/css.css" type=text/css rel=stylesheet>
</HEAD>
<body>
<table width="778" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" >
<tr>
<td width="17%"><img src="images/logo.jpg" width="124" height="101"></td>
<td width="558" height="101" background="images/banner.jpg"><div align="center">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="558" height="101">
<param name="movie" value="images/2.swf">
<param name="quality" value="high">
<embed src="images/2.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="558" height="101"></embed>
<param name="wmode" value="transparent">
</object>
</div></td>
<td width="11%"><table width="100%" border="0" cellpadding="0" cellspacing="0" >
<tr>
<td height="30" class="style1"><div align="center">設為首頁</div></td>
</tr>
<tr>
<td height="30" class="style1"><div align="center">收藏本站</div></td>
</tr>
<tr>
<td height="30" class="style1"><div align="center">聯系我們</div></td>
</tr>
</table></td>
</tr>
</table>
<form method="post" action="control.jsp?action=register" name="myform">
<table width="300" border="0" align="center" bgcolor="#F0F0F0">
<tr>
<td align="center">用戶名</td>
<td><input name="userid" type="text" size="20" onblur="userCheck()"></td>
</tr>
<tr>
<td align="center">真實姓名</td>
<td><input name="username" type="text" size="20"/></td>
</tr>
<tr>
<td align="center">性別</td>
<td>
<input type="radio" name="sex" value="0" checked="checked">男
<input type="radio" name="sex" value="1">女
</td>
</tr>
<tr>
<td align="center">密碼</td>
<td><input name="pwd" type="password" size="20"/></td>
</tr>
<tr>
<td align="center">密碼確認</td>
<td><input name="pwd2" type="password" size="20" onblur="pwdCheck()"/></td>
</tr>
<tr>
<td align="center">電子郵箱</td>
<td><input name="email" type="text" size="20"/></td>
</tr>
<tr>
<td align="center">學校</td>
<td><input name="school" type="text" size="20"/></td>
</tr>
<tr>
<td align="center">電話號碼</td>
<td><input name="phonenum" type="text" size="20"/></td>
</tr>
<tr>
<td align="center"><img border=0 src="image.jsp"></td>
<td><input type=text name=in maxlength=4 size="8"></td>
</tr>
<tr>
<td align="center"><input type="submit" value="確定" /></td>
</tr>
</table>
</form>
</body>
</html>
⑤ 前台JSP頁面使用Jquery的Ajax技術,如何令JSP的輸入框獲取資料庫的內容,servlet又該怎麼寫!
ajax是非同步更新,不需要刷新頁面的。 用jquery裡面的ajax。
JQUERY:
$.ajax({
type:'post',//可選get
url:'xx.do',
data:'data='dsa'',//傳給java的數據,多個參數用&連接
dataType:'text',//伺服器返回的數據類型 可選XML ,Json jsonp script html text等
success:function(msg){
//這里是ajax提交成功後,PHP程序返回的數據處理函數。msg是返回的數據,數據類型在dataType參數里定義!
},
error:function(){
ajax提交失敗的處理函數!
}
})
servert
是request.getp...
獲取的。
⑥ 用ajax讀取資料庫里的數據,怎麼可以傳到jsp頁面呢!!
首先要將取得的數據封裝成json字元串,這個你自己寫。
大概是這樣的:
比方說User對象有name和password,
可以封裝成
String jsonStr = "{"userList":[{\"name\":\"tom\",\"password\":\"123\"},{\"name\":\"jurry\",\"password\":\"123\"}]}";
action中調用response的getWriter().println(jsonStr);
將json字元串寫會到ajax。
ajax裡面的dataType設置為「json"
然後在」success":function(data){
data.userList[0].name;
data.userList[1].password
}
就可以調用返回的json對象了
⑦ jsp寫網頁,ajax訪問資料庫中的數據,返回JSP網頁中改寫什麼函數
ajax大致原理就是,發出一個請求,被正常相應後,對回傳回來的一組數據,進行處理後顯示在頁面上。
至於你的追問:怎麼才能把編號、溫度、濕度這些數據返回到另一界面?
假設你現在有A.jsp 、B.jsp 兩個頁面,其中A.jsp有個按鈕,當按鈕click時,觸發ajax調用(也就是非同步調用),去訪問了B.jsp,而這個B.jsp就是你訪問資料庫後生成的xml內容,那麼當請求得到了響應後,會把這部分的xml傳回來,你就可以在回調函數中進行處理了。
網路上的ajax資料很多···還是多找些資料吧······自己理解,才更容易記憶。
建議看看流行的jquery,它對ajax的封裝比較簡單和容易上手。
⑧ JSP+ajax從資料庫取值怎麼賦給文本框
function infordwlb(){
createXMLHttpRequest(); //調用創建XMLHttpRequest對象的方法
xmlHttp.onreadystatechange=callback; //設置回調函數
xmlHttp.open("post","select.jsp"); //向伺服器端發送請求
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
//設置發送參數
xmlHttp.send("province="+document.addform.inforclass.value);
document.form名.infordw.value=xmlHttp.responseText
}
⑨ jsp前台在利用Ajax向後台發起請求,如何判斷後台資料庫里的數據是否發生過更新
加cookie處理,思路很簡單。方式有很多,我先隨便寫一種,覺得不合適給我留言。
首先對DB裡面數據的數據加一個自增的列。記住自增的列。
cookie裡面緩存已經讀取的數據num值,每次ajax請求的時候自加一下,在放到cookie裡面,類似分頁原理
如果當前num大於等於資料庫這個序列的最大值,可以判斷資料庫沒有更新的數據
基本就這樣,很簡單,有問題,隨時M。
⑩ 關於JSP和AJAX的問題
這個蠻簡單啊,在js中觸發彈出一個模式窗口, 接下來就寫ajax的提交 路徑就跟表單一樣的直接提交給給struts的action 然後在action寫個調用資料庫的類給記錄進去ajax 部分如下<script type="text/javascript" >
function xxx(){彈出模式窗口什麼的......
createXMLHttpRequest();
var url='這里寫action的路徑(如果復雜最好是絕對路徑)';
var parameter = "這里可以掛你要的參數";
sendRequest(url,parameter,callBack);
}
function callBack(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
var rootElement = xmlHttp.responseXML.documentElement;
if(rootElement.hasChildNodes()){
這里寫返回的xml處理你不用到,如果有返回就寫返回的內容顯示比如在頁面彈個什麼的;
}
}
}
}
</script>