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

 页面代码如下:

 

<%@ 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" οnblur="doRequest('AjaxServlet?check=userid&userid='+this.value);"/>
  </td></tr>
  <br/>
  <tr><td>
  密码:
  <input type="password" id="pw" name="pw" οnblur="doRequest('AjaxServlet?check=pw&pw='+this.value);" />
  <input type="button" value="提交" οnclick="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 {
 }

}

 


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值