您的位置:首页 > 其它

Ajax校验text框内的内容(登录验证)

2008-10-18 16:20 239 查看
页面代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script language="javascript">

var xmlHttp;

function CreateXmlHttp(){
if(xmlHttp==null){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
}

function doRequest(url){
if(xmlHttp==null){
CreateXmlHttp();
}

if(xmlHttp){
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange = callback;
xmlHttp.send(null);
}

}

function callback(){
if(xmlHttp.readystate==4){
if(xmlHttp.status==200){
var allvalue = xmlHttp.responseText;
var value = allvalue.substring(0,1);
if(value=="0"){
document.getElementById("msg").style.display = "";
document.getElementById("msg").innerHTML = "您输入的用户名不存在!";
}else if(value=="1"){
document.getElementById("msg").style.display = "none";
}else if(value=="2"){
document.getElementById("msg").style.display = "";
document.getElementById("msg").innerHTML = "您输入的密码不正确!";
}else{
document.getElementById("msg").style.display = "none";
}
}
}
}

function checkInfo(){
var userid = document.getElementById("userid");
var pw = document.getElementById("pw");
var sign = 0;
if(userid.value==null||userid.value==""){
alert("请输入你的用户名!");
sign = 1;
}
if(pw.value==null||pw.value==""){
alert("请输入你的密码!");
sign = 1;
}
if(sign==1){
return ;
}else{
document.all.form1.submit();
}
}
</script>
</head>

<body>
<div id="msg" style="display:none;"></div>
<form id="form1" action="login.do?method=login" method="post">
<table>
<tr><td>
用户名:
<input type="text" id="userid" name="userid" onblur="doRequest('AjaxServlet?check=userid&userid='+this.value);"/>
</td></tr>
<br/>
<tr><td>
密码:
<input type="password" id="pw" name="pw" onblur="doRequest('AjaxServlet?check=pw&pw='+this.value);" />
<input type="button" value="提交" onclick="checkInfo();" />
</td></tr>
</table>
</form>
</body>
</html>

后台AjaxServelt代码:

package client.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;

import commonBean.DBConnectionOracleImpl;

public class AjaxServlet extends HttpServlet {

public AjaxServlet() {
super();
}

public void destroy() {
super.destroy();
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

doProcess(request,response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

doProcess(request,response);
}

public void doProcess(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

String user_id = request.getParameter("userid");
String password = request.getParameter("pw");
String check = request.getParameter("check");
System.out.println("userid+password+check=="+user_id+password+check);
PreparedStatement ps = null;
ResultSet rs = null;
Connection conn = null;
PrintWriter out = response.getWriter();
if("userid".equalsIgnoreCase(check)){
conn = DBConnectionOracleImpl.getInstance().getConnection();
String sql = "SELECT USERID FROM SYSTEM.USERINFO WHERE USERID='"+user_id+"'";
System.out.println("sql=="+sql);
try {
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
if(rs.next()){
out.println("1");
System.out.println("1");
}else{
out.println("0");
System.out.println("0");
}
} catch (SQLException e) {
e.printStackTrace();
}
}else{
conn = DBConnectionOracleImpl.getInstance().getConnection();
String sql = "SELECT PASSWORD FROM SYSTEM.USERINFO WHERE PASSWORD='"+password+"'";
System.out.println("sql=="+sql);
try {
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
if(rs.next()){
out.println("3");
System.out.println("3");
}else{
out.println("2");
System.out.println("2");
}
} catch (SQLException e) {
e.printStackTrace();
}

}

DBConnectionOracleImpl.dbClose(conn);
try{
if(ps!=null) ps.close();
if(rs!=null) rs.close();
}catch(SQLException e){
System.out.println("ps或rs关闭失败!");
e.printStackTrace();
}

}

public void init() throws ServletException {
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: