Skip to content
geeksforgeeks
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Tutorials
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
  • Practice
    • GfG 160: Daily DSA
    • Problem of the Day
    • Practice Coding Problems
    • GfG SDE Sheet
  • Java Arrays
  • Java Strings
  • Java OOPs
  • Java Collection
  • Java 8 Tutorial
  • Java Multithreading
  • Java Exception Handling
  • Java Programs
  • Java Project
  • Java Collections Interview
  • Java Interview Questions
  • Java MCQs
  • Spring
  • Spring MVC
  • Spring Boot
  • Hibernate
Open In App
Next Article:
Top 10 Java Frameworks in 2025
Next article icon

Top 10 Java Frameworks in 2025

Last Updated : 07 Nov, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

In today's digital world, web applications play a crucial role across various industries. Building robust and scalable applications often requires choosing the right development tools. Among these tools, Java frameworks stand out for their efficiency and reliability, making them a popular choice for enterprise-level development. This article explores the top 10 Java frameworks that developers can leverage in 2025 to create powerful web applications.

Table of Content

  • What is Java?
  • Top 10 Java Frameworks You Should Know
    • 1. Spring
    • 2. Hibernate
    • 3. Struts
    • 4. Google Web Toolkit (GWT)
    • 5. Java Server Faces (JSF)
    • 6. Dropwizard
    • 7. Grails
    • 8. Vaadin
    • 9. Blade
    • 10. Play

We'll delve into their unique features and functionalities, aiding developers in selecting the Java framework best suited for their specific project needs

What is Java?

Java is a high-level, object-oriented programming language widely used for developing various applications, including web applications, enterprise software, mobile apps, big data applications, and more. It was created by James Gosling at Sun Microsystems (later acquired by Oracle) in 1991 to be portable, secure, and robust.

Here are some key features of Java that contribute to its popularity:

  • Platform-independent: Java code can run on any platform with a Java Virtual Machine (JVM) installed, making it "write once, run anywhere."
  • Object-oriented: Java promotes object-oriented programming principles, allowing for better code organization, reusability, and maintainability.
  • Secure: Java incorporates various security features to protect applications from vulnerabilities.
  • Large community and resources: Java has a vast developer community and extensive online resources and tutorials, making it easier to learn and troubleshoot.

"Ready to master Java backend development and build enterprise-level applications? Enroll in our comprehensive 'JAVA Backend Development - Live' course and gain practical skills under the guidance of industry experts."

Top 10 Java Frameworks You Should Know

Java Frameworks To Learn
Top Java Frameworks

Let's look into the best framework in Java that is a good choice to learn in 2025 if you are a Java developer or aspire to be one.  

1. Spring

Spring is an open-source framework that can be used by any Java application. It eliminates the problem of tight coupling among modules as it provides loose coupling so that modification in one class doesn't lead to the need for change in other classes. Spring is a package in itself as it supports features such as configuration and security. It has an active community and therefore a lot can be found about it online.

Features of Spring:

  • Inversion of Control (IoC): Allows object coupling at runtime instead of compile time.
  • Dependency Injection (DI): Supports loose coupling by providing dependencies to objects at runtime.
  • Spring Security: Offers comprehensive security features, including authentication and authorization.
  • Spring AOP: Supports aspect-oriented programming for better modularization.

Advantages of Spring:

  • Loose Coupling: Facilitates easy modification without affecting other components.
  • Simplifies Dependency Management: DI allows for a more organized and testable codebase.
  • Active Community: A vast community ensures constant updates and resources.

Companies Using Spring:

Many enterprises such as Netflix, eBay, and Alibaba use the Spring framework for developing complex Java applications.

2. Hibernate

Hibernate is an Object-Relational Mapping (ORM) that makes handling databases with Java easier by eliminating the problems faced with JDBC as JDBC does not support object-level relationships which is a key concept while developing applications. Queries in Hibernate are known as HQL (Hibernate Query Language). It maps database tables to corresponding Java classes directly by creating an abstraction layer for the code to be loosely coupled. With Hibernate in the Java framework, developers do not have to think about establishing database connections or performing operations, it is taken care of by Hibernate itself. The hibernate.cfg.xml file contains information about database configuration and mapping.

Features of Hibernate:

  • ORM (Object-Relational Mapping): Automatically maps Java objects to database tables.
  • Hibernate Query Language (HQL): Allows developers to write database queries in a more object-oriented style.
  • Caching: Helps improve performance by reducing database access.
  • Automatic Table Generation: Automatically generates database schema from entities.

Advantages of Hibernate:

  • Simplified Database Interactions: Developers don’t need to manage database connections manually.
  • Cross-Database Compatibility: Hibernate works seamlessly across various database systems.
  • Reduces Boilerplate Code: Simplifies SQL and reduces the need for repetitive coding.

Companies Using Hibernate:

Major companies like LinkedIn, IBM, and Red Hat leverage Hibernate for their database-related operations.

3. Struts

Apache Struts is an open-source framework that is used for web applications. It follows MVC (Model-View-Controller) thus resulting in a convenient application by dividing model, view, and controller, and binding these three through the struts-config.xml file. It has two versions, Struts 1 and Struts 2. Struts 2 is the upgraded version and is preferred by all companies for implementing this framework in Java. It supports AJAX, REST, and JSON as it comes with various plugins. It provides an easy setup and is more flexible as compared to traditional MVC architecture. It is a good choice for web developers.

Features of Struts:

  • MVC Architecture: Divides the application into Model, View, and Controller components.
  • AJAX Support: Easily integrates with AJAX to create dynamic web applications.
  • REST Support: Provides out-of-the-box REST functionality for web services.
  • Flexible Configuration: Struts 2 allows more flexibility than Struts 1, including support for annotations.

Advantages of Struts:

  • Rapid Development: Struts reduces development time by providing a simple, well-structured framework.
  • Ease of Integration: It integrates easily with other technologies and frameworks.
  • Active Documentation: Comprehensive documentation is available for developers.

Companies Using Struts:

Companies such as Wells Fargo, Cognizant, and Accenture utilize Struts for building robust web applications.

4. Google Web Toolkit (GWT)

Do we really have to guess who developed the Google Web Toolkit? It's Google as evident from the name. Google products like AdSense, Blogger, and Google Wallet have been developed using GWT. The key reason why Google Web Toolkit is considered a developer-friendly Java framework is that it makes working with Google APIs easier. The ability to convert Java code into JavaScript code based on a browser makes it stand out in the queue of Java frameworks. Beautiful and elegant Internet Java applications can be made using it.

Features of GWT:

  • Dynamic and Reusable UI Components: Simplifies the process of creating interactive UI elements.
  • Cross-Browser Compatibility: Automatically handles browser-specific issues.
  • Unit Testing Integration: Supports unit testing to ensure code quality.
  • Support for Internationalization: Easily adapt applications for multiple languages.

Advantages of GWT:

  • Code Reusability: GWT allows developers to reuse code for both client and server-side operations.
  • Developer-Friendly: The framework simplifies JavaScript development by using Java code.
  • Cross-Browser Support: Ensures seamless operation across different browsers.

Companies Using GWT:

Google, Ebay, and PayPal are some of the top companies using GWT for web application development.

5. Apache Wicket

Apache Wicket is a component-based framework for building Java web applications. It simplifies web development by focusing on reusable components that encapsulate UI logic.

Features of Apache Wicket:

  • Component-Based Development: Focuses on building applications with reusable components.
  • State Management: Automatically manages the state of components between requests.
  • AJAX Support: Easily integrates AJAX for dynamic user interfaces.
  • Web Security: Provides tools for managing web application security.

Advantages of Apache Wicket:

  • Object-Oriented Approach: Facilitates better organization of code.
  • Reusability: Promotes the reuse of components across different parts of the application.
  • High-Level Security: Offers built-in tools to secure web applications.

Companies Using Apache Wicket:

Companies such as eBay, LinkedIn, and Digg use Apache Wicket to build dynamic, component-based web applications.

6. Dropwizard

Dropwizard is one of the finest frameworks for Java "Does exactly what it says on the tin" fit for the Dropwizard, it is a wizard. It completes the application very fast owing to its enormous support for logging, application metrics, and advanced configurations. It bundles up many libraries from the Java ecosystem into a single framework. The rapid development of RESTful APIs and support for rapid prototyping make Dropwizard magical when its features are seen all together.  

Features of Dropwizard:

  • Metrics Support: Integrates with the metrics library for monitoring and performance tracking.
  • Logging with Logback: Uses Logback and SLF4J for enhanced logging features.
  • Hibernate Validator API: Supports data validation in web services.
  • Packaging Applications: Applications are packaged as JARs for easy deployment.

