From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

SiteMesh is a Java web application development framework originally developed by now-defunct open source project OpenSymphony. The code is now hosted on GitHub[1] however there have been no changes to the since 2015.

According to the SiteMesh Wiki, Sitemesh:

  • Is a web-page layout and decoration framework and web- application integration framework to aid in creating sites consisting of pages for which a consistent look/feel, navigation and layout scheme is required
  • Intercepts requests to any static or dynamically generated HTML page requested through the web-server, processes the content and then merges it with one or more decorators to build the final result.
  • Can be used in Java based web-applications, or applied to content as an offline job


SiteMesh version 3 uses the Apache Software License.[2]

SiteMesh version 2 uses the OpenSymphony Software License which is modified from, and fully compatible with the Apache Software License.

How it works[edit]

SiteMesh acts as Servlet Filter that intercepts the HTML being returned to the web browser, extracting the relevant content and merging it into a template known as the decorator. The filter places the content of any html, jsp, or other web framework page into a pre-defined template called a decorator.[3]


SiteMesh was originally developed in 1999 by Joe Walnes. At the time it used Servlet Chains, a feature not part of the standard Servlet specification but supported by some Servlet containers such as Orion Application Server.

In 2000, the first public review of version 2.3 of the Servlet Specification was released, which contained the addition of Servlet Filters. These provided a standardized alternatives to Servlet Chains and SiteMesh was adapted to make use of these instead.

Shortly after this, the decision was made to release SiteMesh as open source software. Joe Walnes and Mike Cannon-Brookes formed the OpenSymphony project to provide a source of Java EE components - the first two consisting of SiteMesh and OSCache.

At this time, SiteMesh had a very small set of users, many of whom got involved in the development of the project. Not long after SiteMesh was originally open sourced, Victor Salaman rewrote the internal HTML parser to produce a 1200% performance increase.

As of June 2011, OpenSymphony shut down as a project.[4] SiteMesh lived on at its own site until June 2012, when documentation was moved to a Confluence (software) wiki.[5] The code was maintained on the GitHub repository until 2015.


  1. ^ Murphy, Scott. "SiteMesh 3: Official repository". GitHub. Retrieved 23 March 2017. CS1 maint: discouraged parameter (link)
  2. ^ Walnes, Joe. "What's New in SiteMesh 3?". Sitemesh Wiki. Retrieved 23 March 2017. CS1 maint: discouraged parameter (link)
  3. ^ Walnes, Joe. "Getting Started with SiteMesh 3". Sitemesh Wiki.
  4. ^ OpenSymphony. "Looking for an OpenSymphony project?". OpenSymphony - WayBack Machine. Archived from the original on 2011-06-03. CS1 maint: discouraged parameter (link)
  5. ^ "Sitemesh Website". Sitemesh - Wayback Machine. Archived from the original on 2012-06-18. CS1 maint: discouraged parameter (link) CS1 maint: bot: original URL status unknown (link)

External links[edit]