Backend Development 8 min read

Which Java Technologies Are Obsolete? A 20‑Year Veteran’s Guide

Drawing on two decades of Java experience, this article evaluates outdated Java technologies—JSP, Struts, Hibernate, and others—based on real‑world development relevance, interview usefulness, and depth of understanding, and offers clear recommendations on what to skip and what to master.

macrozheng
macrozheng
macrozheng
Which Java Technologies Are Obsolete? A 20‑Year Veteran’s Guide

JSP

JSP is mainly used as the View layer in the MVC model, rendering HTML on the server side. Modern companies have largely abandoned this mixed‑mode approach in favor of full front‑end/back‑end separation, where the back end provides REST APIs and the front end (HTML5, JavaScript) consumes JSON. Consequently, learning JSP is no longer necessary.

Struts

Struts was once a solid MVC framework, but Spring MVC has become the dominant, one‑stop solution in Java development. While many legacy projects still maintain Struts, new projects start with Spring MVC. The advice is to stop learning Struts and begin with Spring MVC.

Hibernate

Hibernate is a powerful, feature‑rich ORM framework, but its extensive configuration, high learning cost, and difficult performance tuning make it cumbersome. For performance‑sensitive applications, direct SQL access is preferable. MyBatis offers a lightweight, hybrid approach that retains ORM benefits while allowing SQL fine‑tuning. Therefore, you can drop Hibernate and focus on MyBatis.

Servlet (must master)

Although no company builds a full web app solely with raw Servlets today, the Servlet API remains the foundation of Java web containers and underpins all MVC frameworks, including Spring MVC. Mastering Servlet deeply helps you understand the lifecycle, intercept requests/responses, and perform low‑level customizations. The recommendation is to learn Servlet thoroughly.

Java technology diagram
Java technology diagram

Other

In the Chinese market, many Java technologies are less relevant:

Applet : Browser plug‑in technology that is virtually dead.

Swing : Desktop UI framework; most enterprise desktop apps use C++ (MFC) or C# (WinForms/WPF) instead.

JDBC : Low‑level database API; frameworks like MyBatis hide it, so it can be deprioritized if time is limited.

XML : Still used, but JSON is replacing it for web data exchange; deep XML APIs (e.g., XPath) can be learned on demand.

Conclusion

These opinions are personal and may be subjective, but they aim to help you focus your learning on the most valuable Java backend technologies.

JavaBackend DevelopmentMyBatisServletJSPSpring MVCHibernate
macrozheng
Written by

macrozheng

Dedicated to Java tech sharing and dissecting top open-source projects. Topics include Spring Boot, Spring Cloud, Docker, Kubernetes and more. Author’s GitHub project “mall” has 50K+ stars.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.