jsp页面中利用AJAX查询数据库

jsp页面中利用AJAX查询数据库,第1张

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获取数据的例子如下:

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/htmlcharset=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>

ajax大致原理就是,发出一个请求,被正常相应后,对回传回来的一组数据,进行处理后显示在页面上。

至于你的追问:怎么才能把编号、温度、湿度这些数据返回到另一界面?

假设你现在有A.jsp 、B.jsp 两个页面,其中A.jsp有个按钮,当按钮click时,触发ajax调用(也就是异步调用),去访问了B.jsp,而这个B.jsp就是你访问数据库后生成的xml内容,那么当请求得到了响应后,会把这部分的xml传回来,你就可以在回调函数中进行处理了。

网络上的ajax资料很多···还是多找些资料吧······自己理解,才更容易记忆。

建议看看流行的jquery,它对ajax的封装比较简单和容易上手。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9944963.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存