Jsp页面
<script type="text/javascript">
var XMLHttp
function createXMLHttpRequest() {
if (window.XMLHttpRequest) {
//针对FireFox,Mozillar,Opera,Safari,IE7,IE8
XMLHttp = new XMLHttpRequest();
//针对某些特定版本的mozillar浏览器的BUG进行修正
if (XMLHttp.overrideMimeType) {
XMLHttp.overrideMimeType("text/xml");
}
} else if (window.ActiveXObject) {
//针对IE6,IE5.5IE5
XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function show() {
var name = document.getElementById("name");
var pwd = document.getElementById("pwd");
if (name == "") {
alert("请输入用户名");
return false;
} else if (pwd == "") {
alert("请输入密码");
return false;
} else {
doAjax();
}
}
function doAjax() {
createXMLHttpRequest();
var name = document.getElementById("name").value;
var pwd = document.getElementById("pwd").value;
if (XMLHttp != null) {
//注册回调函数不要括号(会把函数的返回值注册上的这是错误的)
XMLHttp.onreadystatechange = callback;
//设置连接信息
//http请求方式,请求url地址 异步还是同步true表示异步
// XMLHttp.open("GET", "servlet/Ajaxservlet?name=" + name + "&pwd="
// + pwd, true);
XMLHttp.open("POST","servlet/Ajaxservlet",true);
//XMLHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
//XMLHttp.send("name=" + name + "&pwd="
// + pwd);
//发送数据开始和服务器进行数据交互
//XMLHttp.send(null);
//同步方式下send这句话会在服务端数据回来后才执行完
//异步方式下send 这句话会立即执行完
} else {
alert("不能创建对象实例");
}
}
function callback() {
//判断对象的交互是否完成
if (XMLHttp.readyState==4) {
//判断http交互
if (XMLHttp.status==200) {
var sobj = document.getElementById("login");
var str = XMLHttp.responseText;
if (str !== 0) {
var c = document.getElementById("error").innerHTML = "用户名或密码错误";
alert(c);
} else {
}
}
}
}
</script>
servllet页面
response.setContentType("text/xml");
PrintWriter out = response.getWriter();
IUsersBiz biz = new UsersBizImpl();
Users user = new Users();
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
user.setName(name);
user.setPwd(pwd);
try {
Users u = biz.select(user);
if(u==null){
out.print("dfd");
}
} catch (Throwable e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(out!=null){
out.flush();
out.close();
}
}