This article simply uses Cookie technology to simply limit the number of likes, but it cannot prevent malicious likes from tourists.
Okay, let’s not be long-winded. Let’s take a look at the basic knowledge first:
ajax+springMVC+cookie
You can use the middle frame as you like. The poster used springMVC here, as long as you get HttpServletRequest and HttpServletResponse you can operate cookies
What is Cookie
Cookie is a variable stored in the visitor's computer. This cookie is sent each time the same computer requests a page through a browser. You can use JavaScript to create and retrieve cookie values.
The second reading mentioned that cookies are stored in http requests, which provides the possibility for us to operate cookies in java
The main purpose of cookies is to edit
The server can Take advantage of the arbitrary nature of the information contained in cookies to filter and regularly maintain this information to determine the status of HTTP transmissions. The most typical application of cookies is to determine whether a registered user has logged in to the website. The user may be prompted whether to retain user information the next time he enters the website to simplify the login procedure. These are the functions of cookies. Another important application is "shopping cart" processing. Users may choose different products on different pages of the same website within a period of time, and this information will be written to Cookies so that the information can be retrieved when making the final payment.
Basically understand Cookie, let’s see how Java operates cookies
Create a cookie without a life cycle, that is, a cookie that disappears when the browser is closed. The code is as follows:
HttpServletRequest request HttpServletResponse response Cookie cookie = new Cookie("cookiename","cookievalue"); response.addCookie(cookie);
Create a cookie with a life cycle, you can set its life cycle
cookie = new Cookie("cookiename","cookievalue"); //此方法接收一个以秒为单位的整数,该整数表示cookie的最大生存期。负值表示当关闭浏览器时,该cookie将被清除,表示必须立即清除该cookie。 cookie.setMaxAge(); //设置路径,这个路径即该工程下都可以访问该cookie 如果不设置路径,那么只有设置该cookie路径及其子路径可以访问 cookie.setPath("/"); response.addCookie(cookie);
Read the cookie, the code for reading the cookie is as follows
Cookie[] cookies = request.getCookies();//这样便可以获取一个cookie数组 for(Cookie cookie : cookies){ cookie.getName();// get the cookie name cookie.getValue(); // get the cookie value }
springMVC specific restriction operation
/** * 点赞操作 * * @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>(); // 根据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; }
At this point, the simple cookie limit of the number of likes is basically completed. The front-end code is not included because the style of each like is different.
The above has shared with you the relevant knowledge about using cookies to limit the number of likes in Java. I hope it will be helpful to you.
For more articles related to using cookies to limit the number of likes in Java, please pay attention to the PHP Chinese website!