前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >杨校老师课堂之使用Ajax校验用户名是否可用

杨校老师课堂之使用Ajax校验用户名是否可用

作者头像
杨校
发布2019-06-14 21:11:41
5090
发布2019-06-14 21:11:41
举报
文章被收录于专栏:Java技术分享圈Java技术分享圈

页面代码:

代码语言:javascript
复制
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>使用Ajax校验用户名是否可用</title>
    <script src="js/jquery-1.7.2.min.js"></script>
   
</head>
<body>
    <form>
        <input type="text" id="username" name="username" placeholder="请输入用户名">
        <span id="span_username"></span>
        <br/>
        <input type="password" name="password" placeholder="请输入密码"><br>
        <input type="submit" value="戳我来注册"><br>
    </form>

</body>
</html>
<script>
        //在页面加载完成后
        $(function () {
           //给username绑定blur(失焦)事件 | 光标离开username区域后
           $("#username").blur(function () {
               //获取username文本输入框的值
               var username = $(this).val();
               //发送ajax请求
                   //如果可用则显示:"此用户名太受欢迎,请更换一个"
                   //如果不可用则:"用户名可用"
                $.get("showUserServlet",{username:username},function (data) {
					   var span = $("#span_username");
					   if(data.userExsit){
						   //用户名存在
						   span.css("color","red");
						   span.html(data.msg);
					   }else{
						   //用户名不存在
						   span.css("color","green");
						   span.html(data.msg);
					   }
				   });
           }); 
        });
</script>

Servlet代码:

代码语言:javascript
复制
package cn.javabs.web.servlet;

import com.fasterxml.jackson.databind.ObjectMapper;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
/**
 * 基于IDEA开发工具 | 并使用Servlet的3.0技术、可省略web.xml中映射代码的编写
 *@author:Mr.yang
 *
 */
@WebServlet("/showUserServlet")
public class ShowUserServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       
	   // 1. 设置响应的数据格式为json并且设置编码为utf-8
        response.setContentType("application/json;charset=utf-8");
		
		// 2. 获取用户名
        String username = request.getParameter("username");

        // 3. 调用service层判断用户名是否存在
        Map<String,Object> map = new HashMap<String,Object>();

        if("wangcai".equals(username)){
            //若用户名为“wangcai”存在
            map.put("userExsit",true);
            map.put("msg","此用户名太受欢迎,请更换一个");
        }else{
            //若用户名为“wangcai”不存在
            map.put("userExsit",false);
            map.put("msg","用户名可用");
        }

        // 4.将map转为json,并且传递给客户端
			// 4.1 将map转为json
			ObjectMapper mapper = new ObjectMapper();
			// 4.2 并且传递给客户端
			mapper.writeValue(response.getWriter(),map);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// 调用doPost方法,实现代码的复用性	
	   this.doPost(request, response);
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年05月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 页面代码:
  • Servlet代码:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档