Skip to main content
Blackboard Help

Tomcat 7

Tomcat 7 Migration

In Release 9.1 SP 14, the bundled Tomcat application server has been updated to Tomcat 7 to take advantage of new improvements, such as the Web application memory leak detection and prevention. In most circumstances this change will have no impact; however, some third-party Building Blocks may require some minor changes to work with this release.

These changes relate to additional strictness in attribute parsing and reserved words in EL language, a change in tag library declaration syntax, and a recommended change to prevent regression of context startup performance.

Annotation Scanning

To ensure that startup performance is not impacted by Servlet 3.0 annotation scanning, the WEB-INF/web.xml file of all building blocks must be updated to include a metadata-complete attribute.Two options are available:

Alternatively, update to Servlet 3.0 and include the absolute-ordering element:

<web-app xmlns=""
  <absolute-ordering />

To learn more about the annotation scanning changes, see

Spaces Between Attributes

When compiling a JSP, you may receive the error 'The JSP specification requires that an attribute name is preceded by whitespace'. Attributes previously could continue with no space, for example:


For Jasper to successfully compile, spaces need to be added in any JSP that has this problem. To learn more, see Tomcat bug 49297:

Java Reserved Words in Expression Language

Expression Language tags cannot include statements that are valid Java reserved words. For example, a Bean may have a getter named getDefault(), an EL language expression would previously be able to access this with the following:


However, this violates the reserved word strictness introduced in this release. Uses of reserved words must be updated to use the method explicitly:


To learn more, see Tomcat bug 49217:

Tag Library Declarations

Tag library declarations in WEB-INF/web.xml could previously be an immediate child of the the web-app element:


Tomcat 7 no longer supports this configuration. Custom tag libraries declared in this way must be included in a jsp-config element:


To Learn More

To learn more about the potential breaking changes caused by the migration from Tomcat 6 to 7, see