国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁(yè) > 編程 > JSP > 正文

JSP開(kāi)發(fā)中在spring mvc項(xiàng)目中實(shí)現(xiàn)登錄賬號(hào)單瀏覽器登錄

2024-09-05 00:23:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

JSP開(kāi)發(fā)中在spring mvc項(xiàng)目中實(shí)現(xiàn)登錄賬號(hào)單瀏覽器登錄

在很多web產(chǎn)品中都需要實(shí)現(xiàn)在同一時(shí)刻,只能允許一個(gè)賬號(hào)同時(shí)只能在一個(gè)瀏覽器當(dāng)中登錄。通俗點(diǎn)講就是當(dāng)A賬號(hào)在
瀏覽器1當(dāng)中登錄了,此時(shí)在瀏覽器2中登錄A賬號(hào)。那么在瀏覽器1中的A賬號(hào)將會(huì)被擠出去,當(dāng)用戶操作瀏覽器1的頁(yè)面,頁(yè)面會(huì)

跳到登錄頁(yè)面,需要重新登錄。那么我們?cè)趺磳?shí)現(xiàn)這樣的功能呢?下面將給大家進(jìn)行詳細(xì)的介紹:

原理

用戶A使用賬號(hào)a在瀏覽器當(dāng)中登錄,然后用戶B在另外一臺(tái)電腦上的瀏覽器登錄賬號(hào)a,當(dāng)用戶B登錄驗(yàn)證成功時(shí),將會(huì)觸
發(fā)登錄監(jiān)聽(tīng)類,在監(jiān)聽(tīng)類當(dāng)中判斷出賬號(hào)a已經(jīng)被用戶A登錄,就把用戶A的賬號(hào)a 踢出去,此時(shí)當(dāng)用戶A操作頁(yè)面,頁(yè)面就會(huì)跳轉(zhuǎn)到登錄頁(yè)面。

代碼實(shí)現(xiàn)

在實(shí)現(xiàn)過(guò)程中,用到LoginListenner監(jiān)聽(tīng)類、login登錄方法以及在web.xml中配置監(jiān)聽(tīng)類

LoginListenner

當(dāng)?shù)卿洺晒螅騭ession中放入登錄成功的賬號(hào)對(duì)象loginuser,觸發(fā)LoginListenner中的attributeAdded事件,在這個(gè)事件中,
我們判斷存放賬號(hào)和session對(duì)應(yīng)關(guān)系的map中是否有當(dāng)前登錄的賬號(hào)的session,如果有我們就把該session從map中移除,同時(shí)注銷(xiāo)該session,然后把剛登錄的賬號(hào)和session放入map。

下面是代碼:

/**  *  * @ClassName: LoginListenner  * @Description: 登錄監(jiān)聽(tīng)類-處理同一時(shí)間只允許賬號(hào),單地點(diǎn)登錄  * @author mr_smile2014 605051929@qq.com  * @date 2014年11月12日 下午2:23:41  *  */ public class LoginListenner implements HttpSessionAttributeListener {   /**    * 用于存放賬號(hào)和session對(duì)應(yīng)關(guān)系的map    */   private Map<String, HttpSession> map = new HashMap<String, HttpSession>();    /**    * 當(dāng)向session中放入數(shù)據(jù)觸發(fā)    */   public void attributeAdded(HttpSessionBindingEvent event) {     String name = event.getName();      if (name.equals("loginuser")) {       User user = (User) event.getValue();       if (map.get(user.getUserName()) != null) {         HttpSession session = map.get(user.getUserName());         session.removeAttribute(user.getUserName());         session.invalidate();       }       map.put(user.getUserName(), event.getSession());     }    }   /**    * 當(dāng)向session中移除數(shù)據(jù)觸發(fā)    */   public void attributeRemoved(HttpSessionBindingEvent event) {     String name = event.getName();      if (name.equals("loginuser")) {       User user = (User) event.getValue();       map.remove(user.getUserName());      }   }    public void attributeReplaced(HttpSessionBindingEvent event) {    }    public Map<String, HttpSession> getMap() {     return map;   }    public void setMap(Map<String, HttpSession> map) {     this.map = map;   }  } 

登錄方法

對(duì)賬號(hào)、密碼、驗(yàn)證碼進(jìn)行判斷和驗(yàn)證,驗(yàn)證通過(guò)后把對(duì)應(yīng)的用戶對(duì)象放入到session中,代碼如下:

