JavaWeb(三)Ajax与JQuery

Ajax、Json深入浅出,及原生Ajax及简化版Ajax 通过对ajax的就绪状态做判断,我们在就绪状态是4的情况下编写我们的对响应结果的处理逻辑代码,但是不是任何响应结果我们都要处理,因为服务器的响应也有状态码,比如:200、404、500等等。在ajax对象中提供了一个监听机制 “onreadystatechange”,用来监听ajax的属性readyState的改变情况,一旦该值改变,就会触发监听中的函数的执行。发送请求后,不需要等待服务端的响应,继续按照顺序执行其他逻辑代码,监听到响应,自动调用指定的方法。 阅读详情

1.Ajax

1.1Ajax的get请求
1.在js中创建对象,固定格式

function ajaxFunction(){
		var xmlHttp;
		try{ // Firefox, Opera 8.0+, Safari
		     xmlHttp=new XMLHttpRequest();
		 }
		 catch (e){
		    try{// Internet Explorer
		          xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		       }
		     catch (e){
		       try{
		          xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		       }
		       catch (e){}
		       }
		 }	
		 return xmlHttp;
	}

2.页面点击

<a href="" onclick="get()">使用ajax请求</a>

2.执行get请求

 function get(){
    	//1.创建xmlhttprequest对象请求
    	var request = ajaxFunction();
    	/* 2.发送请求
    	参数1:请求的类型
    	参数2:请求的路径
    	参数3:true代表异步
    	*/
    	//传参
    	request.open("GET","DemoServlet01?name=zhangsan&&age=18",true);
    	request.send();

    //2.3接收数据
    	request.onreadystatechange=function()
    	  {
    	  if (request.readyState==4 && request.status==200)
    	    {
    	    alert(request.responseText);
    	    }
    	  }
     }

4.Servlet如下

public class DemoServlet01 extends HttpServlet {
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		String name = request.getParameter("name");
		String age = request.getParameter("age");
		System.out.println("收到了请求name==="+name+"===age==="+age);
		//响应
		//传到显示页面的数据
		response.getWriter().write("收到的姓名是"+name);
	}
}

显示效果在这里插入图片描述
控制台会输出接收到的结果
1.2Ajax的post请求
1.页面点击

 <a href="" onclick="post()">使用ajax的post请求</a>

2.js处理【post方法】
ajaxFunction()为get请求里的第一步固定写法

 function post(){
    	//创建对象
    	var request = ajaxFunction();
    	//发送请求
    	request.open("post","DemoServlet01",true);
    	//传数据过去:需要首先设置这个响应头
    	request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    	request.send("name=post&&age=101");
    	//接收数据
    	request.onreadystatechange=function(){
    		if(request.readyState==4 && request.status==200){//准备就绪
    			alert(request.responseText);//页面上弹出数据
    		}
    	}
    }

3.DemoServlet01里传参的处理及响应内容

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		String name = request.getParameter("name");
		String age = request.getParameter("age");
		System.out.println("收到了请求name==="+name+"===age==="+age);
		//响应
		response.setContentType("text/html;charset=UTF-8");
		response.getWriter().write("收到的姓名是"+name+"and 年龄是"+age);
	}

注意post和get带数据的方式不同;post带数据放在request.send()里

