Java用Cookie限制點贊次數(shù)(簡版)
本文簡單利用Cookie技術來簡單的限制點贊次數(shù),并不能杜絕游客的惡意點贊。
好了,不啰嗦了,先來看看基礎知識:
ajax+springMVC+cookie
中間框架你隨意,樓主這里用了springMVC,只要取得HttpServletRequest和HttpServletResponse你就可以操作cookie啦
什么是Cookie
cookie 是存儲于訪問者的計算機中的變量。每當同一臺計算機通過瀏覽器請求某個頁面時,就會發(fā)送這個 cookie。你可以使用 JavaScript 來創(chuàng)建和取回 cookie 的值。
第2篇閱讀中提到了cookie存放在http的request中,這為我們在java中操作cookie提供了可能
cookie主要用途編輯
服務器可以利用Cookies包含信息的任意性來篩選并經(jīng)常性維護這些信息,以判斷在HTTP傳輸中的狀態(tài)。Cookies最典型的應用是判定注冊用戶是否已經(jīng)登錄網(wǎng)站,用戶可能會得到提示,是否在下一次進入此網(wǎng)站時保留用戶信息以便簡化登錄手續(xù),這些都是Cookies的功用。另一個重要應用場合是“購物車”之類處理。用戶可能會在一段時間內(nèi)在同一家網(wǎng)站的不同頁面中選擇不同的商品,這些信息都會寫入Cookies,以便在最后付款時提取信息。
基本了解了Cookie,我們來看看java怎么操作cookie
建立一個無生命周期的cookie,即隨著瀏覽器的關閉即消失的cookie,代碼如下:
HttpServletRequest request HttpServletResponse response Cookie cookie = new Cookie("cookiename","cookievalue"); response.addCookie(cookie);
建立一個有生命周期的cookie,可以設置他的生命周期
cookie = new Cookie("cookiename","cookievalue"); //此方法接收一個以秒為單位的整數(shù),該整數(shù)表示cookie的最大生存期。負值表示當關閉瀏覽器時,該cookie將被清除,表示必須立即清除該cookie。 cookie.setMaxAge(); //設置路徑,這個路徑即該工程下都可以訪問該cookie 如果不設置路徑,那么只有設置該cookie路徑及其子路徑可以訪問 cookie.setPath("/"); response.addCookie(cookie);
讀取cookie,讀取cookie代碼如下
Cookie[] cookies = request.getCookies();//這樣便可以獲取一個cookie數(shù)組 for(Cookie cookie : cookies){ cookie.getName();// get the cookie name cookie.getValue(); // get the cookie value }
springMVC具體限制操作
/** * 點贊操作 * * @param comment * @param request * @param response * @return */ @RequestMapping(value = TalkingConst.PATH_LOVE, method = RequestMethod.POST) public @ResponseBody Map<String, Object> love(Comment comment, HttpServletRequest request, HttpServletResponse response) { Map<String, Object> map = new HashMap<String, Object>(); // 根據(jù)cookie的name取的cookie getCookieByName()方法可以參考代碼塊上的鏈接處的封裝 Cookie cookie = getCookieByName(request, comment.getCommentId() + ""); // 判斷cookie是否為空 if (cookie != null) { // cookie不為空,提示已經(jīng)贊過 // 前臺傳值 map.put(TalkingConst.ATTRIBUTE_MSG, "您已贊過,請休息一下~"); map.put(TalkingConst.ATTRIBUTE_NAME_RESULT, Boolean.FALSE); } else { // 數(shù)據(jù)庫操作,點贊個數(shù)加 commentService.love(comment); // 創(chuàng)建cookie addCookie()方法可以參考代碼塊上的鏈接處的封裝 addCookie(response, comment.getCommentId() + "", "", ); map.put(TalkingConst.ATTRIBUTE_NAME_RESULT, Boolean.TRUE); } return map; }
至此,簡單的cookie限制點贊次數(shù)基本完成。前臺的代碼沒放因為每個點贊的樣式都不大一樣。
以上所述給大家分享了Java用Cookie限制點贊次數(shù)的相關知識,希望對大家有所幫助。
相關文章
java生成字母數(shù)字組合的隨機數(shù)示例 java生成隨機數(shù)
這篇文章主要介紹了java生成字母數(shù)字組合的隨機數(shù)的示例,大家參考使用吧2014-01-01使用Java7的Files工具類和Path接口來訪問文件的方法
下面小編就為大家分享一篇使用Java7的Files工具類和Path接口來訪問文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-11-11SpringBoot+log4j2.xml使用application.yml屬性值問題
這篇文章主要介紹了SpringBoot+log4j2.xml使用application.yml屬性值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12Java數(shù)據(jù)庫連接池之c3p0簡介_動力節(jié)點Java學院整理
這篇文章主要為大家詳細介紹了Java數(shù)據(jù)庫連接池之c3p0簡介的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08Mybatis特殊字符轉(zhuǎn)義查詢實現(xiàn)
本文主要介紹了Mybatis特殊字符轉(zhuǎn)義查詢實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02