• Ajax案例3-->判断用户名是否被占用


    jsp页面--thirdajax.jsp


     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
     4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     5 <html>
     6 <head>
     7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     8 <title>Insert title here</title>
     9 </head>
    10 <script type="text/javascript">
    11     function createXMLHttpRequest() {
    12         try {
    13             return new XMLHttpRequest();
    14         } catch (e) {
    15             try {
    16                 return new ActiveXObject("Msxml2.XMLHTTP");
    17             } catch (e) {
    18                 try {
    19                     return new ActiveXObject("Microsoft.XMLHTTP");
    20                 } catch (e) {
    21                     alert("浏览器不兼容");
    22                 }
    23             }
    24         }
    25     }
    26 
    27     window.onload = function() {
    28         var usernameEle = document.getElementById("username");
    29         usernameEle.onblur = function() {//给文本框的失去焦点事件添加监听器
    30             //alert("hello");
    31 
    32             var xmlHttp = createXMLHttpRequest();
    33             xmlHttp.open("POST", "<c:url value ='/ThirdServlet'/>", true);
    34             xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    35             xmlHttp.send("username=" + usernameEle.value);
    36 
    37             xmlHttp.onreadystatechange = function() {
    38                 if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
    39 
    40                     var text = xmlHttp.responseText;//得到的是String
    41                     var flag = eval("(" + text + ")");//eval()执行字符串
    42                     var error = document.getElementById("errorMsg");
    43                     if (flag) {
    44                         error.innerHTML = "用户名已被注册";
    45                     }else{
    46                         error.innerHTML="";
    47                     }
    48                 }
    49             };
    50         };
    51     };
    52 </script>
    53 <body>
    54 
    55     <h1>注册表单</h1>
    56     <form action="" method="POST">
    57         姓名<input type="text" id="username" name="username" /><span id="errorMsg"></span><br />             
    58         密码<input type="password" /><br />
    59          <input    type="submit" value="提交" />
    60     </form>
    61 </body>
    62 </html>

    Servlet-->ThirdServlet.java


     1 package ajax;
     2 
     3 import java.io.IOException;
     4 import java.io.PrintWriter;
     5 
     6 import javax.servlet.ServletException;
     7 import javax.servlet.http.HttpServlet;
     8 import javax.servlet.http.HttpServletRequest;
     9 import javax.servlet.http.HttpServletResponse;
    10 
    11 public class ThirdServlet extends HttpServlet {
    12 
    13     private static final long serialVersionUID = 8739665601659312476L;
    14 
    15     public void doPost(HttpServletRequest request, HttpServletResponse response)
    16             throws ServletException, IOException {
    17 
    18         request.setCharacterEncoding("utf-8");
    19         response.setContentType("text/html;charset=utf-8");
    20 
    21         String username = request.getParameter("username");
    22 
    23         /*
    24          * 实际开发中需要查询数据库
    25          * 这里进行了简化
    26          */
    27         if ("lisa".equalsIgnoreCase(username)) {
    28             response.getWriter().print(true);
    29         } else {
    30             response.getWriter().print(false);
    31         }
    32 
    33     }
    34 
    35 }

    图片展示:




  • 相关阅读:
    AOP从静态代理到动态代理 Emit实现
    Emit基础入门 系列文章
    ContextAttribute与ContextBoundObject应用的探究
    吞云吐烦忧
    动态编译代码框架发布CZGL.Roslyn
    AutoMapper 入门
    Attribute在.net编程中的应用
    C#反射与特性 系列文章
    静态代理和动态代理方式分别实现AOP拦截功能
    内网安全攻防:渗透测试指南——第8章 权限维持分析及防御
  • 原文地址:https://www.cnblogs.com/vmkash/p/5522016.html
Copyright © 2020-2023  润新知