ajax结合java,ajax技术应用详细分析(后端java与客户端请求的结合)

Ajax 技术应用

先回看 模态框的使用

js比较薄弱

628af4a152d0ef3f14fa9754c249d4f4.png

如上 比如这部分

加粗样式

cf2225a588b5c9112dc1951d787d8bb5.png

1956f63cdb44b50733ec6a70863cd9c4.png

如下 是BOM窗口对象

3eccd99cc702c3f110703a0ad84b7349.png

107575ff8c270c64a544711e6a547cb9.png

**

js最薄弱 建议在浏览器练习

** confirm方法

9a12f54de7b95ee46c5500a57f383026.png

3fe1246e1874723b51fe58794067b4b6.png

c64c52bd5fe078b2165c4e90da4fa53a.png

跳转练习

1c0cb1e2f9c181fbcd3509e0b3bfd95b.png

新疑问:怎么分辨js,jQuery和jsp代码 与其实现应用

f8b42cf6f1837e1a327fd66d0014ec1d.png

180c8e1fadc3221d737d1d54056db133.png

插入小点

8ef528b5e0a092dcec4c24c2f99963af.png

**

延申说法 client客户端发送请求 (客户端层面)是client前端页面层

**

bbf9d2e459f710308eb6fb29694913d3.png

**

重要知识点补回来 提要:冒泡排序和正则表达式(可能需要用到js)

**

1195cfd4ec1d37cf3382ce9e0a850cc8.png

762fa8e9d46d5996bb80ad3161450880.png

用于初始化

506b895a7647edb3cb455767a3f9c85f.png

cb4f5fa45e61ee6ae1800eef39f2dc0f.png

目的 为了规范日期

66dde2ede532d286ff5361a9e549dd36.png

引入

93c3f0ecc71128b41471ac8a0c1a6f77.png

ed09d1be0ad5000bece7c0e084013584.png

自己学着加入一个新的js功能 下拉 日期datetimepicker

8ff3faef4a098b8cc86ab958b5ad30ff.png

6395521f66b33052b816ab0ff57fe657.png

可能存在的问题

630a502e1911decebabbc6e78982f3f7.png

今晚学着自己去加入 失败了 再看码云上的源码 试试脱离老师写代码

新要求

结束

现在看Hi现场源码

新功能

错过了下 只能核对码云源码了

063d43468955aae2a39c94421dcd3631.png

7c7e9b41500a2583dfd6083afb0d4fff.png

a5a87a54af34d4625ff1c20886138a5e.png

实现state状态超时变成0 变成失效

1.dao层

数据层

f7aded810ad8235fc0d82399ee943c96.png

2.Service业务逻辑层

400102cf6e9c9c964272756a28b89511.png

b00ba5e07690d2d0f1aba0b85a5b0812.png

24eb172cc5104e55f26c8228e9d125b9.png

ace1e254bb229b8fd6f021aec157a3d7.png

72edcaf2c2752c256cf1a2c770d68570.png

**

自己开始导包

**

7780762cc359e5b1722919255da2327a.png

添加state状态 过时变成0 失效

1.controller层 html 客户端层面

controller无改动

html

Insert title here

The Activity Page

创建活动
titleCategoryStartTimeEndTimeStateOperation
delete

2.dao层与mapper

4f24e7924ef614803ae8dd06333277c4.png

@Update("update tb_activity set state=0 where id=#{id}") int updateState(Long id);

e89543f4a565db50da440ff47f0f4439.png