1.3案例:校验用户名
步骤1:搭建一个Servlet
checkServlet.java

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		try {
			request.setCharacterEncoding("UTF-8");
			response.setContentType("text/html;charset=utf-8");
			String name = request.getParameter("name");
			UserDao dao = new UserDaoImpl();
			boolean isExit = dao.checkUser(name);
			
			if(isExit){
				response.getWriter().print(0);
			}else{
				response.getWriter().print(1);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

步骤2:创建Dao及Dao的实现

public interface UserDao {
	/**
	 * @param 用于检测用户名是否存在
	 * @return
	 * @throws SQLException 
	 */
	boolean checkUser(String name) throws SQLException;
}
public class UserDaoImpl implements UserDao {
	@Override
	public boolean checkUser(String name) throws SQLException {
		QueryRunner runner = new QueryRunner(JDBCUtils.getDataSource());
		String sql = "select count(*) from t_user where username=?";
		Long query = (Long) runner.query(sql, new ScalarHandler(),name);
		//若大于0就是true
		return query>0;
	}
}

步骤3:创建demo.jsp

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function ajaxFunction(){
    var xmlHttp;
    try{ // Firefox, Opera 8.0+, Safari
         xmlHttp=new XMLHttpRequest();
     }
     catch (e){
        try{// Internet Explorer
              xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
           }
         catch (e){
           try{
              xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
           }
           catch (e){}
           }
     }  
     return xmlHttp;
}
function post(){
	var req = ajaxFunction();
	//获取输入框的值
	var name = document.getElementById("name").value;
	
	//发送请求
	req.open("post","checkServlet",true);
	//传数据过去
    req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    req.send("name="+name);
    //接收数据
    req.onreadystatechange=function(){
        if(req.readyState==4 && req.status==200){
          /*  alert(req.responseText); */
           if(req.responseText==0){
        	   alert("用户名存在");
        	   document.getElementById("span01").innerHTML="<font color='red'>用户名存在</font>"
           }else{
        	   document.getElementById("span01").innerHTML="<font color='blue'>用户名可以使用</font>"
           }
        }
    }
}

</script>
</head>
<body>
	<form action="SubmitServlet" method="post">
	     <table border="1" cellspacing="0" width="500">
	        <tr>
	            <td>用户名:</td>
	            <td>
	            <input type="text" name="name" id="name" onblur="post()">
	            <span  id="span01"></span>
	            </td>
	            
	        </tr>
	        <tr>
	            <td>密码:</td>
	            <td><input type="password" name="passwd"></td>
	        </tr>
	        <tr>
	            <td>邮箱:</td>
	            <td><input type="text" name="mail"></td>
	        </tr>
	        <tr>
	            <td colspan="2"><input type="submit" value="注册"></td>
	        </tr>
	     </table>
	</form>
</body>
</html>

2.JQuery

1.load的用法

$("#元素id").load(URL地址);//语法格式
$("#div").load(servlet的地址);

2.get写法

$.get(URL,callback);//语法格式
$.get("day/demoServlet",function(data,status){
		$("#div1".text(data));//或者$("#div").html(data);
})

3.post语法格式

$.post(url,data,callback);//后两个为可选项
function post(){
	$.post("day/servlet",{name:"张三",age:23},function(data,status){
		${"#div"}.html(data);
	})
}

4.使用jquery改良1.3案例中用户名校验的代码
1.servlet代码

public class checkServlet extends HttpServlet {
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		try {
			request.setCharacterEncoding("UTF-8");
			response.setContentType("text/html;charset=utf-8");
			String name = request.getParameter("name");
			UserDao dao = new UserDaoImpl();
			boolean isExit = dao.checkUser(name);
			
			if(isExit){
				response.getWriter().print(0);
			}else{
				response.getWriter().print(1);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}
}

2.jsp页面的js处理
*****body页面

 <table border="1" cellspacing="0" width="500">
            <tr>
                <td>用户名:</td>
                <td>
                <input type="text" name="name" id="name" onblur="checkUserName()">
                <span  id="span01"></span>
                </td>
            </tr>
</table>

****js处理

function checkUserName(){
    	  //1.获取输入框的内容
    	  var name = $("#name").val();
    	  //2.发送请求
    	  $.post("/HEIMA_Ajax_JQuery/checkServlet",{name:name},function(data,status){
    		   if(data==0){
    			   //3.传输数据
    			  $("#span01").html("<font color='red'>用户名存在</font>");
    		  }else{
    			  $("#span01").html("<font color='green'>用户名可用</font>");
    		  } 
    	  });    	  
      }
jquery+ajax实例(javaWeb开发) (附源码)jquery+ajax,新手很容易上手,有注释! 立即下载

相关推荐

JAVA使用ajax实现了分页 jquery

JAVAweb使用ajax实现了分页,并简单阐述了ajax请求时post和get的区别

【Java 进阶篇】Ajax 实现——JQuery 实现方式 `ajax()`

在开始讲解 jQuery 的ajax()方法之前,让我们先回顾一下 Ajax 的基础知识。Ajax,即 Asynchronous JavaScript and XML,是一种用于创建异步请求的技术。通过 Ajax,我们能够在不刷新整个页面的情况下,与服务器进行数据交互,从而提高用户体验。通过本文的介绍,你应该对 jQuery 中的ajax()方法有了更深入的了解。这个方法提供了许多选项和事件,使我们能够轻松地处理各种异步请求的场景。同时,全局设置的使用能够进一步简化代码,提高可维护性。

繁依Fanyi的博客 723

java程序使用jquery AJAX

NULL 博文链接:https://yuxuguang.iteye.com/blog/546145

Java后端开发——Ajax、jQuery和JSON

Ajax全称是Asynchronous Javascript and XML,即异步的JavaScript和 XML。Ajax是一种Web应用技术,该技术是在JavaScript、DOM、服务器配合下,实现浏览器向服务器发送异步请求。Ajax异步请求方式不向服务器发出请求,会得到数据后再更新页面(通过DOM操作修改页面内容),整个过程不会发生页面跳转或刷新操作。传统请求方式和Ajax异步请求方式区别。

专注 AI、大数据、Python、爬虫、数据分析可视化、机器学习、推荐算法、知识图谱、大模型应用与全栈系统开发,长期沉淀真实项目案例、源码解析、系统设计、部署经验与工程化实践,分享可运行、可复用、可落地的技术方案。 2294

java+ajax+json+jquery完整实例

实现了java+ajax+json+jquery的完整实例,包括ajax+jquery向后台传参,后台传输json数据到前台ajax接收。里面有自己遇到的四个问题,及解决的具体办法。

java百度搜索(jquery ajax java)

百度搜索(jquery ajax java)详细说明请看: http://blog.youkuaiyun.com/weixin_39549656/article/details/79240810

JavaWeb 核心:AJAX 深入详解与实战(Java 开发者视角)

摘要: AJAX技术通过异步通信实现Web应用无刷新更新,提升用户体验与性能。本文从Java开发者视角解析AJAX核心原理,对比原生JavaScript(XMLHttpRequest/fetch)与jQuery的实现方式,并结合SpringBoot后端实战演示用户管理功能(CRUD)。重点涵盖:1)AJAX工作流程与优势;2)前后端协作(RESTful API设计、JSON数据传输);3)跨域(CORS)、错误处理等关键问题解决方案;4)实战案例中动态加载、表单提交等场景实现。帮助Java开发者掌握这一连接

weixin_73962764的博客 1442

手把手教你在Keil/IAR中移植SEGGER_RTT组件(避坑指南+性能对比)

本文详细介绍了在Keil/IAR开发环境中移植SEGGER RTT调试组件的完整流程与优化技巧。通过对比传统串口调试,SEGGER RTT凭借零硬件占用、高速传输和双向交互等优势,显著提升嵌入式开发效率。文章包含配置步骤、性能调优方案及常见问题解决方案,是嵌入式开发者必备的实用指南。

y7z8a的博客 245

【Java 进阶篇】Ajax 实现——JQuery 实现方式 `get` 与 `post`

Ajax,全称 Asynchronous JavaScript and XML,是一种用于创建异步请求的技术。简而言之,Ajax 允许我们在不刷新整个页面的情况下,与服务器进行数据交互。这意味着我们可以动态地更新页面内容,提高用户体验。在使用原生 JavaScript 进行 Ajax 请求时,我们需要手动创建对象,而在 jQuery 中,get和post方法为我们提供了更简单的选择。通过本文的介绍,你应该对使用 jQuery 的get和post方法发送 Ajax 请求有了更深入的了解。

繁依Fanyi的博客 619

手把手拆解固态电池成本:2030年真能比液态电池便宜30%吗?

本文深度解析固态电池成本结构,探讨2030年实现比液态电池便宜30%的可行性路径。通过拆解正极材料、负极材料和固态电解质的成本演变,分析关键技术对降本的影响,并预测产业链协同效应下的成本优化趋势。文章指出,在材料创新、设备国产化和政策支持等多重因素推动下,固态电池有望在2030年实现显著降本目标。

kite3的博客 405

从零到一:STM32 CubeMX与WS2812B的DMA驱动艺术

本文详细介绍了如何使用STM32 CubeMX和DMA技术驱动WS2812B RGB LED灯条,从硬件设计到软件实现的全过程。通过CubeMX配置定时器和DMA,实现高效的PWM波形生成与数据传输,解决传统GPIO控制资源占用高的问题。文章还提供了颜色编码、动画效果实现及常见问题解决方案,助力开发者快速掌握智能LED控制技术。

weixin_28278377的博客 980

jquery java ajax_jQuery之ajax实现篇

jQuery的ajax方法非常好用,这么好的东西,你想拥有一个属于自己的ajax么?接下来,我们来自己做一个简单的ajax吧。实现功能由于jq中的ajax方法是用了内置的deferred模块,是Promise模式的一种实现,而我们这里没有讲过,所以我们就不使用这一模式啦。我们只定义一个ajax方法,他可以简单的get,post,jsonp请求就可以啦~~var ajax = function() ...

weixin_39621488的博客 164

SAP PO开发-端到端配置

1.登录PO系统,选择system landscape,将外围系统的系统信息(Software Component以下简称SC)注册到PO系统中。2.点击products注册外围系统信息。3.选择New 新建 按钮:创建一个新的系统和版本。4.输入产品名称、供应商、版本号等信息。然后点击:Next。5.设置instance 名称,然后点击Next。6.最后设置软件组件的名称,然后点击Finish。

P9QCer的博客 1581

JavaWeb-Ajax、监听器、过滤器及对应案例和jstl补充

本文摘要: AJAX技术可实现异步HTTP请求和局部刷新,提升访问效率并减轻服务器压力。文章详细介绍了同步/异步请求区别、jQuery中的AJAX使用方法(GET/POST请求)、JSON数据格式转换技巧(Gson库应用)。同时讲解了Servlet三大监听器(Request/Session/Application)的实现原理和实际应用案例(如在线人数统计),以及过滤器的配置使用(拦截规则、生命周期)。最后补充了JSTL标签库中if条件判断的用法。全文系统性地梳理了Web开发中的关键异步处理技术和组件应用。

m0_53499553的博客 894

K-L展开 (Karhunen-Loeve expansion)

K-L变换

susan_wang1的博客 2万+

AI量化交易工作台Vibe-Trading:用自然语言驱动策略回测与多智能体研究

量化交易通过数学模型和计算机程序执行投资决策,其核心在于将市场规律转化为可验证的策略。传统量化开发涉及数据获取、策略编写、回测验证等复杂工程,对非编程背景的从业者构成较高门槛。随着大语言模型技术的发展,自然语言交互正成为降低技术使用难度的关键。Vibe-Trading项目正是这一趋势的实践,它将金融工程任务封装为可调用的工具与技能,允许用户通过自然语言指令直接驱动策略回测、因子研究和投资组合分析。其技术价值在于构建了一个模块化的AI Agent框架,通过ReAct推理框架协调多个专项技能,并创新性地引入多智

weixin_28695161的博客 1567

ajax将监听器值赋值servlet,二次重刷SSM,回顾知识点

Java web三大组件servlet filter listenerservlet处理请求filter 过滤器listener监听器三大组件基本都要在web.xml中进行注册;除了listener中的两个(活化钝化监听器,绑定监听器)需要Javabean实现。不注册外,剩下的三大组件都需要注册;filter配置:url-pattem 的三种写法:1.精确匹配:/com/kuang/inse.js...

weixin_39639260的博客 214

GhidraMCP:AI驱动的逆向工程革命——让LLM自主操作Ghidra进行自动化分析

(Ghidra Machine Control Protocol)应运而生,它通过将LLM与Ghidra(美国NSA开源逆向工具)结合,实现了AI驱动的自动化逆向工程流程。逆向工程是软件安全、漏洞分析和代码审计的核心环节,但传统方法依赖人工分析,耗时且易出错。未来,随着LLM技术的演进和逆向工程工具的优化,GhidraMCP有望成为安全研究人员和开发者的核心工具,推动逆向工程进入“AI辅助时代”。GhidraMCP通过LLM与Ghidra的深度整合,重新定义了逆向工程的自动化边界。

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 2119

基于javaweb和mysql的springboot小区物业管理系统(java+springboot+ssm+mysql+maven+jsp)

本系统功能包括: 实现了资源管理、收费管理、支出管理、三表管理、投诉 建议、装修管理、车位管理、招商管理、物料管理、设备 管理、人事考勤、安保消防、报事报修、绿化管理、保洁 管理、权限管理等一些功能,还有一些细节功能没有实现需 要大家一起完善,提供给大家学习参考使用。项目技术: JSP +SpringBoot + MyBatis + Json+ Css + JavaScript + JQuery + Ajax + PageHelper+ Maven等等。一、项目简述(+PPT演示文档)

毕业javaweb,一直在线,欢迎私信 378

Microsemi Libero系列教程(全网首发)

关于Libero IDE和Libero SoC Libero分为Libero IDE和Libero SoC,Libero IDE最新版本是v9.2 SP3(2016年4月4日)已经不再更新维护了,而Libero SoC是Libero IDE的升级版,官方推荐的开发工具,文中的Libero指的是Libero SoC。 Libero SoC Libero® SoC是Microsemi(美高森美)官方...

whik1194的博客 2万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Java web实习总结

此时在Ctrl+Shift+R搜CustomerAction.java, 打开文件搜,按url 后面的参数查找到对应的路径标识。但是ssh框架的话,有的页面可能会显示 以.do为结尾的路径,,,在数据库中增加该字段,并且在源代码BO(对应实体类)中也增加该字段,以及对于的get,set方法;对于chrome,没有“右键->属性”这个操作,可以“右键->检查”打开后台,点击“Network”,清屏;| | (在实习中更多的直接用到 DAO进行增删查改,当然还有Jquery sql,以及对应.xml文件)

Ajekseg的博客 1047

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Javaweb 10Ajax与jQuery

Ajax与jQuery,传统Web与Ajax的差异,Ajax简介,Ajax作用,如何使用Ajax?,Ajax工作流程,XMLHttpRequest,使用Ajax验证用户名,GET请求和POST请求的区别,对AJAX的总结,使用jQuery实现Ajax,$.ajax()简介,使用$.ajax()发送异步请求,JSON,定义JSON对象

TuSi_Cat的博客 1723

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Javaweb 11jQuery的Ajax交互扩展

Javaweb 11jQuery的Ajax交互扩展,jQuery的Ajax交互扩展,jQuery的Ajax方法,$.get()简介和用法,$.post()简介和用法,$.getJSON()简介和用法,使用Ajax直接加载页面内容,.load()简介和用法,基于表单数据的Ajax请求,使用jQuery提供的方法简化处理,FastJSON简介,FastJSON API,FastJSON API

TuSi_Cat的博客 1647

JAVAweb开发中Ajax教程

关于JAVAweb开发中Ajax教程 大家好,我是小白!已经很久没向大家分享我的学习内容,这次呢我讲给大家带来Ajax的教程。希望能给大家带来帮助,同时也巩固一下自己的学习! 一、Ajax是什么? AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。 二、为什么要使用它 通过异步模式,提升了用户体

Fixiaobai的博客 1624

Javaweb—Ajax与jQuery请求

浏览器页面在发送请求给服务器,在服务器处理请求的过程中,浏览器页面不能做其他的操作。只能等到服务器响应结束后才能,浏览器页面才能继续做其他的操作。Ajax: 全称Asynchronous JavaScript And XML,异步的JavaScript和XML。的技术,如:搜索联想、用户名是否可用的校验等等。的情况下,与服务器交换数据并。

Java技术加油站的博客 817

javaweb+jQuery ajax实例

jQuery的Ajax语法(附实例代码)什么是ajaxAJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。 AJAX 是一种用于创建快速动态网页的技术。 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分

rammus7的博客 5786
上一篇: JavaWeb(二)MVC设计模式
下一篇: JavaWeb(四)Listener && Filter
一朝游
博客等级 码龄8年 0粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值