Advantages of Dropwizard:

  • Microservice Architecture: Ideal for developing microservices due to its lightweight nature.
  • Rapid Prototyping: Dropwizard supports quick project setup, making it suitable for rapid development.
  • Operations-Friendliness: Designed with operational concerns in mind, making it easy to deploy and manage applications.

Companies Using Dropwizard:

Organizations like Yelp, Netflix, and The New York Times leverage Dropwizard for their microservice-based architectures.

7. Grails

Grails are a beginner-friendly Java framework and are written in the Groovy programming language. Groovy is similar to Java and has more features than Java. Grails is based on the MVC pattern and runs on the Java platform, being compatible with Java syntax. GSP (Groovy Server Pages) is the rendering element in Grails and GORM is the ORM implementation for it. What if we mix Groovy and Java code? It will run fine. One of the highlights of Grails is that we can integrate Grails and Java code.  

Features of Grails:

  • Convention over Configuration: Reduces boilerplate code and speeds up development.
  • Integrated GORM (Groovy ORM): Simplifies database operations.
  • Grails Plugins: A rich ecosystem of plugins for extending functionality.
  • Built on Spring Boot: Inherits the power of Spring for enterprise applications.

Advantages of Grails:

  • Rapid Development: Designed to accelerate development with minimal configuration.
  • Robust Ecosystem: Extensive libraries and plugins for a variety of tasks.
  • Compatibility with Java: Allows for using Java libraries alongside Groovy.

Companies Using Grails:

The BBC, US Department of Veterans Affairs, and VMWare use Grails for building scalable, enterprise-grade applications.

8. Vaadin

Vaadin has a whole new way of working as it eliminates the worry of client-server communications and routing so that one can concentrate on the presentation layer alone. It is open-source and components can be customized to create highly versatile code. You can write your application completely in Java as the UI components of Vaadin take care of the browser activities. One of the key features of Vaadin is that it is a cross-platform framework, i.e., you can migrate your code to a different platform and this makes it among the best frameworks in Java.

Features of Vaadin:

  • Java API for UI Components: Allows developers to build rich UIs with Java.
  • Cross-Browser Support: Ensures compatibility across all major browsers.
  • Built-in Data Binding: Simplifies binding between UI and data models.
  • Spring Integration: Integrates seamlessly with the Spring framework.
  • Customizable Themes: Enables the customization of UI themes.

Advantages of Vaadin:

  • Speed of Development: Provides a rich set of components for faster development.
  • Excellent Documentation: Comprehensive resources for developers.
  • Modern UI: Facilitates building sophisticated and modern web applications.

Companies Using Vaadin:

Intel, SAP, and Vaadin itself use the framework for developing high-quality enterprise applications.

9. Blade

Looking for the simplest Java framework? Say Hi to Blade!  

The blade is a lightweight full-stack web framework based on MVC architecture. It works on a module basis, which helps in debugging by dividing an application into modules. Blade works with JSON files and is used for full-stack web development.

Features of Blade:

  • Simple API: Minimalistic framework for rapid development.
  • Built-in HTTP Server (Jetty): Provides an embedded server for quick deployment.
  • RESTful API Support: Ideal for building REST-based web services.
  • Template Engine Support: Supports multiple template engines for rendering views.

Advantages of Blade:

  • Lightweight: Offers only the necessary features, making it perfect for small to medium-sized apps.
  • Developer-Friendly: Easy setup and minimal configuration needed.
  • Performance-Oriented: Focuses on efficient and fast applications.

Companies Using Blade:

Companies like Viki, Suunto, and the developers behind Blade use it for simple, high-performance applications.

10. Play

Play framework follows convention over configuration. One of the unique things is that you can write Play applications not only in Java but in Scala as well. Play does not necessarily follow J2EE web standards. Play makes integration with Maven projects easier and creates simple JAR files. Play offers support for both the IntelliJ IDEA and Eclipse and that's why it is a highly praised framework for Java. It provides in-built relational database access libraries. It includes many features which make it a favorite of many Java developers.  

Features of Play:

  • Built-in Testing Tools: Play includes tools for writing and running tests.
  • Hot Coding: Enables code to be updated in real-time without restarting the server.
  • IDE Support: Play supports major IDEs like Eclipse and IntelliJ IDEA for development.
  • Non-blocking I/O: Supports asynchronous I/O operations for improved scalability.

