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!

This article analyzes the top four JavaScript frameworks (React, Angular, Vue, Svelte) in 2025, comparing their performance, scalability, and future prospects. While all remain dominant due to strong communities and ecosystems, their relative popul

The article discusses implementing multi-level caching in Java using Caffeine and Guava Cache to enhance application performance. It covers setup, integration, and performance benefits, along with configuration and eviction policy management best pra

Node.js 20 significantly enhances performance via V8 engine improvements, notably faster garbage collection and I/O. New features include better WebAssembly support and refined debugging tools, boosting developer productivity and application speed.

Java's classloading involves loading, linking, and initializing classes using a hierarchical system with Bootstrap, Extension, and Application classloaders. The parent delegation model ensures core classes are loaded first, affecting custom class loa

This article addresses the CVE-2022-1471 vulnerability in SnakeYAML, a critical flaw allowing remote code execution. It details how upgrading Spring Boot applications to SnakeYAML 1.33 or later mitigates this risk, emphasizing that dependency updat

Iceberg, an open table format for large analytical datasets, improves data lake performance and scalability. It addresses limitations of Parquet/ORC through internal metadata management, enabling efficient schema evolution, time travel, concurrent w

This article explores methods for sharing data between Cucumber steps, comparing scenario context, global variables, argument passing, and data structures. It emphasizes best practices for maintainability, including concise context use, descriptive

This article explores integrating functional programming into Java using lambda expressions, Streams API, method references, and Optional. It highlights benefits like improved code readability and maintainability through conciseness and immutability


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Dreamweaver CS6
Visual web development tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment
