Classic name
A pattern name from the J2EE catalog that describes the role clearly.
Many Java developers have used these patterns in practice without learning their classic names. This page gives a direct map from J2EE vocabulary into Spring-era and modern enterprise Java architecture.
Once the mapping becomes visible, the pattern catalog stops feeling historical and starts feeling practical. You can discuss coarse-grained application services, filter chains, DTO boundaries, repositories, and gateways with more precision.
Frameworks changed how these patterns are implemented, not whether they exist. Spring controllers often act within Front Controller style flows. Filters remain Intercepting Filters. Application services commonly play the role of Session Facades. Repositories or DAOs encapsulate persistence. Web clients and gateways still look like brokers or adapters.
The point of this mapping is to preserve architectural intent when the framework has already automated part of the mechanism.
A pattern name from the J2EE catalog that describes the role clearly.
The framework construct or application layer where the same concern usually appears today.
The mapping helps decide what a class or layer should own rather than merely what annotation it needs.
| Classic pattern | Typical Spring / modern equivalent | Key design concern |
|---|---|---|
| Front Controller | DispatcherServlet, API edge controller | Central entry point and shared request coordination |
| Intercepting Filter | Servlet Filter, Spring Security chain | Cross-cutting request processing |
| Service to Worker | Controller + application service + rendered response | Separate request handling from business work and rendering |
| Session Facade | Application service / use-case service | Coarse-grained orchestration boundary |
| Transfer Object | DTO / API model / projection | Data contract across boundaries |
| DAO | Repository, DAO, persistence adapter | Encapsulated data access |
| Web Service Broker | Gateway, integration client, anti-corruption adapter | Shield the core from external protocol details |
| Service Locator | Registry or legacy bean lookup | Centralized lookup, often superseded by explicit DI |
Mappings are useful when they clarify a role. They are less useful when they imply that a framework class automatically guarantees a sound design. A Spring controller can still violate Front Controller principles if it becomes a business dump.