以下是一些调整Struts2性能的技巧和小窍门。
1.关闭logging和devMode
2.不要使用你不需要的拦截器(interceptors)
如果一个Action不需要全栈的拦截器的话,就使用basicStack拦截器或移除不需要的拦截器。
3.使用正确的HTTP头(缓存控制和过期时间)
当返回一个html页面的时候,要保证html页面包含正确的header,使得浏览器可以知道怎样缓存该html页面。
4.当使用AJAX theme(Dojo)或日历tag时,从Struts2的jar包复制静态内容到http服务器。
因为http服务器会对这些静态文件的请求进行优化。
5.在WEB-INF/classes目录,新建一个freemarker.properties文件。
新建一个freemarker.properties文件,增加以下属性:template_update_delay=60000s。该值决定Freemarker重新加载模板文件的频率,默认为500ms。参考: Freemarker的properties文件
6.激活Freemarker模板的缓存
2.0.10版本设置struts.freemarker.templatesCache=true时,激活struts内部的Freemarker模板的缓存。该值默认为false
7.当覆盖一个theme时,copy所有重要的模板到theme目录
当template在当前目录不能发现时,会有性能开销。因为在返回父模板前,struts2必须在当前目录进行theme检查. 晚先时候,这个缺陷将要通过一个 template缓存解决。
8.在你需要的时候才创建sessions
除非需要,Struts2不会创建sessions(比如,在你的拦截器stack中有createSession拦截器)。注意当使用SiteMesh时, 一个session将总是被创建(看看http://forums.opensymphony.com/thread.jspa?messageID=5688的描述).
9.当使用FreeMarker时,尽量使用等价的FreeMarker元素,代替JSP的标签。
Freemarker支持list迭代, 显示属性,包含其他模版, macro's等等.使用等价的FreeMarker元素代替struts2的tags 会有小的性能提升。 (例如:<s:property value="foo"/>将要被${foo}代替).
参考
http://struts.apache.org/2.0.11/docs/performance-tuning.html翻译。
分享到:
相关推荐
拦截器是Struts2框架中用于处理请求前后的关键组件,但过度使用会显著拖慢性能。优化策略包括: 1. **去除不必要的拦截器**:审查`struts.xml`中的拦截器配置,移除不使用的拦截器,减少请求处理流程的复杂度。 ...
因此,开发者需要关注官方发布的安全补丁,并进行性能调优,如合理配置拦截器、避免内存泄漏等。 综上所述,"Struts2入门教材"将涵盖这些基础概念和实践技巧,帮助初学者理解并掌握Struts2框架的使用,从而能高效地...
11. **最佳实践与性能优化**:提供开发高质量Struts2应用的建议,包括代码组织、性能调优和安全注意事项。 12. **实战案例**:通过实际项目示例,展示如何从零开始构建一个完整的Struts2应用,涵盖需求分析、设计、...
17. **性能优化**:提供Struts 2性能调优的技巧,包括配置优化、缓存策略、减少HTTP请求等。 18. **测试与调试**:讲解单元测试、集成测试在Struts 2项目中的应用,以及调试工具和技巧。 19. **最佳实践**:总结...
10. **最佳实践与性能优化**:书中会介绍一些开发和部署Struts应用的最佳实践,以及如何进行性能调优,如减少不必要的请求、优化数据库操作等。 通过对《精通Struts:基于MVC的JavaWeb设计与开发》的学习,开发者...
3. 应用程序开发:介绍了如何使用Struts2来开发Web应用程序,其中涉及了许多高级特性,如AJAX、依赖注入(Dependency Injection)、性能调优(Profiling)、调试(Debugging)、开发模式配置、注解使用、插件开发、...
- **性能调优**:合理使用拦截器、减少不必要的数据库查询,优化模板渲染等。 6. **实战项目**: - **构建一个简单的Struts2应用**:从零开始,创建第一个Action,实现基本的CRUD操作。 - **整合其他技术**:如...
例如,对于XSS和CSRF等Web安全问题的防护,以及性能调优的更新。 总结起来,Struts2.1.6-Lib是一个包含了Struts2核心框架和必要依赖的集合,为开发Java Web应用提供了全面的支持。通过理解和掌握这些库的用途,...
8. **安全和性能优化**:讲解Struts 2的安全问题,如XSS、CSRF防范,以及如何进行性能调优,提升系统响应速度。 通过学习《深入浅出Struts 2》,开发者不仅可以掌握Struts 2的核心概念和技术,还能了解到如何在实际...
这个框架组合被称为“SSH”(Spring、Struts2、Hibernate)或“SSI”(Spring、Struts2、iBatis),根据实际需求,可以选择使用Hibernate作为ORM工具,或者使用更轻量级的iBatis。 1. **Spring框架**:Spring是一个...
7. **最佳实践**:学习SSH集成的最佳实践,包括配置优化、性能调优、异常处理等。 课件中可能还会包含相关的练习题和实例代码,帮助你更好地理解和掌握这些知识。如果你对SSH框架感兴趣,或者正在进行Java Web开发...
8. **最佳实践与性能优化**:分享了实际开发过程中的最佳实践,以及如何对Struts 2应用进行性能调优,提高系统效率。 通过阅读这本书,读者不仅可以掌握Struts 2的基本用法,还能了解到如何在实际项目中灵活运用这...
9. **最佳实践和性能优化**:分享开发Struts 2应用时的最佳实践,如何编写高效的代码,以及如何进行性能调优。 10. **实战案例**:书中可能会包含多个实际项目案例,帮助读者将理论知识应用于实际开发场景,提升...
这些工具可以帮助开发者提高效率,比如使用Maven或Gradle构建Struts2项目,使用Eclipse或IntelliJ IDEA的插件进行代码生成和调试,或者使用JProfiler等工具进行性能调优。 至于压缩包中的“struts.gif”,这可能是...
- **性能调优**: 结合具体的应用场景,可以通过调整配置参数等方式进一步优化性能。 - **学习资源**: Apache官网提供了丰富的文档和教程资源,初学者可以从这些资源入手快速上手。 综上所述,Struts 2.3.32版本作为...
- **性能调优**:根据实际应用需求,调整缓存策略、连接池配置等,优化系统性能。 - **安全考虑**:整合过程中需关注SQL注入、XSS攻击等问题,使用预编译SQL、过滤输入等手段加强安全性。 通过上述整合,开发者...
10. **最佳实践与性能优化**:本章可能涵盖Struts 2应用的性能调优技巧,如减少不必要的拦截器、缓存策略、避免内存泄漏等。 以上内容是基于标题和标签的推测,实际章节内容可能包含但不限于这些知识点。对于学习...
此外,书中还会涵盖测试和性能优化策略,包括单元测试Action、集成测试和性能调优技巧。良好的测试习惯和性能优化对于任何Web应用来说都至关重要。 总而言之,《Struts 2 in Action》是Java开发者学习和精通Struts ...
优化包括性能调优、减少数据库查询、合理设计缓存策略等。 通过这种整合,我们可以获得如下优势: - **松耦合**:各个组件间的依赖关系通过Spring管理,降低了耦合度。 - **更好的事务管理**:Spring提供了事务的...