insert into tb_activity (title,category,startTime,endTime,remark,state,createdUser,createdTime) values (#{title},#{category},#{startTime},#{endTime},#{remark},#{state},#{createdUser},now())

3.service层

接口无变动

8b05b3623e7205f16062ce8759354cd9.png

doSaveActivity

96ec2a261dfe82ca3a064d5ff55408de.png

@Override

public int saveActivity(Activity entity) { int rows=activityDao.insertObject(entity); System.out.println("saveActivity.threadName="+Thread.currentThread().getName()); //??????

//开启活动倒计时(活动到了结束时间应该将其状态修改为0) //方案:(自己尝试) //1)Java 官方:

//1.1)Timer

//1.2)ScheduledExecutorService

//2)借助第三方的任务调度框架(任务调度框架,quartz) //方案1:Timer应用

//1.1构建Timer对象

Timer timer=new Timer();//此对象可以负责去执行一些任务(这个对象内置一个线程和一个任务队列) //1.2启动线程执行任务

timer.schedule(new TimerTask() {//TimerTask为任务

@Override

public void run() {//一旦调用此任务的线程获得了CPU就会执行这个任务的run方法

System.out.println("updateState.threadName="+Thread.currentThread().getName()); System.out.println("执行任务..."); activityDao.updateState(entity.getId()); } }, entity.getEndTime());//按指定时间执行任务. return rows; }

4.html页面看效果

pojo

activity.java

修正日期格式

e8b82e54c1e3e3c17cdb18a9dac82131.png

@DateTimeFormat(pattern = "yyyy-MM-dd")

这里不对 先注释了

修改

645babe5ade7e5d8bf8c0f0cca4e03d6.png

//Spring MVC基于@DateTimeFormat指定的日期格式接收客户端提交数据,假如没有指定默认为yyyy/MM/dd

@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") private Date startTime; /** 活动结束时间 */

@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")

页面效果

00844f00f0f65d17a094da031305cad0.png

41bb5e6bf1f727a3abc76bccd81242a2.png

如上两图 以实现 晚上自己对代码复刻一遍

7e0ed5837c73926fdaedca71b2710201.png

自己操作一下

7f404750cba4e0ceb5ca5b87330f6d9d.png

030dbc50dba0c9dd83831cb5347bbebf.png

有注解后 由系统底层去赋予相应的东西

118d62e8c6ea9a7512bb5887cb934d25.png

Ajax

f94b2b923fec1eb031483c22207b3026.png

b576a32b9dcacd8f8bda2bb449785fdb.png

3935bc7aa725edd4c34c3e31fb527aff.png

Ajax入门案列

ddaad6d9fd8c174db4b6d3f23e49e0cf.png

5d7f189cea789c74cf435fff9aaff825.png

d99d3fd8439e87db7f963c761222d5b2.png

44ca6614c19f9eddab40e43e532750fb.png

eb53bb2a8ca354f953dcc6d911dba6be.png

85d6c36b3b7649dc14a830cbf7c64f9d.png

303e4c035ed981ee30e19fda42bdf675.png

总结 自己回看

31cd94ece5788e1f5273547050dd1c8d.png

开始创建项目

**AJAX相关

e7980a244bc94e47925a732a8f0e79af.png

f713f5708466137964f91afc60c2df31.png

467750265b4d28f216d2b2ed7064a5e3.png

13db6dc923dd3d877247e5acd3adf592.png

da3373b0f17a54daa19dfdb2a3cdd560.png

加js函数

d5cba00bb0d356c9f8b5fb4074cd15b9.png

步骤

9afd74b8d6f869f21efe3b6e055348e8.png

4dc95eee0b93590da2773a78c793bb94.png

2.创建controller层

5331fd165c58102a936e4882c70420a3.png

90efd50783cc4cc4a75226476ff7d575.png

错误示范

7de7c2f565dc9a68a96d452d73de0edb.png

对应回客户端层

523905d5be3ec36d7692b2804897bbd9.png

ffd721be3c248d7355f86543e14988fb.png

3.页面 客户端层面实现

4c900734ad5bd5e33890ac4296365f6e.png

041386784678a2e7adc284e0d211350c.png

插入小点 span

06a6a5e7f1aa19697e45c3a543706ad9.png

4.再次深入拓展

原理

ffd721be3c248d7355f86543e14988fb.png

客户端层

62f519539a00cb06d6b80068680b579b.png

controller层

2f0e37da911673c545af00cd5954ae16.png

第三步 建立连接处的同步与异步处理

1e43cf6ca1c33b551918038d024ca5c9.png

09c6a4df18fffbb1b8aa928156f8c1dd.png

9ceca09ec48b194b43f12c3ae3a42c06.png

实现了按钮与span框的异步更新

controller层的模拟休眠处理

3秒耗时操作

3ec3a50208f504bbe1fad25db4dfb8f4.png

(1)异步处理 true

a0af47f70c63ee02c80258047b7d60bf.png

ba38a9133ea5c6a82e0d24af4384ffdb.png

938b09444b2539099a749de312bd3f5d.png

不同线程 看谁先打印 console在主线程

c0c3c2396263e198d94ea3aaf2bccd76.png

5d792e94d86f79693b86958bbd541f0a.png

如上图 凸显了异步操作

(2)同步处理 false

a0d2bf70c5d4be9934e69d9406ebebc3.png

7bb92588eb8b46b0ac70ed87ea20595e.png

结果

9e71724dbfb1b056ea06100675859b2b.png

baebbc670a5116cde959a0555fb43d78.png

上面是同步和异步的点!!!

本文地址:https://blog.csdn.net/qq_43765881/article/details/107854432

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值