Advantages of Play:

  • Flexible and Scalable: Designed to scale with the needs of the application.
  • Fault-Tolerant: Helps developers build fault-tolerant, highly available systems.
  • Error Handling: Provides detailed error messages to help developers debug more effectively.

Companies Using Play:

Companies like LinkedIn, The Guardian, and Kodak use Play for developing scalable, modern web applications.

Conclusion

With a diverse range of Java frameworks available, selecting the most appropriate one can be overwhelming. However, by carefully considering your project requirements, team expertise, and desired features, you can make an informed decision. Each framework offers unique strengths and caters to specific development needs. Explore the functionalities mentioned throughout this article to gain a deeper understanding of how each framework can empower your development process.

Furthermore, staying updated with the latest advancements in the Java ecosystem is crucial. As the technology landscape evolves, frameworks continuously improve their functionalities and features. By staying informed, you can ensure your development skills remain at the forefront of the industry

Must Read:

  • 10 Best Java Compilers
  • Top 10 Java Programming Best Practices
  • Top 10 Java Projects with Source Code

Next Article
Top 10 Java Frameworks in 2025

Y

yashi_agarwal
Improve
Article Tags :
  • Java
  • GBlog
  • Frameworks
  • Java Facts
  • GBlog 2024
  • GBlog 2025
Practice Tags :
  • Java

Similar Reads

    Top 10 JavaScript Frameworks to Use in 2025
    Considering the reports of several renowned platforms like Stack Overflow and Statista, JavaScript has been topping the list of most popular programming languages across the world for many years now, and there are very positive signs that this particular language will dominate in the coming year as
    14 min read
    Top 10 Golang Frameworks in 2025
    Golang (or Go) is an open-source compiled programming language that is used to build simple, systematic, and secure software. It was designed by Google in the year 2007 and has been readily adopted by developers all over the world due to its features like memory safety, structural typing, garbage co
    9 min read
    Top 10 AI Frameworks to Learn in 2025
    Artificial Intelligence (AI) is widely used in various applications like Alexa, self-driving cars and recommendation systems on Netflix. If you want to work in AI learning right framework and tools is important. These AI frameworks helps developers to create smart systems that can learn, think and s
    5 min read
    Top 10 React Frameworks to Use in 2025
    React is one of the most popular JavaScript libraries, which was developed by Facebook. React helps in creating interactive interfaces for the user. It consists of components that are well-suited for web applications. It has the Virtual Dom, which creates the lightweight reference Dom in the memory
    9 min read
    Top 10 Microservices Frameworks in 2025
    When planning a business application or software development, the main task is to choose the tech stack that could make your application faster, secure, and scalable. So, when building an application, the foundation matters. Choosing the right framework is vital; it affects costs, development time,
    14 min read
    Top 10 Machine Learning Frameworks in 2025
    Machine Learning is the tech powerhouse teaching computers to learn and grow without explicit programming. With a staggering 250% surge in adoption by companies over the last four years, it's clear that Machine Learning is here to stay and revolutionize industries.In this article, we'll delve into t
    11 min read
    Top 10 Front-End Frameworks in 2025
    A front-end development framework is a pre-written collection of standardized HTML, CSS, and JavaScript code that developers can use to build web applications or websites more efficiently.Front-end frameworks typically provide a set of tools, libraries, and conventions for building user interfaces,
    13 min read
    Top 10 Python Frameworks [2025 Updated]
    Python is one of the most lucrative programming languages that is used as the main coding language by most of the developers. It is one of the fastest-growing programming languages that is embedded with extensive libraries and frameworks to fuel up different processes. Popular companies like Oracle,
    9 min read
    10 Best Backend JavaScript Frameworks in 2025
    When JavaScript was first created, it used to run only in the browser of the client (user). At that time, it was sufficient, as websites used to be static and just displayed some information for the user to see and read. But as both time and technology moved forward, web development changed. Soon, t
    11 min read
    10 Best Frontend JavaScript Frameworks to Use in 2025
    When web development became a thing, websites were created with HTML, CSS, and plain JavaScript. As technological advancements occurred, it became harder to create complex web applications that required user interactivity. Moreover, it was difficult to even maintain the already-built web apps. To so
    11 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

