Outdated Java Technologies You Should Stop Learning
This article reviews several Java backend technologies—JSP, Struts, Hibernate, Servlet, and others—explaining why they are considered outdated or unnecessary for modern development and offering guidance on what newcomers should focus on instead.
Recently I received many private messages from readers asking whether certain technologies are worth learning, and even some overseas students expressed interest in Java graphics and related jobs. I was busy and couldn’t reply, so I’m sharing a concise answer here.
I have been working with Java for nearly 20 years and have witnessed many shifts, such as JavaEE frameworks evolving from a chaotic landscape to Spring’s dominance, web development moving from SSH to Spring MVC + MyBatis, and IDEs progressing from JBuilder to Eclipse and now IDEA.
In this article I discuss Java knowledge that has become outdated and is no longer necessary to study, which can be seen as a supplement to a previous post.
The criteria I use are:
Can it be used in actual development?
Does it deepen understanding of the technology?
Is it useful for interviews?
JSP
JSP is mainly used as the View layer in the MVC model. Other view technologies include FreeMarker and Velocity. In a traditional mixed (non‑separated) architecture, JSP templates are rendered on the server and sent as HTML to the client.
Nowadays most companies have abandoned or are abandoning this model in favor of full front‑back separation, where the backend only provides REST services and the frontend (e.g., HTML5) consumes JSON data.
Therefore, learning JSP is no longer necessary; you can safely drop it.
Struts
Struts is a solid MVC framework, but Spring has become the one‑stop solution for Java development, especially Spring MVC, which integrates perfectly with the Spring ecosystem.
Spring MVC has incorporated the strengths and addressed the weaknesses of older frameworks like Struts, leading to its dominance.
Note: If you need a genuine JetBrains license, you can contact me for a 56 CNY/year subscription (officially verifiable).
Many legacy projects still maintain Struts, but new projects are moving to Spring MVC. For Java beginners, the recommendation is: Stop learning Struts and start with Spring MVC.
Hibernate
Hibernate is a powerful ORM framework, but its extensive feature set brings high learning cost, complex configuration, and difficult tuning.
While it abstracts SQL completely, this can cause performance overhead, especially for performance‑critical applications that need fine‑grained SQL tuning.
MyBatis, a lightweight hybrid ORM, offers similar benefits with better flexibility and easier SQL access. Consequently, Hibernate usage is declining, and the advice is: Do not learn Hibernate; learn MyBatis instead.
Servlet (must master)
Although pure Servlet‑based web apps are rare today, the claim that Servlets are obsolete is wrong. Servlets remain the foundation of Java web containers and underlie all MVC frameworks, including Spring MVC.
Understanding the Servlet lifecycle enables advanced capabilities such as request/response interception, permission checks, and unified processing.
Servlets should not only be learned but mastered deeply.
Other Technologies
In China, Java is primarily used for web backend development, so some technologies have little practical relevance:
Applet : Browser plugins are obsolete.
Swing : Desktop UI is usually built with C++ (MFC) or C# (WinForms/WPF); Swing is rarely needed.
JDBC : While foundational, many frameworks (e.g., MyBatis) hide it; you can deprioritize it if time is limited.
XML : Still used, but JSON is becoming the dominant data format; basic familiarity is enough.
Below is a simple (non‑accurate) diagram illustrating the relationship of these components:
Conclusion
The above are my personal opinions and may be subjective; I appreciate your understanding.
Good luck with your learning journey!
Java Captain
Focused on Java technologies: SSM, the Spring ecosystem, microservices, MySQL, MyCat, clustering, distributed systems, middleware, Linux, networking, multithreading; occasionally covers DevOps tools like Jenkins, Nexus, Docker, ELK; shares practical tech insights and is dedicated to full‑stack Java development.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.