View Source on Github

Front Controller

Difficulty-Intermediate Java Presentation Tier

Intent

Introduce a common handler for all requests for a web site. This way we can encapsulate common functionality such as security, internationalization, routing and logging in a single place.

alt text

Applicability

Use the Front Controller pattern when

  • you want to encapsulate common request handling functionality in single place
  • you want to implements dynamic request handling i.e. change routing without modifying code
  • make web server configuration portable, you only need to register the handler web server specific way

Real world examples

Credits