黑马day17 ajax&实现用户名自动刷新

1. regist.jsp文件

<%@ page language="java"  pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>校验用户名是否存在</title>
        <script type="text/javascript" src="./regist.js"> </script>
    </head>
    <body>
    <center>
    <form action=""  enctype="application/x-www-form-urlencoded" method="post">
        <h3>请填写用户注册信息</h3>
        <table  border="1">
            <tr>
                <td>用户名:</td>
                <td><input type="text" name="username" value="" id="username">
                  <div id="divcheck"></div>
                  <input type="button" name="checkusername" value="查看用户名" id="checkusername"></td>
            </tr>
            <tr>
                <td>密码:</td>
                <td><input type="password" name="psw" value=""></td>
            </tr>
            <tr>
                <td>确认密码:</td>
                <td><input type="password" name="confpsw" value=""></td>
            </tr>
            <tr>
                <td>出生日期:</td>
                <td><input type="text" name="birthday" value=""></td>
            </tr>
        </table>
         </form>
         </center>
    </body>

</html>

运行界面:

2.regist文件

window.onload=function(){
    document.getElementById("checkusername").onclick=function(){
        var username=document.getElementById("username").value;//获取text文本框中输入的值
        //1.获取xhr对象
        var xhr=ajaxFunction();
        //2.监听
        xhr.onreadystatechange=function(){
            if(xhr.readyState==4){
                if(xhr.status==200){
                    var data=xhr.responseText;
                    document.getElementById("divcheck").innerHTML=data;
                }
            }
        }
        //3.建立连接
        xhr.open("post","../servlet/ValidateUsernameServlet");
        //4.发送数据
        //如果请求类型是POST方式的话,需要设置请求首部信息
        xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        xhr.send("username="+username);//把文本框中输入的用户名当做参数发送给服务器
    }
}
function ajaxFunction(){
   var xmlHttp;
   try{ // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e){
       try{// Internet Explorer
             xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
          }
        catch (e){
          try{
             xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
          }
          catch (e){}
          }
    }

    return xmlHttp;
 }

3.ValidateUsernameServlet

package app.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ValidateUsernameServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        request.setCharacterEncoding("utf-8");
        String username = request.getParameter("username");
        //模拟数据库
        if(username==null||"".equals(username)){
            response.getWriter().write("用户名不能为空!");
        }else if("sa".equals(username)){
            response.getWriter().write("用户名已经存在");
        }else{
            response.getWriter().write("用户名可以使用");
        }
    }

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

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-09 01:38:16

黑马day17 ajax&实现用户名自动刷新的相关文章

Ajax+php实现自动刷新页面

前端代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script type="text/javascript"> var xmlHttp; var count = 1; function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp =

黑马day17 ajax入门案例

如何实现Ajax异步交互: *实现Ajax的步骤: (1).创建XMLHttpRequest对象 固定写法,不用记...如果面试问到,所以最好是背诵下来 (2).注册监听 利用XMLHttpRequest对象的onreadystatechange属性:用来监听属性的状态 利用XMLHttpRequest对象的readyState属性:获取服务器端的状态 利用XMLHttpRequest对象的status属性:获取状态码(200,404等) (3).建立连接 利用XMLHttpRequest对象的

黑马day17 ajax&amp;实现二级联动

手工方式实现二级联动的效果: jsp页面: <%@ page language="java" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>级联菜单</title> <script type="

ajax+jsp自动刷新

通过 AJAX,JavaScript 可使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信.通过这个对象, JavaScript 可在不重载页面的情况与 Web 服务器交换数据. AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面. 实验中利用JSP+ajax来实现自动刷新页面,并读/写数据库中的数据. 下面介绍一下利用JSP+ajax来实现局部页面刷新的小例子: 处理ajax请求

学习aiax(javascript)--页面无刷新用ajax检查用户名是否已注册(POST方式)

1.jsp代码 <%@ 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"

ajax实现自动刷新页面实例

html部分: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ajax实现自动刷新</title> </head> <body onLoad="Autofresh()"> <p>现在的时间是:<span id="currenttim

4.4 创建自动刷新页面

<1>使用Ajax,用户就可以不必反复点击刷新按钮,而实现网页内容的自动刷新 <2>例程采用单击按钮后开始执行,实际中一般以onload事件代替 <3>setTimeout方法,允许以固定的时间间隔(单位为毫秒)执行给定的方法 <4>createRow()方法使用DOM动态创建内容:refreshTime()用于刷新定时器的值 页面代码: <!DOCTYPE html> <html> <head> <meta cha

使用Ajax完成用户名异步校验--【SSH】

1.事件触发--onblur <td><!-- onblur用户离开输入框的时候执行 --> <input type="text" id="username" name="username" class="text" maxlength="20" onblur="checkUsername()"> <span id="span1&quo

11月10日上午ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处理页面的,处理页面只是操作数据库并且返回值,页面都是ajax处理的. ajax的写法: test.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR