关于ajax 的案例 简单的运用

ajax//异步请求;
需求:
当我们在注册页面上输入用户名之后,点击下一个地方,去数据库中查询有无该用户名
最后提示信息
技术分析:
ajax
/
ajax 入门程序
步骤:
1.创建一个核心对象 XMLHttpRequest;
2.编写一个回调函数;
3.编写请求方式 和请求路径;
4.发送请求(send)操作;

ajax-api详解
常用属性:
onreadystatechange :检测readyState状态的改变
readyState:ajax核心对象的状态;
0:核心对象的创建
1:调用了open方法;
2:调用了send方法;
3:部分响应已经生成()
4:响应已经完成
常用方法:
//
步骤分析:
1.数据库和表
2.新建项目和表;
导入jar包 工具类,配置文件
3.新建一个注册页面和表单 在用户名上输入用户名,数去焦点
发送ajax请求, 将输入的值发送到servlet
4.checkUsername4Ajax;
接收用户名;
调用service 完成查询操作 返回一个用户
判断user 是否为空;
若为空写1:代表可以使用
若不为空 写0
5.在表单接收响数据
判断一下:
若为0: 则提示用户名已经被占用

//
案例二: jquery的ajax 判断用户是否被占用
技术分析:
jquery中的ajax
//
四种:
了解:jquery对象.load(url,params,function(数据),type);
type:返回的数据格式;(type 多用json)
掌握: . g e t ( u r l , p a r a m s , f u n c t i o n ( 数 据 ) , t y p e ) u r l : 请 求 的 路 径 p a r a m s : 请 求 的 参 数 , 参 数 为 k e y / v a l u e 的 形 式 k e y = v a l u e f u n c t i o n : 回 调 函 数 参 数 就 是 服 务 器 发 送 回 来 的 数 据 t y p e : 返 回 内 容 的 格 式 x m l , h t m l , s c r i p t , j s o n , t e x t , d e f a u l t 。 以 后 用 : " j s o n " 掌 握 : .get(url,params,function(数据),type) url:请求的路径 params:请求的参数,参数为 key/value 的形式key=value function:回调函数 参数就是服务器发送回来的数据 type: 返回内容的格式 xml,html,script,json, text,_default。以后用:"json" 掌握: .get(url,params,function(),type)urlparams:key/valuekey=valuefunction:type:xml,html,script,json,text,default:"json".post(url,params,function(数据),type)
发送post请求的ajax;
理解:
$.ajax([选项]);
选项的可选的值
url:请求的路径
type:请求的方式
data:发送到服务器的数据
success:fn 成功以后的回调;
error : fn 异常以后的回调;
dataType:返回内容格 经常使用 json
async: 设置是否是异步请求

//
步骤分析:
将原生的ajax 修改成jquery的ajax
//
案例: 模仿百度搜索
需求:
在一个文本框中 输入一段内容 keyup 的时候发送一个ajax请求,去数据库中查找相应的内容
步骤分析:
1.表
creat table keyword(
id int primary key,
kw varchar(20)
);

2.页面
3.在文本框输入内容,  keyup 的时候,发送ajax请求,将值传送到后台
4.显示内容;

//
案例分析:省市联动
需求:
先有一个省的下拉选择
根据一个省的下来选,从而动态的下啦 选中的所有市

步骤分析:
	1.表
	2.页面  两个下啦选,省分的下来选一般是固定的,
	3.当省分改变的时候,获取省分的信息,发送一个ajax请求,去省的表查询相应的所有市 ,加载到市的下来选中
	4.SelectProServlet   SelectCityServlet 

//
JSON :轻量级的数据交换格式;
json:
格式1: value可以为任意值
{“key”:value ,“key1”:value}
格式2: e1也可以为任意值
[e1,e2]
jsonlib工具类:
让我们对象转换为json数据
1.导入jar包
· 2.使用api
JSONArray.fromObject(对象) 数组和List
JSONArray.fromObject(对象) bean和map

///
获取jquery对象;
$(“选择器”) jquery(“选择器”)

jQuery 对象>>dom对象;
方式一:
jQuery 对象.get(index);
方式二:
jQuery 对象[index]

jQuery 对象<<dom对象;
  $(dom对象)
  页面载入:
	$(function(){})  
派发事件
   jquery对象.事件(function(){...})
 选择器:
	#id值   .class值 标签名  [属性]   [属性='值']		

//
listener (了解) 监听器
filter 过滤器;
//
listener:
监听器:
作用:
监听 web 中的几个对象 域对象;
ServletContext
ServletRequest
HttpSession
监听内容:
监听三个对象的创建和销毁
监听三个对象属性的变化
监听session总的javaBean的状态;

//
案例一:
分页展示
案例二:
首页上的热门商品和最新商品
点击首页的时候,查询分类信息
步骤分析:
1.创建分类表
2.indexservlet 查询分类信息
3.调用CategoryService().findAll() 返回值是list;

案例三:
查询商品的详情
案例四:
分页展示商品

/

技术:
	json	
	包含
	ajax

/
步骤分析:
categoryServlet
2.findAll 方法来查询所有
list通过Json 返回到页面上
3.在head.jsp 加载成功之后发生一个ajax请求
$.{url,params,function(data){},“json”}

/
常见的缓存技术:
ehcache; hibernate底层使用了ehcache
memcache;
redis;
ehcache使用步骤
导入jar包
编写配置文件;
3.使用api
获取数据先从缓存中获取
若获取的值为空
再去查询数据库
将数据放入缓存中;

///
扩展:浏览记录
技术分析:
cookie
步骤分析:
进入一个商品详情页面需要记录当前商品id

	在getById  这个方法中处理cookie
	规定:  cookie 的名称: ids  value 2-1-3
	1.获取指定的cookie
		CookieUtils.getCookieByName();
			通过request.getCookies() 获取cookie 数组然后遍历cookie 通过cookie 的名称判断
					if("ids",equals(cookie.getName)){return cookie};
	2.判断cookie是否为空
		若不为空 : 获取value值
			继续判断value 值中有无该商品的id(将字符串切割转成list)
				若有:
					先移除,然后将商品的id放入list最前面
				若没有:
					继续判断list的长度是否>=3;
						若>=3 移除最后一个,将当前商品的id 放入id 的最前面
						若<=3  将当前商品的id 放入id 的最前面
					最后将List变成字符串即可
					
				若为空:
					将当前商品的id  放入ids即可
					
				Cookie c=new Cookie("ids",ids);
				c.setMaxAge(int 秒);
				c.setPath(request.getContextPath+"/")'
				
				response.addCookie(c);
			
				在product_list.jsp 需要将cookie 里面的商品展示出来
					1.需要再jsp中获取指定的cookie
					2.判断cookie 是否为空;
						若不为空 :获取value=1-3-2;
						切割字符串获取每一个商品的id

///
案例1:
将商品添加到购物车:
在商品详情的页面上,输入购买数量,点击加入购物车
涉及实体:
购物车 购物车项 商品
购物车中的内容
购物车项的map集合(map<商品的id ,购物车项>)
总金额

		add2Cart(购物车项)
		removeFromCart(String 商品的id)
		
		清空购物车:clearCart();
		
	购物车中的购物项
		商品对象
		购买数量
		小计

案例2:
对购物车进行操作(删除,清空购物车)
案例3:
生成订单

//
1.商品详情页面 ,输入购买数量,点击加入购物车
/store600/cart?method=add&pid=?&count;
2.在cartServlet中的add方法操作
先获取两个参数 pid 和count
拼装CartItem
Product
count—传递过来
suctotal 计算

3.获取购物车 调用add2Cart(cartitem)		
4.页面跳转
	重定向 /jsp/store600
用到了域对象 只能用请求转发;
用到了站外资源  只能用重定向;

int count=Integer.parseInt(request.getParameter(“count”)); //获取到网页中int值 改变类型

///
获取浏览记录

技术分析: cookie
进入一个商品的详情页面需要记录当前商品的ID;

需要在getById 这个方法 中处理cookie
规定cookie 的名称ids 2-1-3;
1.获取指定的cookie
CookieUtils1.getCookieByName();
内部实现:
通过request.getCookes()先获取cookie数组,然后遍历cookie 通过cookie的名称判断
if(“ids”.equals(cookie.getName())){return cookie;}
2.判断cookie是否为空


案例4:
需求:
在购物车页面上,有一个提交订单,点击的时候,将用户购物车中的商品添加到购物车;

实体:
	用户
	订单
	订单项
	商品
创建表:

创建bean:
需要在order 实体中提供 user对象和list
需要在orderItem 实体中提供 product 和order对象;

步骤分析:
	点击生成订单:
		/store/order?method=add
	创建OrderServlet 
	  add 方法中:
	  1.判断用户是否登录
	  2.封装数据;
			oid;   随机
			ordertime;  当前时间
			total  购物车中的总金额
			User;  session 中的当前用户
			name;  
			address
			telephone;
			订单项的集合  List<OrderItem> 
			   创建OrderItem 添加到list中
			     购物车中CartItem;
	  3.调用service方法 orderService 生成订单
				开启事物
	            先往订单表中插入一条数据
				往订单项表中插入n条数据
				提交事务

/
	第一步:
		网页上的加入购物车
		商品id -> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值