AJAX基础

AJAX

AJAX

1、什么是AJAX

Asynchronous JavaScript And XML

异步的  JavaScript 和 XML

AJAX不是一门单独的技术而是多个技术的联合使用

2、异步和同步的区别?

异步:A、B线程各自执行互不干预

同步:A、B线程,当A执行是B线程进入等待,或者B线程执行A线程等待,这就是同步

3、传统请求和AJAX的区别?

传统请求:都是同步的

AJAX请求:可以做到异步

4、浏览器这个软件本身是支持多线程并发的,其中AJAX请求就是一个线程,一个页面上可以同时发送多个AJAX请求,多个AJAX请求对应浏览器多个线程

当整个浏览器采用传统的请求方式时,请求已发送当前的窗口就会锁定,无法在进行其他操作,并且浏览器会将整个页面全部清除,迎接新的页面

5、AJAX主要解决的问题

页面的局部刷新问题
     使用AJAX可以在同一个网页中发送多个请求,请求与请求之间互不等待,互不干扰,这样可以提高用户的体验

6、命令的执行

四步 : 1、创建XMLHttpRequest对象(异步请求对象)

2、为异步请求对象建立回调函数

3、开启通道

4、发送请求

代码:

GET请求:

jsp文件

<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

局部刷新测试

用户名:

密码:

servlet文件

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

import java.io.PrintWriter;

public class check extends HttpServlet {

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

resp.setContentType(“text/html;charset=UTF-8”);

String username = req.getParameter(“username”);

PrintWriter out = resp.getWriter();

if (username.equals(“abc”)){

out.print(“用户名已被注册”);

}else {

out.print(“用户名可以使用”);

}

}

}

POST请求

代码:

jsp文件

<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

ajax\_post

用户登录


用户名:
密码:

servlet文件

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import java.io.IOException;

public class user_login extends HttpServlet {

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

resp.setContentType(“text/html;charset=UTF-8”);

String username = req.getParameter(“username”);

String password = req.getParameter(“password”);

StringBuilder json = new StringBuilder();//使用builder是因为buffer是线程安全的,但是局部变量并不会存在任何线程安全问题

if (username.equals(“abc”)&&password.equals(“123”)){

HttpSession session = req.getSession();//给登录成功的用户设立session对象

json.append(“{“success”:true}”);

}else {

json.append(“{“success”:false}”);

}

resp.getWriter().print(json);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值