处理重复请求controller的方法

简单 -> 复杂


1.页面重复点击请求。解决办法:用户点击一次后,js执行remove该元素的onclick属性。

2.页面超链接错误引起的重复请求。解决办法:使用debug模式查找到执行的js,找出错误的链接即可。


3.浏览器等内置重复请求。浏览器请求时,如果服务器长时间未返回,则可能会自动重复请求,从而造成多次发送requst,重复执行一个controller方法。

主要是针对需要异步请求时的解决方案。

解决方法:

1)最优推介,使用线程。在controller的方法中添加线程处理,将需要异步请求的、复杂的、需要时间过长的业务交给一个线程处理。然后快速返回提示信息到客户 端,从而避免客户端因为长时间没返回而重复发送请求。

例如:购物时,客户端下单时,服务端获取参数后,先传入到线程,然后由线程去处理即可,原有业务继续执行完返回给客户端,达到缩短请求响应时间的目的。

2)使用定时器处理。将参数插入指定表或队列后直接返回给客户端,业务处理则又定时器去处理。

3)通过ActiveMQ。将数据放入队列,又队列的响应端处理业务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值