ajax.jsp 2010-05-10
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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 type="text/javascript">
function upperCase(nameValue){
var url = "${pageContext.request.contextPath}/servlet/QueryServlet?username="+nameValue;
// 调用sendRequest方法发送Ajax异步请求
sendRequest(url);
}
var xmlHttp = null;
// 创建XMLHttpRequest对象
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(ex){}
}
}
}
// 发送请求
function sendRequest(url){
if(xmlHttp==null){
createXMLHttpRequest();
}
xmlHttp.open("GET",url,true);
// 对于XMLHttpRequest对象,readystate属性存储了回调函数的指针。当
// XMLHttpRequest对象的内部状态发生变化时,就会调用这个函数。
xmlHttp.onreadystatechange=callback;
xmlHttp.send(null);
}
// 回调函数
function callback(){
// 当请求完成且服务器返回状态为OK时
if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
var cityString = xmlHttp.responseText;
if(cityString){
alert("用户已经存在,请从新输入!");
}
// addCity(cityString);
}
}
</script>
</head>
<body>
<form action="servlet/Login1Servket" method="post">
用户名:<input type="text" name="username" οnblur="upperCase(this.value)"><br>
密 码:<input type="password" name="password"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
QueryServlet.java
package com.zuxia.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.zuxia.dao.LoginDao;
import com.zuxia.entity.LoginEntity;
public class QueryServlet extends HttpServlet {
/**
* Constructor of the object.
*/
public QueryServlet() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
String name=request.getParameter("username");
LoginDao loginDao=new LoginDao();
List<LoginEntity> loginList=loginDao.loginList(name);
for (LoginEntity loginEntity : loginList) {
String a=loginEntity.getPassword();
PrintWriter out=response.getWriter();
if(a!=null){
out.println(1);
}else{
out.print(0);
}
out.flush();
out.close();
}
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
其他代码省略