實(shí)現(xiàn)流程
1:打開二維碼登錄網(wǎng)頁(yè)index.html
2:index.html調(diào)用GetQrCodeServlet
3:GetQrCodeServlet干2件事
a:生成隨機(jī)的uuid,是一個(gè)唯一標(biāo)識(shí),該標(biāo)識(shí)貫穿整個(gè)流程
b:生成二維碼圖片,二維碼信息
4:index頁(yè)面展示二維碼
5:index頁(yè)面調(diào)用LongConnectionCheckServlet進(jìn)行長(zhǎng)連接輪詢操作,參數(shù)為uuid
6:LongConnectionCheckServlet只干1件事
a:拿到uuid后循環(huán)檢查loginUserMap中uuid是否不為null。
7:如果為null則代表沒有登錄,index.html將繼續(xù)進(jìn)行輪詢
ps: LongConnectionCheckServlet 一個(gè)長(zhǎng)連接請(qǐng)求檢測(cè)登錄狀態(tài)loginUserMap 是一個(gè)靜態(tài)的map結(jié)構(gòu)的登錄池,uuid為key , 登錄信息為value~