问题是这样的:
在一个用户名框失去输入焦点的时候自动进行用户名(自动连接到数据库)检测?

解决方案 »

  1.   

    js就行 onblur触发一个action
      

  2.   

    ajax 可以实现,如下所示:
    login.jsp
    <%@ page contentType="text/html;charset=GB2312" language="java" %>
    <head>
    <META http-equiv=Content-Type content="text/html; charset=GB2312">
    <style>
    span{
    color:red;
    font-size:12px;
    text-indent:2em;
    }
    </style>
    </head>
    <script language="javascript">
    var XMLHttpReq = false;
      //创建XMLHttpRequest对象       
        function createXMLHttpRequest() {
    if(window.XMLHttpRequest) { //Mozilla 浏览器
    XMLHttpReq = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) { // IE浏览器
    try {
    XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
    XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {}
    }
    }
    }
    //发送请求函数
    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;
                    document.getElementById("cn").innerHTML=res;                
                }
            }
        }
    // 身份验证函数
        function checkUsername() {
    var username=document.getElementById("username").value;
    var url="CheckUsername?username="+ username;
    sendRequest(url);
    }</script><body vLink="#006666" link="#003366" bgColor="#E0F0F8">
    <form action="" method="post" name="form">
    用户名: <input size="15" type="text" name="username"onblur="checkUsername()" onkeypress="checkUsername()" onkeyup="checkUsername()" onkeydown="checkUsername()" />
    <span id="cn"></span><p>
    密&nbsp;&nbsp;码: <input type="password" size="15" name="psw"><p>
    <input type="button" value="登录" onclick="checkUsername()" >
    </form>CheckUsername.javapackage com.sum;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public class CheckUsername extends HttpServlet {
        
    public void init(ServletConfig config) throws ServletException {
        }
        
        /*
         *  处理<GET> 请求方法.
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
         //设置接收信息的字符集
         request.setCharacterEncoding("UTF-8");
         //接收浏览器端提交的信息
    String username = request.getParameter("username");
    //设置输出信息的格式及字符集        
            response.setContentType("text/xml; charset=UTF-8");
            response.setHeader("Cache-Control", "no-cache");
            //创建输出流对象
            PrintWriter out = response.getWriter();
            //依据验证结果输出不同的数据信息
            out.println("<response>");
    if(username.equals("jenny")){
    out.println("<res>" + "热烈的欢迎您!" + "</res>");
    }else{
    out.println("<res>" + "对不起,登录失败!" + "</res>");
    }
    out.println("</response>");
    out.close();
        }
        /*
         *  处理<POST> 请求方法.
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
           doGet(request, response);
        }
    }