java服务器处理订单回调采用何种方法好?

java服务器处理订单回调采用何种方法好?,第1张

回调的话,服务器是不用能用线程处理的,原因是服务器根本不知道客户端有没有关闭浏览器等等,但是可以通过http长连接来实现,或者用ajax轮询的方式实现

不过现在有现成的框架dwr,楼主可以去看看,用法挺简单的,原理是用javascript与java互相调用

回传

一. 使用QueryString变量

QueryString是一种非常简单也是使用比较多的一种传值方式,但是它将传递的值显示在浏览器的地址栏中,如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。

Response.Redirect( "target.aspx?param1=hello&param2=hi ")

接收页面: string str = Request.QueryString["param1"]

string str1 = Request.QueryString["param2]

二.使用Cookie对象变量(Cookie是存放在客户端的)

设置Cookie: HttpCookie cookie_name = new HttpCookie("name")

cookie_name.Value = Label1.Text

Reponse.AppendCookie(cookie_name)

获取Cookie:

string name= Request.Cookie["name"].Value.ToString()

三. 使用Session变量(session是存放在服务器端的)

设置Session: Session["name"] ="hello"

获取Session: string name = Session["name"].ToString()

四.使用Application 对象变量

Application对象的作用范围是整个全局,也就是说对所有用户都有效。此种方法不常使用,因为Application在一个应用程序域范围共享,所有用户可以改变及设置其值,故只应用计数器等需要全局变量的地方。

设置Application : Application["name"] = ="hello"

获取Application : string name = Application["name"].ToString()

回调

起始,起始,只是顺序执行,然后抽象出过程函数,这个抽象出来的东西是阻塞的,肯定要得到结果才处理。

然后,然后,出然了回调,不阻塞,直接返回,约定结果通过另一个方法提交返回。这个过程就是回调。

class A

{

private B b

func fun1()

{

    b.do_something()

}

func fun2(Result r){}

}

Class B

{

   func do_something{

       // in other threads

       ....

       delegate.func2() // call back

   }

}

增加一个死循环,然后break条件是为上传成功。即在获取网络状态或者WiFi连通条件下上传,上传完毕把条件改为false自然就退出死循环。为了性能可以适当在死循环里休眠一段时间再去判断状态,然后6的话就上传。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/113531.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-12
下一篇2023-03-12

发表评论

登录后才能评论

评论列表(0条)

    保存