天天看點

java點贊次數 1_Java用Cookie限制點贊次數(簡版)

本文簡單利用cookie技術來簡單的限制點贊次數,并不能杜絕遊客的惡意點贊。

好了,不啰嗦了,先來看看基礎知識:

ajax+springmvc+cookie

中間架構你随意,樓主這裡用了springmvc,隻要取得httpservletrequest和httpservletresponse你就可以操作cookie啦

什麼是cookie

cookie 是存儲于通路者的計算機中的變量。每當同一台計算機通過浏覽器請求某個頁面時,就會發送這個 cookie。你可以使用 javascript 來建立和取回 cookie 的值。

第2篇閱讀中提到了cookie存放在http的request中,這為我們在java中操作cookie提供了可能

cookie主要用途編輯

伺服器可以利用cookies包含資訊的任意性來篩選并經常性維護這些資訊,以判斷在http傳輸中的狀态。cookies最典型的應用是判定注冊使用者是否已經登入網站,使用者可能會得到提示,是否在下一次進入此網站時保留使用者資訊以便簡化登入手續,這些都是cookies的功用。另一個重要應用場合是“購物車”之類處理。使用者可能會在一段時間内在同一家網站的不同頁面中選擇不同的商品,這些資訊都會寫入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");

//此方法接收一個以秒為機關的整數,該整數表示cookie的最大生存期。負值表示當關閉浏覽器時,該cookie将被清除,表示必須立即清除該cookie。

cookie.setmaxage();

//設定路徑,這個路徑即該工程下都可以通路該cookie 如果不設定路徑,那麼隻有設定該cookie路徑及其子路徑可以通路

cookie.setpath("/");

response.addcookie(cookie);

讀取cookie,讀取cookie代碼如下

cookie[] cookies = request.getcookies();//這樣便可以擷取一個cookie數組

for(cookie cookie : cookies){

cookie.getname();// get the cookie name

cookie.getvalue(); // get the cookie value

}

springmvc具體限制操作

@requestmapping(value = talkingconst.path_love, method = requestmethod.post)

public @responsebody map love(comment comment, httpservletrequest request, httpservletresponse response) {

map map = new hashmap();

// 根據cookie的name取的cookie getcookiebyname()方法可以參考代碼塊上的連結處的封裝

cookie cookie = getcookiebyname(request, comment.getcommentid() + "");

// 判斷cookie是否為空

if (cookie != null) {

// cookie不為空,提示已經贊過

// 前台傳值

map.put(talkingconst.attribute_msg, "您已贊過,請休息一下~");

map.put(talkingconst.attribute_name_result, boolean.false);

} else {

// 資料庫操作,點贊個數加

commentservice.love(comment);

// 建立cookie addcookie()方法可以參考代碼塊上的連結處的封裝

addcookie(response, comment.getcommentid() + "", "", );

map.put(talkingconst.attribute_name_result, boolean.true);

}

return map;

}

至此,簡單的cookie限制點贊次數基本完成。前台的代碼沒放因為每個點贊的樣式都不大一樣。

以上所述給大家分享了java用cookie限制點贊次數的相關知識,希望對大家有所幫助。

希望與廣大網友互動??

點此進行留言吧!