首页 > 编程语言 >Javaweb基础知识复习------AJAX

Javaweb基础知识复习------AJAX

时间:2022-10-30 19:44:07浏览次数:93  
标签:username Javaweb xhttp AJAX new ------ import servlet

AJAX相关知识复习

简而言之,就是可以用AJAX+HTML代替JSP页面,也可以进行异步交互,更关心部分界面

Ajax案例

后端代码就是一个servlet文件,前端页面的代码也不是很常用,可以在下面这个网址这里找到相关代码:https://www.w3school.com.cn/js/js_ajax_intro.asp

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<script>
    //创建核心对象
    var xhttp;
    if (window.XMLHttpRequest) {
        xhttp = new XMLHttpRequest();
    } else {
        // code for IE6, IE5
        xhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    //发送请求
    xhttp.open("GET", "http://localhost:8080/ttCookieLogin_war_exploded/ajaxServlet");
    xhttp.send();
    //获取响应
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
                alert(this.responseText);
        }
    };


</script>

</body>
</html>

相关的创建核心对象、发送请求、获取响应的代码操作在上述网址中均能找到!

AJAX案例------验证用户是否存在

后端代码:

//selectUserServlet.java
package org.example.web.Ajax;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class selectUserServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String username=req.getParameter("username");

        boolean flag=true;

        resp.getWriter().write(""+flag);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doGet(req,resp);
    }
}
<!--register.html-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册界面</title>
</head>
<body>
<center>
    <tr>
        已有账号?<a href="index.jsp">登录</a>
    </tr>
    <form action="registerServlet" method="post">
        <tr>
            <td>用户名:</td>
            <td><input type="text" id="username" name="username" placeholder="请输入用户名"></td>
            <br>
            <div id="errorUsername">${register_msg}</div>
        </tr>
        <p>
            <tr>
                <td>密码:</td>
                <td><input type="text" name="password" placeholder="请输入密码"></td>
            </tr>
        <p>
            <tr>
                <td>验证码:</td>
                <td>
                    <input name="checkCode" id="checkCode" type="text">
                </td>
                <td><img src="checkServlet" id="checkCodeImg"></td>
                <td><a href="#" id="changeImg">看不清?</a></td>
            </tr>
        <p>
            <tr>
                <button type="submit" value="提交">提交</button>
            </tr>
    </form>
    <script>
        document.getElementById("changImg").onclick=function(){
            document.getElementById("checkCodeImg").src="/ttCookieLogin/checkServlet?"+new Date().getMilliseconds();
        }
    </script>
</center>

<script>
    //点击事件
    document.getElementById("username").onblur=function(){
        var username=this.value;

        //创建核心对象
        var xhttp;
        if (window.XMLHttpRequest) {
            xhttp = new XMLHttpRequest();
        } else {
            // code for IE6, IE5
            xhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        //发送请求
        xhttp.open("GET", "http://localhost:8080/ttCookieLogin_war_exploded/ajaxServlet?username="+username);
        xhttp.send();
        //获取响应
        xhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                //alert(this.responseText);
                //判断
                if(this.responseText=="true"){
                    document.getElementById("errorUsername").style.display='';
                }else{
                    document.getElementById("errorUsername").style.display='null';
                }
            }
        };
    }
</script>
</body>
</html>

标签:username,Javaweb,xhttp,AJAX,new,------,import,servlet
From: https://www.cnblogs.com/liuzijin/p/16840496.html

相关文章

  • wordpress外贸跨境电商独立站WooCommerce插件安装教程
    如果想要搭建一个外贸独立站,可以使用wordpress配合WooCommerce插件实现电商功能下载插件这里可以去下面地址下载https://woo.weixiaoduo.com/download安装插件网站后......
  • CSP-S 2022 Unofficial 题解
    去年有个CSP-S2021Unofficial的题解但是那玩意咕掉了(主要是不想写最后一题,但是准备省选的时候会补上毕竟ZJ卷怪一堆懂得都懂),不过今年保证在NOIP2022前会写完这份题......
  • 实验一:决策树算法实验
    一、【实验目的】理解决策树算法原理,掌握决策树算法框架;理解决策树学习算法的特征选择、树的生成和树的剪枝;能根据不同的数据类型,选择不同的决策树算法;针对特定应用场......
  • 10.常规流
    #常规流盒模型:规定单个盒子的规则视觉格式化模型(布局规则):页面中的多个盒子排列规则视觉格式化模型,大体上将页面中盒子的排列分为三种方式:1.常规流2.浮动3.......
  • ansible变量练习
    作业:在ansible节点中新建/home/student/ansible/hwreport.empty的文件,文件内容为hostname:inventoryhostnamemem:memory_in_MBbios:BIOS_versionsda:disk_sda_siz......
  • (数据科学学习手札146)geopandas中拓扑非法问题的发现、诊断与修复
    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes1简介大家好我是费老师,geopandas作为在Python中开展GIS分析的利器,可以......
  • 9.行盒的盒模型
    #行盒的盒模型常见的行盒:包含具体内容的元素span、strong、em、i、img、video、audio##显著特点1.盒子沿着内容沿伸2.行盒不能设置宽高调整行盒的宽高,应该......
  • CSP-S2022 游记
    Day-2上午打了场信心赛,因为某种原因T2简单广搜想了半天先做了T3下午随机做了两道Y25t的题,看了两眼pbds打鬼子。摆烂。Day-1上午教练让我们几个找几道联赛到省......
  • 使用haproxy 代理minio
    主要是测试下基于haproxy代理minio,比较简单环境准备docker-compose文件version:'3'services:minio:image:minio/minioports:......
  • new方法实现
    function_create(){//小新(new)闯(创)祸(获)被铁链捆绑遣返letobj={};//1.创建一个空对象创letconstructor=[].shift.call(arguments);//2.获取构造函数......