Struts性能优化 (二)

2014-11-24 11:17:37 · 作者: · 浏览: 2
on every request.

When overriding a theme, copy all necessary templates to the theme directory. 覆盖主题时,拷贝所以模板(含父模板)
There's a performance cost when a template cannot be found in the current directory. The reason for this is that Struts 2 must check for a template in the current theme first before falling back to the parent theme. In the future, this penalty could be eliminated by implementing a missing template cache in Struts 2.

Do not create sessions unless you need them.不要创建Session,除非你需要,国际化拦截器会创建Session
Struts 2 does not create sessions unless asked to (for example, by having the createSession interceptor in your interceptor stack). Note that when you use SiteMesh however, a session will always be created (Seehttp://forums.opensymphony.com/thread.jspa messageID=5688 for details). The I18nInterceptor interceptor can create sessions, so make sure you remove it, if you don't need it.

When using Freemarker, try to use the Freemarker equivalent rather than using the JSP tags.使用模板时采用${}方式
Freemarker has support for iterating lists, displaying properties, including other templates, macro's, and so on. There is a small performance cost when using the S2 tags instead of the Freemarker equivalent (eg. should be replaced by ${foo}).