准备

  1. 导包:DBUtil,JDBC,C3P0
  2. 在src下导入c3p0-config.xml
  3. 导入JDBCUtil
  4. 创建数据库

第2.3.条查看https://blog.csdn.net/weixin_44718300/article/details/88994973

1、新建JSP页面

  1. <body>
  2. <table border="1" width="500">
  3. <tr>
  4. <td>用户名:</td>
  5. <td><input type="text" name="name" id="name" οnblur="checkUserName()"><span id="span01"></span></td>
  6. </tr>
  7. <tr>
  8. <td>密码</td>
  9. <td><input type="text" name=""></td>
  10. </tr>
  11. <tr>
  12. <td>邮箱</td>
  13. <td><input type="text" name=""></td>
  14. </tr>
  15. <tr>
  16. <td>简介</td>
  17. <td><input type="text" name=""></td>
  18. </tr>
  19. <tr>
  20. <td colspan="2"><input type="submit" value="注册"></td>
  21. </tr>
  22. </table>
  23. </body>

2、创建Servlet

  1. public class CheckUserNameServlet extends HttpServlet {
  2. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  3. try {
  4. request.setCharacterEncoding("UTF-8");
  5. //1. 检测是否存在
  6. String name = request.getParameter("name");
  7. System.out.println("name="+name);
  8. UserDao dao = new UserDaomImpl();
  9. boolean isExist = dao.checkUserName(name);
  10. //2. 通知页面,到底有还是没有。
  11. if(isExist){
  12. response.getWriter().println(1); //存在用户名
  13. }else{
  14. response.getWriter().println(2); //不存在该用户名
  15. }
  16. } catch (SQLException e) {
  17. e.printStackTrace();
  18. }
  19. }
  20. /**
  21. * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  22. */
  23. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  24. // TODO Auto-generated method stub
  25. doGet(request, response);
  26. }
  27. }

3、Dao

  1. boolean checkUserName(String username) throws SQLException;
  1. @Override
  2. public boolean checkUserName(String username) throws SQLException {
  3. QueryRunner runner = new QueryRunner(JDBCUtil02.getDataSource());
  4. String sql = "select count(*) from t_user where username =?";
  5. runner.query(sql, new ScalarHandler(), username);
  6. Long result = (Long) runner.query(sql, new ScalarHandler(), username);
  7. return result > 0 ;
  8. }

4、修改jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>Insert title here</title>
  8. <script type="text/javascript">
  9. //1. 创建对象
  10. function ajaxFunction(){
  11. var xmlHttp;
  12. try{ // Firefox, Opera 8.0+, Safari
  13. xmlHttp=new XMLHttpRequest();
  14. }
  15. catch (e){
  16. try{// Internet Explorer
  17. xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  18. }
  19. catch (e){
  20. try{
  21. xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  22. }
  23. catch (e){}
  24. }
  25. }
  26. return xmlHttp;
  27. }
  28. function checkUserName() {
  29. //获取输入框的值 document 整个网页
  30. var name = document.getElementById("name").value; // value value() val val()
  31. //1. 创建对象
  32. var request = ajaxFunction();
  33. //2. 发送请求
  34. request.open("POST" ,"/day16/CheckUserNameServlet" , true );
  35. //注册状态改变监听,获取服务器传送过来的数据
  36. request.onreadystatechange = function(){
  37. if(request.readyState == 4 && request.status == 200){
  38. //alert(request.responseText);
  39. var data = request.responseText;
  40. if(data == 1){
  41. //alert("用户名已存在");
  42. document.getElementById("span01").innerHTML = "<font color='red'>用户名已存在!</font>";
  43. }else{
  44. document.getElementById("span01").innerHTML = "<font color='green'>用户名可用!</font>";
  45. //alert("用户名未存在");
  46. }
  47. }
  48. }
  49. request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  50. request.send("name="+name);
  51. }
  52. </script>
  53. </head>
  54. <body>
  55. <body>
  56. <table border="1" width="500">
  57. <tr>
  58. <td>用户名:</td>
  59. <td><input type="text" name="name" id="name" οnblur="checkUserName()"><span id="span01"></span></td>
  60. </tr>
  61. <tr>
  62. <td>密码</td>
  63. <td><input type="text" name=""></td>
  64. </tr>
  65. <tr>
  66. <td>邮箱</td>
  67. <td><input type="text" name=""></td>
  68. </tr>
  69. <tr>
  70. <td>简介</td>
  71. <td><input type="text" name=""></td>
  72. </tr>
  73. <tr>
  74. <td colspan="2"><input type="submit" value="注册"></td>
  75. </tr>
  76. </table>
  77. </body>
  78. </html>