/**    * 登錄    *    * @param userName    * @param passWord    * @param code    *      驗(yàn)證碼    * @param type    *      登陸類型(商戶,操作員)    * @param model    * @return    */   @RequestMapping("/login")   public String login(String account, String passWord, String code,       Model model, HttpServletRequest request) {       //登錄驗(yàn)證并返回登錄成功用戶對(duì)象       User user=loginResult(userPhone, passWord, code, request);       //把用戶對(duì)象放入到session中,將會(huì)觸發(fā)LoginListenner中的attributeAdded事件       request.getSession().setAttribute("loginuser", user);              } 

web.xml配置

把LoginListenner監(jiān)聽(tīng)類,配置到web.xml文件中,這樣對(duì)session的監(jiān)聽(tīng)才生效。配置如下:

<!--一個(gè)用戶只能在一個(gè)主機(jī)登錄 -->   <listener>     <listener-class>com.test.listenner.LoginListenner</listener-class>   </listener> 

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JSP教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
gogo在线高清视频| www狠狠操| 青娱乐在线视频观看| 国产日韩欧美精品一区二区三区| 国产黄a三级三级三级av在线看| 亚洲欧美综合乱码精品成人网 | 国产精品剧情一区二区三区| 2020国产在线视频| 成 人免费视频播放| 亚洲天堂影院在线观看| 国产成人午夜| 在线天堂视频| 日本福利午夜视频在线| 久草亚洲一区| 国产午夜在线视频| 91嫩草在线播放| 黄色片视频在线观看| 激情六月丁香| 国产人成高清视频观看| 在线中文字幕观看| 午夜小视频在线| 国产视频三区| www.久草.com| 国产桃色电影在线播放| 国产小视频在线播放| 国产嫩草在线视频| 中文字幕中文字幕在线中高清免费版| 国产极品一区二区三区| 日本在线天堂| 国产三级视频在线看| 在线观看中文字幕| 狠狠色综合久久婷婷| av丝袜在线| 在线观看精品视频一区二区三区| 欧美人成在线观看网站高清| 一本大道五月香蕉| av资源网站在线观看| 国产在线高潮| 最近中文字幕mv2018在线高清 | 国产黄色小视频| 国产一二三区在线| 午夜视频在线看| 国产精品冒白浆免费视频| 超碰免费在线观看| 日本欧洲一区| www在线播放| 狠狠干在线视频| jizz在线免费观看| 国产中文字幕在线| 青青久草在线| 天堂在线免费av| 999在线视频| 在线播放www| 阿v免费在线观看| 国产精品99999| 免费视频二区| 国产成+人+亚洲+欧美+综合| 2021av天天| 国产一二三区在线视频| 老鸭窝av在线| 日本成人免费网站| а√天堂8资源在线官网| 国产99re66在线视频| 免费观看久久久久| 精品福利影院| av二区三区| 伊人色综合网| 亚洲大香人伊一本线| 欧美婷婷久久五月精品三区| 国产亚洲精品自在线观看| 尤物视频在线观看| 成年网站免费入口在线观看| 免费在线你懂的| 国产一级二级在线| 国产一级黄色片免费| 国产乱在线观看视频| 天天插天天色| 国产一级粉嫩xxxx| 国产视频三级在线观看播放| 国产青青草在线| av网址在线看| 777电影在线观看| 国产精品视频一区麻豆| 国产天堂在线观看| 秋霞av在线| 亚洲永久免费网站| 国产福利在线观看| 成人免费一区二区三区视频网站| 国产精品臀控福利在线观看| 日本免费一二区| 国产h色视频在线观看| 牛牛在线精品视频| 18成年在线观看| 免费在线超碰| 国产精品va在线观看视色| 久久国产精品久久久久久小说| 国产亚av手机在线观看| 亚洲v片在线观看| 最新黄网在线观看| 免费网站看黄yyy222| а√天堂8资源在线官网| 青青艹在线视频| 免费高清av| 麻豆视频国产| 阿v免费在线观看| 精品极品三级久久久久| 亚洲激情丁香| 国产美女自拍视频| 国产视频2区| 国产三区视频在线观看| 中文字幕av中文字幕| 91久久精品国产性色| 一级二级三级在线观看| 在线观看视频污| 老师我好爽再深一点的视频| 免费男女羞羞的视频网站中文字幕| 白浆爆出在线观看| 国产二区视频| 国产在线拍揄自揄拍视频| 五月天天在线| 日本一级理论片在线大全| 国产黄色片在线播放| 浪潮av一区| 一级二级在线观看| 国产9色视频| 国产三级免费观看| 国产精品臀控福利在线观看| av二区三区| 久草在线资源福利| free性亚洲| 超碰免费在线播放| 日韩亚洲一区中文字幕| 99热免费观看| 久久香蕉av| 五月天婷婷基地| 国产午夜在线| 精品a在线观看| eeuss影院网站免费观看| 国产不卡在线| 人人干人人插| 国产精品伦理一区二区三区| 国产激情视频一区二区| 91最新在线| 精品黄色免费中文电影在线播放 | 国产在线一二三| 国产在线第一页| 国产精品伦理一区二区三区| 欧美韩日国产| 精品176二区| 开心丁香婷婷深爱五月| 国产香蕉尹人视频在线| 麻豆视频国产| 国产偷激情在线| 精品麻豆国产| 国产一级免费黄色片| xxx国产精品| av男人的天堂网| 黄色av免费在线| 欧美婷婷久久五月精品三区| 天天操天天曰| 性色视频在线| 亚洲欧美中文字幕在线观看| 国产麻豆精品视频一区二区| 一级二级三级在线观看| 亚洲精品视频区| 99re热在线观看| 精品资源在线看| 国产一级免费在线观看| 国产一区二区三区四区尤物| 中文字幕人成高视频| 老鸭窝av在线| 国产一级又黄| 成年黄网站在线观看免费| 九九色在线观看| 人日人天天爽| 国产亚洲精品拍拍拍拍拍| 欧洲有码在线视频| 美女免费视频黄| 麻豆网站在线免费观看| 国产原创在线播放| www狠狠操| 日本aⅴ写真网站免费| 国产在线激情视频| 国产一二三区在线观看| 国产黄网站在线观看| 精精国产xxxx视频在线动漫| 国产日产一区二区三区| 高潮白浆视频| 国产区视频在线播放| 91啦中文在线| 国产三级视频在线播放线观看| av大片在线| 国产特级嫩嫩嫩bbb| 天堂在线亚洲| www.香蕉视频在线观看| 91在线视频免费看| 国产精品一卡二卡三卡| 久久精品蜜桃| 免费在线播放av| 麻豆电影传媒二区|