最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java用Cookie限制點(diǎn)贊次數(shù)(簡(jiǎn)版)

 更新時(shí)間:2016年02月03日 11:44:22   投稿:mrr  
最近做了一個(gè)項(xiàng)目,其中有項(xiàng)目需求是,要用cookie實(shí)現(xiàn)限制點(diǎn)贊次數(shù),特此整理,把實(shí)現(xiàn)代碼分享給大家供大家學(xué)習(xí)

本文簡(jiǎn)單利用Cookie技術(shù)來(lái)簡(jiǎn)單的限制點(diǎn)贊次數(shù),并不能杜絕游客的惡意點(diǎn)贊。

好了,不啰嗦了,先來(lái)看看基礎(chǔ)知識(shí):

ajax+springMVC+cookie

中間框架你隨意,樓主這里用了springMVC,只要取得HttpServletRequest和HttpServletResponse你就可以操作cookie啦

什么是Cookie

cookie 是存儲(chǔ)于訪問者的計(jì)算機(jī)中的變量。每當(dāng)同一臺(tái)計(jì)算機(jī)通過瀏覽器請(qǐng)求某個(gè)頁(yè)面時(shí),就會(huì)發(fā)送這個(gè) cookie。你可以使用 JavaScript 來(lái)創(chuàng)建和取回 cookie 的值。

第2篇閱讀中提到了cookie存放在http的request中,這為我們?cè)趈ava中操作cookie提供了可能

cookie主要用途編輯

服務(wù)器可以利用Cookies包含信息的任意性來(lái)篩選并經(jīng)常性維護(hù)這些信息,以判斷在HTTP傳輸中的狀態(tài)。Cookies最典型的應(yīng)用是判定注冊(cè)用戶是否已經(jīng)登錄網(wǎng)站,用戶可能會(huì)得到提示,是否在下一次進(jìn)入此網(wǎng)站時(shí)保留用戶信息以便簡(jiǎn)化登錄手續(xù),這些都是Cookies的功用。另一個(gè)重要應(yīng)用場(chǎng)合是“購(gòu)物車”之類處理。用戶可能會(huì)在一段時(shí)間內(nèi)在同一家網(wǎng)站的不同頁(yè)面中選擇不同的商品,這些信息都會(huì)寫入Cookies,以便在最后付款時(shí)提取信息。

基本了解了Cookie,我們來(lái)看看java怎么操作cookie

建立一個(gè)無(wú)生命周期的cookie,即隨著瀏覽器的關(guān)閉即消失的cookie,代碼如下:

HttpServletRequest request 
HttpServletResponse response
Cookie cookie = new Cookie("cookiename","cookievalue");
response.addCookie(cookie);

  建立一個(gè)有生命周期的cookie,可以設(shè)置他的生命周期

cookie = new Cookie("cookiename","cookievalue");
//此方法接收一個(gè)以秒為單位的整數(shù),該整數(shù)表示cookie的最大生存期。負(fù)值表示當(dāng)關(guān)閉瀏覽器時(shí),該cookie將被清除,表示必須立即清除該cookie。
cookie.setMaxAge();
//設(shè)置路徑,這個(gè)路徑即該工程下都可以訪問該cookie 如果不設(shè)置路徑,那么只有設(shè)置該cookie路徑及其子路徑可以訪問
cookie.setPath("/");
response.addCookie(cookie);

讀取cookie,讀取cookie代碼如下

Cookie[] cookies = request.getCookies();//這樣便可以獲取一個(gè)cookie數(shù)組
for(Cookie cookie : cookies){
cookie.getName();// get the cookie name
cookie.getValue(); // get the cookie value
}

springMVC具體限制操作