'); // $('.spinner-loading-overlay').show(); let script = document.createElement('script'); script.src = 'https://assets.geeksforgeeks.org/v2/editor-prod/static/js/bundle.min.js'; script.defer = true document.head.appendChild(script); script.onload = function() { suggestionModalEditor() //to add editor in suggestion modal if(loginData && loginData.premiumConsent){ personalNoteEditor() //to load editor in personal note } } script.onerror = function() { if($('.editorError').length){ $('.editorError').remove(); } var messageDiv = $('
').text('Editor not loaded due to some issues'); $('#suggestion-section-textarea').append(messageDiv); $('.suggest-bottom-btn').hide(); $('.suggestion-section').hide(); editorLoaded = false; } }); //suggestion modal editor function suggestionModalEditor(){ // editor params const params = { data: undefined, plugins: ["BOLD", "ITALIC", "UNDERLINE", "PREBLOCK"], } // loading editor try { suggestEditorInstance = new GFGEditorWrapper("suggestion-section-textarea", params, { appNode: true }) suggestEditorInstance._createEditor("") $('.spinner-loading-overlay:eq(0)').remove(); editorLoaded = true; } catch (error) { $('.spinner-loading-overlay:eq(0)').remove(); editorLoaded = false; } } //personal note editor function personalNoteEditor(){ // editor params const params = { data: undefined, plugins: ["UNDO", "REDO", "BOLD", "ITALIC", "NUMBERED_LIST", "BULLET_LIST", "TEXTALIGNMENTDROPDOWN"], placeholderText: "Description to be......", } // loading editor try { let notesEditorInstance = new GFGEditorWrapper("pn-editor", params, { appNode: true }) notesEditorInstance._createEditor(loginData&&loginData.user_personal_note?loginData.user_personal_note:"") $('.spinner-loading-overlay:eq(0)').remove(); editorLoaded = true; } catch (error) { $('.spinner-loading-overlay:eq(0)').remove(); editorLoaded = false; } } var lockedCasesHtml = `You can suggest the changes for now and it will be under 'My Suggestions' Tab on Write.

You will be notified via email once the article is available for improvement. Thank you for your valuable feedback!`; var badgesRequiredHtml = `It seems that you do not meet the eligibility criteria to create improvements for this article, as only users who have earned specific badges are permitted to do so.

