JavaWEB(AJAX)

1.JSON使用

对象字符串,满足定义规则的字符串。

1.1 前端JSON格式字符串的转换使用

    JavaScript——JSON.stringify(o);JSON.parse(jsonStr);
    jQuery——$.parseJSON

1.2 后端JSON格式字符串的转换使用

    jackJSON
    fastJSON

2.异步与同步

2.1 同步

一个人同一时间只能做一件事情,只有一件事情做完,才能做另一件事情。

2.2 异步

一个人事情做了一半,转而去做其他事情,当其他事情做完以后,再回过头做之前未完成的事情。

3.jQuery之AJAX使用

 原生js写ajax请求(写起来很复杂,而且需要考虑浏览器版本),而jQuery将这些复杂的业务逻辑进行封装处理,使用非常简单。

3.1 概述

     Ajax(Asynchronous JavaScript and XML) 异步JavaScript和XML
    核心:Ajax就是能够做到局部刷新!

 3.2 方法

    ** ajax()
    ** get()
    ** post() 

 3.3 语法

	$.ajax({          
       	 	url:"发送请求(提交或读取数据)的地址", 
        		dataType:"预期服务器返回数据的类型",  
        		type:"请求方式", 
        		async:"true/false",
        		data:{发送到/读取后台(服务器)的数据},
         		success:function(data){请求成功时执行},      
         		error:function(){请求失败时执行}
	});
	$.post(url, [data], [callback], [type]);
	$.get(url, [data], [callback], [type]);

搜索自动补全

		<script type="text/javascript">
		$(function(){
			//隐藏
			$("#context").hide();
			//获取输入框  键盘按下事件
			$("input").keyup(function(){
				//获取输入框的值
				let keywords = $(this).val();
				if(keywords){
					$("#context").show();
				}else{
					$("#context").hide();
					return;
				}
				//将关键词通过ajax请求传输到servlet
				$.post("autoFull.do",{"keywords":keywords},function(data){
					//console.log("result = "+data);
					//获取结果
					let list = $.parseJSON(data);
					if(list.length===0){
						$("#context").show();
						$("#context").css("height","20px");
						$("#context").html("无记录");
					}else{
						if(list.length>=10){
							$("#context").css("height","200px");
						}else{
							$("#context").css("height",(20*list.length)+"px");
						}
						let str= "";
						$.each(list,function(index,obj){
							//console.log(index,obj,obj.dname);
							str+="<div onclick = \"divBtn('"+obj.gname+"')\" onmouseout = \"this.style.background=''\" onmouseover = \"this.style.background='red'\">"+obj.gname+"</div>";
						})
						$("#context").html(str);
					}
					
				});
				
			}); 
		});
		
		function divBtn(dname){
			$("#keywords").val(dname) 
			$("#context").hide();
		}

		</script>

Servlet

@WebServlet("/autoFull.do")
public class AutoFullServlet extends HttpServlet {

	// 实例化
	IGoodsBiz igb = new GoodsBizImpl();

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		super.doGet(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("请求成功");

		// 编码
		req.setCharacterEncoding("utf-8");
		resp.setCharacterEncoding("utf-8");
		resp.setContentType("text/html;charset=utf-8");

		// 获取参数
		String keywords = req.getParameter("keywords");

		List<Goods> queryGoodsAll = igb.queryGoodsAll(keywords);

		// 获取out
		PrintWriter out = resp.getWriter();

		// 实例化jackJSON工具
		ObjectMapper mapper = new ObjectMapper();
		String result = mapper.writeValueAsString(queryGoodsAll);

		out.write(result);
		out.flush();
		out.close();
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaWeb图书管理系统中,使用了AJAX技术实现了一些功能。AJAX(Asynchronous JavaScript And XML)是一种在Web应用中,无需刷新整个页面的情况下,通过异步方式与服务器进行通信的技术。它能够动态地更新页面内容,提升用户体验。 在该图书管理系统中,AJAX被广泛应用于以下功能: 1. 用户查询功能:用户可以通过多条件和模糊查询来查找图书。使用AJAX可以在用户输入查询条件时,实时向服务器发送请求并获取匹配结果,然后动态更新页面显示的图书列表。这样用户无需刷新整个页面就可以得到查询结果。 除了AJAX,还使用了其他技术来构建该系统,如Intellij IDEA作为开发工具,Java语言和HTML、JavaScript来编写代码,MySQL数据库存储数据,Tomcat作为web服务器提供服务,使用了MVC设计模式和MyBatis、jQuery、Bootstrap等框架来实现功能。这些技术和工具的结合使得该图书管理系统具有丰富的功能和用户友好的界面。 另外,图书管理系统还具有其他的功能,如用户管理、图书管理、借还管理、出版社管理、系统管理、系统监控、数据分析等。系统管理员和图书馆管理员可以对这些功能进行操作,而读者则可以进行图书查询和借阅操作。 总的来说,AJAXJavaWeb图书管理系统中用于实现用户查询功能,通过异步方式与服务器通信,动态更新页面内容。该图书管理系统还拥有丰富的功能和使用了多种技术和框架来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值