`
hongyiqiye
  • 浏览: 90210 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2 性能问题

阅读更多
以下是一些调整Struts2性能的技巧和小窍门。

1.关闭logging和devMode

2.不要使用你不需要的拦截器(interceptors) 如果一个Action不需要全栈的拦截器的话,就使用basicStack拦截器或移除不需要的拦截器。

3.使用正确的HTTP头(缓存控制和过期时间) 当返回一个html页面的时候,要保证html页面包含正确的header,使得浏览器可以知道怎样缓存竧ml页面。

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/thre...geID=5688的描述).

9.当使用FreeMarker时,尽量使用等价的FreeMarker元素,代替JSP的标签。 Freemarker支持list迭代, 显示属性,包含其他模版, macro's等等.使用等价的FreeMarker元素代替struts2的tags 会有小的性能提升。 (例如:将要被${foo}代替).
分享到:
评论

相关推荐

    struts2项目性能调优三步曲.txt

    Struts2在默认情况下开启的日志记录和开发模式虽然有助于调试和开发阶段的问题定位,但在生产环境中会显著增加系统负载,降低性能。因此,第一步是调整配置,关闭这些功能: 1. **关闭日志记录**:不仅应关闭整个...

    struts2项目开发

    Struts2 项目开发 Struts2 是一个基于 Java Web 的框架,广泛应用于 Web 应用程序的开发。下面将从 Struts2 项目开发的角度,详细介绍 Struts2 框架的应用、开发流程、技术架构、实践经验等方面的知识点。 项目...

    Struts2 Struts2 超好的Struts2 pdf 文档

    3. **拦截器(Interceptors)**:拦截器是Struts2的一大特色,它们按照预定义的顺序在Action调用前后执行,可以实现如日志记录、权限验证、性能监控等功能。常见的拦截器有`params`(处理请求参数)、`validation`...

    struts2的各种jar包

    10. **插件系统**:Struts2的插件机制使得扩展和定制变得容易,比如Spring插件可以实现依赖注入,i18n插件处理国际化问题。 11. **开发工具集成**:Eclipse、IntelliJ IDEA等IDE都有Struts2的插件,可以帮助开发者...

    Struts 2实战 struts2 in Action

    《Struts 2实战 Struts2 in Action》这本书不仅介绍了Struts 2的基本概念和技术细节,更重要的是,它通过丰富的实战案例帮助读者深入理解框架的工作原理,并掌握了如何高效地利用Struts 2来解决实际问题。...

    Struts2实战

    5. Struts2框架的优化:在使用Struts2框架进行Web开发的过程中,开发者需要注意一些性能优化的问题。例如,可以通过合理的配置Action缓存,减少Action的创建和销毁,提高系统的性能。同时,也可以通过合理的配置结果...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    struts2全部的jar包

    使用Struts2的全部JAR包时,要注意避免版本不兼容问题,确保所有库的版本一致。同时,正确配置web.xml文件,指定Struts2的过滤器。 9. **最佳实践**: - 为了代码整洁,推荐使用注解配置而非XML。 - 使用Maven或...

    struts2验证框架

    3. 高效性:Struts2 验证框架提供了高效的验证机制,可以快速地对用户输入的数据进行验证,从而提高应用程序的性能。 Struts2 验证框架的应用 Struts2 验证框架广泛应用于各种基于 Java 的 Web 应用程序,包括: ...

    Struts2主要Lib

    在"struts2lib"这个压缩包中,可能包含的文件有`struts2-core.jar`(核心库)、`xwork-core.jar`(XWork框架,是Struts2的基础)、`ognl.jar`(OGNL库)、`struts2-convention-plugin.jar`(约定优于配置插件)、`...

    尚硅谷_佟刚_Struts2

    由Apache软件基金会维护,它是Struts1的升级版,提供了更先进的特性和更好的性能。尚硅谷_佟刚_Struts2的讲解课件是针对这个框架的一份详细教程,旨在帮助学习者理解和掌握Struts2的核心概念和实际应用。 在Struts2...

    Struts2与Struts1区别

    相比之下,Struts2 为每个请求创建一个新的 Action 实例,避免了线程安全问题。 3. **对 Servlet API 的依赖**: - Struts1 的 Action 直接依赖于 Servlet API,请求和响应对象会传入 execute 方法。而 Struts2 ...

    Struts2升级到2.5.30,问题解决及过程记录

    在本文中,我们将探讨将Struts2从旧版本升级到2.5.30的过程中可能遇到的问题及其解决方案。 升级Struts2到2.5.30的主要目标是利用新版本提供的增强功能和安全补丁。Struts2的每个新版本通常会包含对前一版本的兼容...

    struts2核心文件

    2. **Interceptor(拦截器)**: 拦截器是Struts2的一个重要特性,它们在Action调用前后执行,可以实现如日志记录、事务管理、性能监控等功能。例如,`ValidationInterceptor`用于验证表单数据,`...

    Struts2全部jar包

    3. **拦截器(Interceptors)**:拦截器是Struts2的一大特色,它们在Action调用前后执行,提供如日志、事务管理、性能监控等功能。常见的拦截器有`params`(处理请求参数)、`validation`(表单验证)、`exception`...

    struts2-src

    深入研究Struts2源码,开发者可以更清楚地理解框架的工作原理,从而优化应用性能,解决实际问题,甚至为框架贡献代码。通过分析源码,我们可以学习到如何设计一个高性能、可扩展的MVC框架,这对提升Java Web开发技能...

    struts2测试工具

    同时,考虑到Struts2的安全性问题,如著名的Struts2 OGNL注入漏洞,测试工具也可能包含安全相关的检查。 总的来说,Struts2测试工具对于开发者来说是提高开发效率和保障应用质量的重要辅助手段。无论这个"鬼哥...

    struts2所用到的jar包

    4. **拦截器**:Struts2的拦截器机制允许在Action执行前后插入自定义逻辑,例如验证、日志、性能监控等。开发者可以通过在配置文件中声明拦截器链来实现这些功能。 5. **Ognl(Object-Graph Navigation Language)*...

    Struts1和Struts2区别

    - **Struts2**:通过拦截器和更优化的设计,性能通常优于Struts1。 总结起来,Struts2在设计和功能上都比Struts1有所改进,提供了更好的灵活性、可扩展性和易用性。然而,这并不意味着Struts1没有它的价值,对于...

    struts2相关书籍

    它可能还会讲解如何调试Struts2应用,优化性能,以及安全问题,比如XSS和CSRF防护。 《Struts+2.pdf》: 书名中的"+"可能表示该书涵盖了Struts2的最新版本或与其他技术(如Spring、Hibernate)的结合。这可能涉及到...

Global site tag (gtag.js) - Google Analytics