/**
* 點(diǎn)贊操作
*
* @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)贊過
// 前臺(tái)傳值
map.put(TalkingConst.ATTRIBUTE_MSG, "您已贊過,請(qǐng)休息一下~");
map.put(TalkingConst.ATTRIBUTE_NAME_RESULT, Boolean.FALSE);
} else {
// 數(shù)據(jù)庫(kù)操作,點(diǎn)贊個(gè)數(shù)加
commentService.love(comment);
// 創(chuàng)建cookie addCookie()方法可以參考代碼塊上的鏈接處的封裝
addCookie(response, comment.getCommentId() + "", "", );
map.put(TalkingConst.ATTRIBUTE_NAME_RESULT, Boolean.TRUE);
}
return map;
}

至此,簡(jiǎn)單的cookie限制點(diǎn)贊次數(shù)基本完成。前臺(tái)的代碼沒放因?yàn)槊總€(gè)點(diǎn)贊的樣式都不大一樣。

以上所述給大家分享了Java用Cookie限制點(diǎn)贊次數(shù)的相關(guān)知識(shí),希望對(duì)大家有所幫助。

相關(guān)文章

  • Java中的Semaphore源碼分析

    Java中的Semaphore源碼分析

    這篇文章主要介紹了Java中的Semaphore源碼分析,Semaphore是一個(gè)訪問公共資源的線程數(shù)量如限流、停車等,它是一個(gè)基于AQS實(shí)現(xiàn)的共享鎖,主要是通過控制state變量來(lái)實(shí)現(xiàn),需要的朋友可以參考下
    2023-11-11
  • Java異常的處理機(jī)制

    Java異常的處理機(jī)制

    這篇文章主要介紹了Java異常的處理機(jī)制,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • java開發(fā)BeanUtils類解決實(shí)體對(duì)象間賦值

    java開發(fā)BeanUtils類解決實(shí)體對(duì)象間賦值

    這篇文章主要為大家介紹了java開發(fā)中使用BeanUtils類實(shí)現(xiàn)實(shí)體對(duì)象之間的賦值有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步學(xué)有所得
    2021-10-10
  • httpclient的disableConnectionState方法工作流程

    httpclient的disableConnectionState方法工作流程

    這篇文章主要為大家介紹了httpclient的disableConnectionState方法工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Java根據(jù)正整數(shù)的位數(shù)并逆序打印出各位數(shù)字

    Java根據(jù)正整數(shù)的位數(shù)并逆序打印出各位數(shù)字

    給一個(gè)不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字,需要的朋友可以參考下
    2017-02-02
  • Java線程池Executor用法詳解

    Java線程池Executor用法詳解

    本文主要為大家詳細(xì)介紹了Java線程池Executor的用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • SpringBoot3整合SpringCloud啟動(dòng)后nacos報(bào)錯(cuò)獲取不到配置、無(wú)法注冊(cè)服務(wù)的解決方案

    SpringBoot3整合SpringCloud啟動(dòng)后nacos報(bào)錯(cuò)獲取不到配置、無(wú)法注冊(cè)服務(wù)的解決方案

    文章介紹了如何使用Spring Boot 3.3.4和Spring Cloud 2023.0.3搭建微服務(wù)項(xiàng)目,并解決與Nacos服務(wù)注冊(cè)發(fā)現(xiàn)和配置中心的集成問題,主要解決了依賴版本不兼容、配置文件導(dǎo)入問題及服務(wù)注冊(cè)失敗等問題,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • Java8新特性之新日期時(shí)間庫(kù)的使用教程

    Java8新特性之新日期時(shí)間庫(kù)的使用教程

    這篇文章主要給大家介紹了關(guān)于Java8新特性之新日期時(shí)間庫(kù)使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 如果淘寶的七天自動(dòng)確認(rèn)收貨讓你設(shè)計(jì)你用Java怎么實(shí)現(xiàn)

    如果淘寶的七天自動(dòng)確認(rèn)收貨讓你設(shè)計(jì)你用Java怎么實(shí)現(xiàn)

    在面試的時(shí)候如果面試官問淘寶的七天自動(dòng)確認(rèn)收貨讓你設(shè)計(jì),你會(huì)怎么具體實(shí)現(xiàn)呢?跟著小編看一下下邊的實(shí)現(xiàn)過程,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值
    2021-09-09
  • 解決springboot與springcloud版本兼容問題(附版本兼容表)

    解決springboot與springcloud版本兼容問題(附版本兼容表)

    在基于spring boot搭建spring cloud時(shí),創(chuàng)建eureka后啟動(dòng)服務(wù)發(fā)生報(bào)錯(cuò),本文給大家介紹了解決springboot與springcloud版本兼容問題的幾種方案,需要的朋友可以參考下
    2024-02-02

最新評(píng)論

安康市| 广西| 建昌县| 临朐县| 呼伦贝尔市| 渑池县| 安塞县| 中西区| 长汀县| 南江县| 宝清县| 海宁市| 当涂县| 体育| 苗栗县| 九龙城区| 法库县| 林西县| 玛沁县| 筠连县| 偃师市| 靖州| 铁岭县| 瑞安市| 临夏市| 郧西县| 清苑县| 县级市| 华池县| 瓮安县| 台湾省| 砚山县| 乌兰浩特市| 湄潭县| 米泉市| 阆中市| 洛隆县| 齐齐哈尔市| 洛扎县| 盱眙县| 霍山县|