Ajax校验用户名是否可用的更多相关文章

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

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  2. asp.net ajax 检测用户名是否可用代码

    原文  asp.net ajax 检测用户名是否可用代码 .net ajax 检测用户名是否可用代码 <script type="text/网页特效" src="c ...

  3. ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  4. 14.ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  5. ajax 检测用户名是否可用

    下面是一个 ajax 检测用户名是否可用的例子. django  项目中. —— views.py 里—— from django.shortcuts import render,HttpRespon ...

  6. 十七 Ajax&校验用户名功能

    Ajax: 即"Asynchronous JavaScript And XML", 异步JavaScript和XML , 是指一种创建的交互式页面应用的网页开发技术,它并不是新的技 ...

  7. AJAX校验用户名是否存在,焦点离开用户名、点击 【 检 查用户名 】的校验。分别用 XMLHttp 和 JQueryAJAX实现。

     XMLHttp方法: $("#name").blur(function () { var xmlhttp = new ActiveXObject("Microsoft. ...

  8. Ajax详解及其案例分析------如何获得Ajax对象,使用Ajax对象发送GET和POST请求,校验用户名,POST和GET请求时的乱码处理,实现级联的下拉列表

    本节主要内容预览: 1 获得Ajax对象 2 使用Ajax对象发送GET请求 3 使用Ajax对象发送POST请求 4 使用Ajax校验用户名 5 POST请求时的乱码处理 6 GET请求时的乱码处理 ...

  9. 使用PHP中的ajax做登录页面、验证用户名是否可用、动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

随机推荐

  1. sklearn中实现随机梯度下降法(多元线性回归)

    sklearn中实现随机梯度下降法 随机梯度下降法是一种根据模拟退火的原理对损失函数进行最小化的一种计算方式,在sklearn中主要用于多元线性回归算法中,是一种比较高效的最优化方法,其中的梯度下降系 ...

  2. Ubuntu 18.04 安装ROS 配置环境 没有那个文件或目录的解决办法

    Ubuntu 18.04版本,在安装ROS时运行  source ~/.bashrc 命令时出现没有那个文件夹或目录 或 No such file or directory的错误 在经过一番查询后发现 ...

  3. PostGIS官方教程汇总目录

    一.PostGIS介绍 二.PostGIS安装 三.创建空间数据库 四.加载空间数据 五.数据 六.简单的SQL语句 七.几何图形(Geometry) 八.关于几何图形的练习 九.空间关系 十.空间连 ...

  4. 获取QQ群中的所有群友QQ

    package com.jm.mail.tools; import java.io.BufferedReader; import java.io.IOException; import java.io ...

  5. postgres 删除外部表

    drop external table if exists tableName;

  6. day01-Python运维开发基础

    还是用思维导图来一遍,印象更深!

  7. dom与jq基础使用

    js有两种运行环境,一个是浏览器,一个是服务器(NodeJS) js的本质是es,因为运行环境的不同,为了操作环境内的api做了升级 在浏览器上js分为es + dom + bom 在服务器上js又有 ...

  8. MyBatis Generator 下划线转驼峰命名

    MyBatis Generator配置文件--指定生成实体类使用实际的表列名作为实体类的属性名 table标签下的设置属性useActualColumnNames用于指定生成实体类时是否使用实际的列名 ...

  9. 038、Java中逻辑运算之非运算“!”

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  10. Linq----------if使用

    static void Main(string[] args) { "; "; var processid = "c8b79051249940acbeca5dd951d2 ...