However, you can still create improvements through the Pick for Improvement section.`; jQuery('.improve-header-sec-child').on('click', function(){ jQuery('.improve-modal--overlay').hide(); $('.improve-modal--suggestion').hide(); jQuery('#suggestion-modal-alert').hide(); }); $('.suggest-change_wrapper, .locked-status--impove-modal .improve-bottom-btn').on('click',function(){ // when suggest changes option is clicked $('.ContentEditable__root').text(""); $('.suggest-bottom-btn').html("Suggest changes"); $('.thank-you-message').css("display","none"); $('.improve-modal--improvement').hide(); $('.improve-modal--suggestion').show(); $('#suggestion-section-textarea').show(); jQuery('#suggestion-modal-alert').hide(); if(suggestEditorInstance !== null){ suggestEditorInstance.setEditorValue(""); } $('.suggestion-section').css('display', 'block'); jQuery('.suggest-bottom-btn').css("display","block"); }); $('.create-improvement_wrapper').on('click',function(){ // when create improvement option clicked then improvement reason will be shown if(loginData && loginData.isLoggedIn) { $('body').append('
'); $('.spinner-loading-overlay').show(); jQuery.ajax({ url: writeApiUrl + 'create-improvement-post/?v=1', type: "POST", contentType: 'application/json; charset=utf-8', dataType: 'json', xhrFields: { withCredentials: true }, data: JSON.stringify({ gfg_id: post_id }), success:function(result) { $('.spinner-loading-overlay:eq(0)').remove(); $('.improve-modal--overlay').hide(); $('.unlocked-status--improve-modal-content').css("display","none"); $('.create-improvement-redirection-to-write').attr('href',writeUrl + 'improve-post/' + `${result.id}` + '/', '_blank'); $('.create-improvement-redirection-to-write')[0].click(); }, error:function(e) { showErrorMessage(e.responseJSON,e.status) }, }); } else { if(loginData && !loginData.isLoggedIn) { $('.improve-modal--overlay').hide(); if ($('.header-main__wrapper').find('.header-main__signup.login-modal-btn').length) { $('.header-main__wrapper').find('.header-main__signup.login-modal-btn').click(); } return; } } }); $('.left-arrow-icon_wrapper').on('click',function(){ if($('.improve-modal--suggestion').is(":visible")) $('.improve-modal--suggestion').hide(); else{ } $('.improve-modal--improvement').show(); }); const showErrorMessage = (result,statusCode) => { if(!result) return; $('.spinner-loading-overlay:eq(0)').remove(); if(statusCode == 403) { $('.improve-modal--improve-content.error-message').html(result.message); jQuery('.improve-modal--overlay').show(); jQuery('.improve-modal--improvement').show(); $('.locked-status--impove-modal').css("display","block"); $('.unlocked-status--improve-modal-content').css("display","none"); $('.improve-modal--improvement').attr("status","locked"); return; } } function suggestionCall() { var editorValue = suggestEditorInstance.getValue(); var suggest_val = $(".ContentEditable__root").find("[data-lexical-text='true']").map(function() { return $(this).text().trim(); }).get().join(' '); suggest_val = suggest_val.replace(/\s+/g, ' ').trim(); var array_String= suggest_val.split(" ") //array of words var gCaptchaToken = $("#g-recaptcha-response-suggestion-form").val(); var error_msg = false; if(suggest_val != "" && array_String.length >=4){ if(editorValue.length { jQuery('.ContentEditable__root').focus(); jQuery('#suggestion-modal-alert').hide(); }, 3000); } } document.querySelector('.suggest-bottom-btn').addEventListener('click', function(){ jQuery('body').append('
'); jQuery('.spinner-loading-overlay').show(); if(loginData && loginData.isLoggedIn) { suggestionCall(); return; } // script for grecaptcha loaded in loginmodal.html and call function to set the token setGoogleRecaptcha(); }); $('.improvement-bottom-btn.create-improvement-btn').click(function() { //create improvement button is clicked $('body').append('
'); $('.spinner-loading-overlay').show(); // send this option via create-improvement-post api jQuery.ajax({ url: writeApiUrl + 'create-improvement-post/?v=1', type: "POST", contentType: 'application/json; charset=utf-8', dataType: 'json', xhrFields: { withCredentials: true }, data: JSON.stringify({ gfg_id: post_id }), success:function(result) { $('.spinner-loading-overlay:eq(0)').remove(); $('.improve-modal--overlay').hide(); $('.create-improvement-redirection-to-write').attr('href',writeUrl + 'improve-post/' + `${result.id}` + '/', '_blank'); $('.create-improvement-redirection-to-write')[0].click(); }, error:function(e) { showErrorMessage(e.responseJSON,e.status); }, }); });
"For an ad-free experience and exclusive features, subscribe to our Premium Plan!"
Continue without supporting
`; $('body').append(adBlockerModal); $('body').addClass('body-for-ad-blocker'); const modal = document.getElementById("adBlockerModal"); modal.style.display = "block"; } function handleAdBlockerClick(type){ if(type == 'disabled'){ window.location.reload(); } else if(type == 'info'){ document.getElementById("ad-blocker-div").style.display = "none"; document.getElementById("ad-blocker-info-div").style.display = "flex"; handleAdBlockerIconClick(0); } } var lastSelected= null; //Mapping of name and video URL with the index. const adBlockerVideoMap = [ ['Ad Block Plus','https://media.geeksforgeeks.org/auth-dashboard-uploads/abp-blocker-min.mp4'], ['Ad Block','https://media.geeksforgeeks.org/auth-dashboard-uploads/Ad-block-min.mp4'], ['uBlock Origin','https://media.geeksforgeeks.org/auth-dashboard-uploads/ub-blocke-min.mp4'], ['uBlock','https://media.geeksforgeeks.org/auth-dashboard-uploads/U-blocker-min.mp4'], ] function handleAdBlockerIconClick(currSelected){ const videocontainer = document.getElementById('ad-blocker-info-div-gif'); const videosource = document.getElementById('ad-blocker-info-div-gif-src'); if(lastSelected != null){ document.getElementById("ad-blocker-info-div-icons-"+lastSelected).style.backgroundColor = "white"; document.getElementById("ad-blocker-info-div-icons-"+lastSelected).style.borderColor = "#D6D6D6"; } document.getElementById("ad-blocker-info-div-icons-"+currSelected).style.backgroundColor = "#D9D9D9"; document.getElementById("ad-blocker-info-div-icons-"+currSelected).style.borderColor = "#848484"; document.getElementById('ad-blocker-info-div-name-span').innerHTML = adBlockerVideoMap[currSelected][0] videocontainer.pause(); videosource.setAttribute('src', adBlockerVideoMap[currSelected][1]); videocontainer.load(); videocontainer.play(); lastSelected = currSelected; }

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences